fnmatch: don't goto over declaration
[gnulib.git] / ChangeLog
1 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
2
3         fnmatch: don't goto over declaration
4         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
5         undefined behavior for goto over a declaration.
6         Problem reported by Charlie Brown in
7         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00009.html>.
8
9         pipe2: decouple from binary-io a bit
10         This is for Emacs, which needs pipe2 but not binary-io.
11         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
12         * modules/binary-io (Depends-on): Add module indicator.
13
14 2013-07-03  Eric Blake  <eblake@redhat.com>
15
16         mgetgroups: relax license to LGPLv2+
17         * modules/getugroups (License): Change from GPLv3+.
18         * modules/mgetgroups (License): Likewise.
19         * modules/getgroups (License): Change from LGPLv3+.
20
21         xalloc-oversized: relax license to LGPLv2+
22         * modules/xalloc-oversized (License): Change from GPLv3+.
23
24         nproc: relax license to LGPLv2+
25         * modules/nproc (License): Change from LGPLv3+.
26
27         bootstrap: honor --no-git
28         * build-aux/bootstrap: Don't even try to use git when user is
29         pointing to a static checkout.
30
31 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
32
33         ignore-value: port to gcc -pedantic
34         * lib/ignore-value.h (ignore_value):
35         Port to gcc -pedantic, by using __extension__.
36         Reindent as per usual gnulib style nowadays.
37         Simplify GCC version check.
38
39 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
40
41         extern-inline: port to gcc -std=c89
42         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
43         Do not use __gnu_inline__ if pedantic and pre-C99.
44
45 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
46
47         doc: document extern-inline
48         * doc/extern-inline.texi: New file.
49         * doc/gnulib.texi (alloca-opt): Include it.
50         * m4/extern-inline.m4: Move some comments to documentation,
51         and others closer to what they describe.
52
53         doc: chatter less
54         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
55         (updated-stamp): Use it.  This causes 'make' to output just
56         one file name rather than zillions.
57
58         fflush, fseeko: port to musl cross-compiles
59         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
60         on some implementation that (1) is not known to be buggy,
61         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
62         cross-compiled to so we can't easily check for lack of
63         conformance.  This is for cross-compiling to musl.
64         Reported by Rich Felker in
65         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00043.html>.
66         * m4/fclose.m4 (gl_FUNC_FCLOSE):
67         * m4/fflush.m4 (gl_FUNC_FFLUSH):
68         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
69         Adjust to above change.
70         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
71         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
72         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
73         known not to work, or unknown.
74
75 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
76
77         msvc-inval: port to mingw-w64
78         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
79         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
80         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00039.html>.
81
82 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
83
84         getcwd-lgpl: port to Tru64
85         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
86         Problem reported by Steven M. Schweda in
87         <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00010.html>.
88
89         tests: port large-fd POSIX spawn tests to OS X
90         Problem reported by Daiki Ueno in
91         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00031.html>.
92         * tests/test-posix_spawn_file_actions_addclose.c:
93         * tests/test-posix_spawn_file_actions_adddup2.c:
94         * tests/test-posix_spawn_file_actions_addopen.c:
95         Include <limits.h>, for OPEN_MAX, if available.
96         (big_fd): New static function.
97         (main): Use it.
98
99 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
100
101         tests/nap.h: use an adaptive delay to avoid ctime update issues
102         The recent change in nap.h (5191133e) decreased the probability of lost
103         races to about a third, however such problems could still be observed
104         in virtual machines and openSUSE's OBS.
105         Before, nap() detected the needed time once empirically and then used
106         that delay (together with a small correction multiplier) in further
107         calls.  This problem has been reported and discussed several times,
108         including guesses about possible kernel issues:
109         https://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html
110         http://lists.gnu.org/archive/html/coreutils/2012-03/msg00088.html
111         https://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00226.html
112         http://bugs.gnu.org/12820
113         https://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html
114         https://lists.gnu.org/archive/html/bug-gnulib/2009-11/msg00007.html
115         Now, nap() avoids the race alltogether by verifying on a reference
116         file whether a timestamp difference has happened.
117         * tests/nap.h (nap_fd): Define file descriptor variable for the
118         witness file.
119         (nap_works): Change return value to bool.  Change passing
120         the old file's status by value instead of by reference as this function
121         does no longer update that timestamp; rename the function argument from
122         st to old_st.  Remove the local variables cdiff and mdiff because that
123         function now returns true/false instead of the precise delay.
124         (guess_delay): Remove function.
125         (clear_tmp_file): Add new function to close and unlink the witness file.
126         (nap): Instead of re-using the delay which has been calculated during
127         the first call, avoid the race by actually verifying that a timestamp
128         difference can be observed on the current file system.  Use an adaptive
129         approach for the delay to minimize execution time.  Assert that the
130         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
131         = 2^31 - 1 = 2.1s.
132         Use atexit to call clear_tmp_file when the process terminates.
133
134 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
135
136         sig2str: port to C++
137         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
138         Reported by Daniel J Sebald in
139         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00000.html>.
140
141 2013-05-30  Eric Blake  <eblake@redhat.com>
142
143         docs: mention cygwin shortcoming in <sys/un.h>
144         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
145
146         vasnprintf: silence mingw compiler warning
147         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
148
149 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
150
151         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
152         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
153         This fixes a porting bug I recently reintroduced in regex, and
154         some other instances that I discovered while testing the fix.
155         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
156         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
157         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
158         with an empty argument if this is a pedantic pre-C99 GCC.
159         * lib/verify.h: Do not use _Static_assert if this is a pedantic
160         pre-C11 GCC.
161
162         regex: adapt to locking regime instead of depending on pthread
163         Instead of depending on pthread, adapt to whatever thread
164         modules are in use.  Problem reported by Ludovic Courtès in
165         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00082.html>
166         and by Mats Erik Andersson in
167         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00100.html>.
168         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
169         Support either the 'lock' module, or the 'pthread' module, or
170         no module.
171         (lock_lock, lock_unlock): New macros.
172         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
173         * modules/lock, modules/pthread (configure.ac): Add module indicator.
174         * modules/regex (Depends-on): Remove pthread.
175
176 2013-05-22  Eric Blake  <eblake@redhat.com>
177
178         getgroups: document portability issues
179         * doc/glibc-functions/initgroups.texi (initgroups): Mention
180         multithread safety.
181         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
182         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
183         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
184         getugroups.
185         * doc/posix-functions/getgroups.texi (getgroups): Mention
186         multithread safety and mgetgroups.
187
188 2013-05-22  Bernhard Voelker <mail@bernhard-voelker.de>
189
190         test-lchown, test-chown: also skip test if chown fails with EPERM
191         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
192         skip this test, to handle FAT file systems.
193         * tests/test-chown.h (test_chown): Likewise.
194
195 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
196
197         regex: fix dfa race in multithreaded uses
198         Problem reported by Ludovic Courtès in
199         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00058.html>.
200         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
201         New macros.  All uses of __libc_lock_define, __libc_lock_init
202         changed to use the first two of these.
203         (__libc_lock_lock, __libc_lock_unlock): New macros, for
204         non-glibc platforms.
205         (struct re_dfa_t): Define the lock unconditionally.
206         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
207         '#ifdef _LIBC"s.
208         * modules/regex (Depends-on): Add pthread, if we use the
209         included regex.
210
211         * lib/regcomp.c: Do actions that are not needed for glibc,
212         but may be needed elsewhere.
213         (regfree, re_compile_internal): Destroy the lock.
214         (re_compile_internal): Check for lock-initialization failure.
215
216         malloca: port to compilers that reject size-zero arrays
217         This fixes a bug introduced in my previous patch.
218         * lib/malloca.c (struct preliminary_header): Use an int
219         rather than a character array of size int; that's simpler.
220         (struct header): Remove, replacing with ...
221         (union header): New type.  This avoids the need for declaring a
222         character array of size zero, which is not allowed on some platforms.
223         All uses changed.
224
225 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
226
227         parse-datetime, tests: don't use "string" + int
228         Recent versions of 'clang' complain about C source code that
229         uses expressions of the form '"string literal" + integer',
230         I guess on the theory that it's confusing for readers who are
231         used to C++.  On those grounds I suppose it's OK to make this
232         minor style change.
233         * lib/parse-datetime.y (parse_datetime):
234         * tests/test-fchdir.c (main):
235         * tests/test-snprintf-posix.h (test_function):
236         * tests/test-snprintf.c (main):
237         * tests/test-vasnprintf-posix.c (test_function):
238         * tests/test-vasnprintf.c (test_function):
239         * tests/test-vsnprintf.c (main):
240         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
241         Rewrite '"str" + E' to '&"str"[E]'.
242
243 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
244
245         argmatch: port to C++
246         * lib/argmatch.h [__cplusplus]: Add extern "C".
247
248         argp: typo fix
249         * lib/argp-help.c: Typo in comment.
250
251 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
252
253         manywarnings: update for GCC 4.8.0
254         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
255         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
256         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
257         -Wmissing-noreturn, as they are duplicates of other warnings.
258         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
259         was documented to be flaky in earlier versions of GCC.
260
261         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
262         * tests/test-spawn.c (main):
263         * tests/test-sys_socket.c (main):
264         * tests/test-sys_wait.c (main):
265         Don't have a switch value that isn't covered by a case.
266
267         getaddrinfo-tests: port --enable-gcc-warnings to clang
268         * tests/test-getaddrinfo.c (simple):
269         Avoid casts from looser to stricter-aligned pointers.
270
271         thread: port --enable-gcc-warnings to clang
272         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
273         Include <signal.h>, to pacify a warning about pthread_sigmask.
274
275         stdio: use __REDIRECT for fwrite, fwrite_unlocked
276         * lib/stdio.in.h (fwrite):
277         When working around bug 11959, use __REDIRECT rather than '#define
278         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
279         fix the -Wunused-value issue with clang, and it works with GCC too.
280         Problem with targeting reported by Eric Blake in
281         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00067.html>.
282         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
283         debugging the fwrite issue.
284
285         stdio: port --enable-gcc-warnings to clang
286         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
287         since the GCC workaround for fwrite does not pacify clang.
288
289         sig2str: port --enable-gcc-warnings to clang
290         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
291
292         obstack: port --enable-gcc-warnings to clang
293         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
294         Avoid casts from looser to stricter-aligned pointers.
295
296         memchr2: port --enable-gcc-warnings to clang
297         * lib/memchr2.c (memchr2):
298         Avoid casts from looser to stricter-aligned pointers.
299
300         mbsstr: port --enable-gcc-warnings to clang
301         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
302         Avoid casts from looser to stricter-aligned pointers.
303
304         malloca: port --enable-gcc-warnings to clang
305         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
306         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
307
308         inttostr: port --enable-gcc-warnings to clang
309         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
310
311         warnings: port to clang
312         Problem reported by Daniel P. Berrange via Eric Blake in
313         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00055.html>.
314         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
315         (gl_WARN_ADD): Use it.
316
317 2013-05-11  Jim Meyering  <meyering@fb.com>
318
319         quotearg: do not read beyond end of buffer
320         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
321         end of an ARG for which no length was specified.  With an N-byte
322         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
323         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
324         via coreutils' misc/sort-debug-keys.sh test and detected by running
325         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
326         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
327         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
328         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
329         characters correctly."
330
331 2013-05-11  Daiki Ueno  <ueno@gnu.org>
332
333         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
334         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
335         compilation target is Mac OS X 10.6.
336         Problem reported by parafin and Andoni Morales in
337         <http://savannah.gnu.org/bugs/?37844> and
338         <http://lists.gnu.org/archive/html/bug-gettext/2013-05/msg00007.html>.
339
340 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
341
342         mkdir-p: remove assumptions about umask and mode
343         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
344         umask is 0, or that MODE is a subset of MODE_BITS.
345
346 2013-05-10  Eric Blake  <eblake@redhat.com>
347
348         maint.mk: catch more abuse of HAVE_DECL in syntax-check
349         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
350
351 2012-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
352
353         deps: require Automake >= 1.9.6 in generated Makefile fragments
354
355         That is the same minimal version required in the DEPENDENCIES file.
356         Moreover, the old code generated a requirement of Automake >= 1.5,
357         and that is an insanely outdated version.
358
359         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
360         * tests/havelib/rpathlx/Makefile.am: Likewise.
361         * tests/havelib/rpathly/Makefile.am: Likewise.
362         * tests/havelib/rpathlyx/Makefile.am: Likewise.
363         * tests/havelib/rpathlz/Makefile.am: Likewise.
364         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
365         * tests/havelib/rpathx/Makefile.am: Likewise.
366         * tests/havelib/rpathy/Makefile.am: Likewise.
367         * tests/havelib/rpathz/Makefile.am: Likewise.
368
369 2013-05-08  Eric Blake  <eblake@redhat.com>
370
371         bootstrap: AC_INIT may have more than four parameters
372         * build-aux/bootstrap (extract_package_name): Correctly extract
373         non-empty tarname field.  Avoid range in regex.
374         Based on a report by Sami Kerola <kerolasa@iki.fi>.
375
376 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
377
378         qacl: port to MS-Windows port of GNU Emacs
379         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
380         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
381         port of GNU Emacs.  Problem reported by Eli Zaretskii in
382         <http://bugs.gnu.org/14295#14>.
383
384 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
385
386         acl: include quote.h
387         * lib/copy-acl.c: Include quote.h.
388         * lib/set-acl.c: Likewise.
389
390 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
391
392         fchownat, renameat, unlinkat: update statat dependencies
393         These modules use statat and lstatat, not fstatat; so depend on
394         the statat module, which was split out recently from fstatat.
395         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
396         * modules/renameat: Likewise.  Also delete fstat.
397         URL: http://bugs.gentoo.org/468790
398
399 2012-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
400
401         Assume gnulib is checked out from Git, not CVS
402
403         In fact, access to the gnulib repository through CVS has been
404         disabled, or more precisely, got broken and was never restored; see:
405         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>
406
407         Note that support for CVS is not removed completely and unthinkingly
408         by this change: only support for CVS checkouts of gnulib itself is
409         removed.  For example, the 'bootstrap' script still cater to .cvsingore
410         files and CVS directories, for the benefit of those poor gnulib clients
411         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
412
413         * gnulib-tool: Simplify accordingly.
414         * posix-modules: Likewise.
415         * MODULES.html.sh: Likewise.
416         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
417         repository.
418         * doc/gnulib-intro.texi: Likewise.
419         * doc/gnulib-readme.texi: Likewise.
420         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
421         sample '.gitignore' file rather than a sample '.cvsignore'.
422         * NEWS: Update.
423         * m4/extensions.m4: While at it, remove a comment mistakenly referring
424         to "CVS Autoconf" rather than "git Autoconf".
425
426 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
427
428         utimensat-tests, etc.: try to fix some races
429         Problem reported by Bernhard Voelker in
430         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>.
431         I don't know whether this patch fixes that race condition, but it
432         fixes *some* race conditions, so it should be a win.
433         * modules/chown-tests (Depends-on):
434         * modules/fchownat-tests (Depends-on):
435         * modules/fdutimensat-tests (Depends-on):
436         * modules/futimens-tests (Depends-on):
437         * modules/lchown-tests (Depends-on):
438         * modules/stat-time-tests (Depends-on):
439         * modules/utimens-tests (Depends-on):
440         * modules/utimensat-tests (Depends-on):
441         Depend on nanosleep, not usleep.
442         * modules/chown-tests (test_chown_LDADD):
443         * modules/lchown-tests (test_lchown_LDADD):
444         * modules/stat-time-tests (test_stat_time_LDADD):
445         New macro.
446         * modules/fchownat-tests (test_fchownat_LDADD):
447         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
448         * modules/futimens-tests (test_futimens_LDADD):
449         * modules/utimens-tests (test_utimens_LDADD):
450         * modules/utimensat-tests (test_utimensat_LDADD):
451         Add $(LIB_NANOSLEEP).
452         * modules/stat-time-tests (Files): Add tests/nap.h.
453         * tests/nap.h: Include <limits.h>, for INT_MAX.
454         (lt_mtime): Remove.
455         (diff_timespec): New function.
456         (get_stat): Rename from get_mtime.  All callers changed.
457         (nap_works): Determine the needed delay by inspecting the
458         file system's timestamp jumps; this should be more reliable.
459         Look at both mtime and ctime, and take the maximum of the two jumps.
460         (nap_works, guess_delay):
461         Return a nanosecond cound, not a microsecond count.
462         All callers changed.
463         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
464         failure.
465         (nap): Multiply the guess by 1.125, to accommodate the case where
466         the file system's clock is a bit slower than nanosleep's clock.
467         * tests/test-stat-time.c (BASE): New macro.
468         Include nap.h.
469         (nap): Remove; nap.h now defines this.  This removes a duplicate
470         implementation of 'nap'.
471
472         utimens, utimensat: work around Solaris UTIME_OMIT bug
473         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
474         Linux kernel 2.6.32 does.  Work around it in the same way.
475         * doc/posix-functions/futimens.texi (futimens):
476         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
477         * lib/utimens.c (fdutimens, lutimens):
478         * lib/utimensat.c (rpl_utimensat): Work around the bug.
479
480         gettext: now it's your responsibility to add -I$(top_builddir)/intl
481         Formerly, it was your responsibility to do this for all Makefile.ams
482         other than Gnulib's.  Now it's your responsibility to do it for
483         Gnulib's Makefile.am, too.
484         * NEWS: Document this.
485         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
486
487         acl: include errno.h to get errno
488         Reported by Daiki Ueno in
489         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00073.html>.
490         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
491
492 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
493
494         tests: don't assume getdtablesize () <= 10000000
495         * modules/cloexec-tests:
496         * modules/dup2-tests:
497         * modules/dup3-tests:
498         * modules/nonblocking-tests:
499         * modules/posix_spawn_file_actions_addclose-tests:
500         * modules/posix_spawn_file_actions_adddup2-tests:
501         * modules/posix_spawn_file_actions_addopen-tests:
502         * modules/unistd-safer-tests:
503         Depend on the getdtablesize module.
504         * tests/test-cloexec.c:
505         * tests/test-dup-safer.c:
506         * tests/test-dup2.c:
507         * tests/test-dup3.c:
508         * tests/test-fcntl.c:
509         * tests/test-nonblocking.c:
510         * tests/test-posix_spawn_file_actions_addclose.c:
511         * tests/test-posix_spawn_file_actions_adddup2.c:
512         * tests/test-posix_spawn_file_actions_addopen.c:
513         Don't assume getdtablesize () <= 10000000.
514
515 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
516
517         extern-inline: work around bug in Sun c99
518         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
519         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
520
521 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
522
523         qacl: new module, broken out from the acl module
524         This is for GNU Emacs, which wants the acl functions but does
525         not want 'error' invoked when they fail.
526         * lib/acl-internal.h: Do not include error.h, quote.h.
527         (ENOSYS, ENOTSUP): Remove; no longer needed.
528         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
529         * lib/acl.h: Include <stdbool.h>.
530         (acl_errno_valid): New function.
531         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
532         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
533         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
534         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
535         (ACL_INTERNAL_INLINE): Remove; no longer needed.
536         * lib/file-has-acl.c (file_has_acl):
537         * lib/qcopy-acl.c (qcopy_acl):
538         * lib/qset-acl.c (qset_acl):
539         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
540         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
541         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
542         lib/file-has-acl.c, m4/acl.m4 to qacl module.
543         Add lib/set-acl.c.
544         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
545         Add qacl.
546         (configure.ac): Move gl_FUNC_ACL to qacl module.
547         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
548         Rename set-mode-acl.c to set-acl.c.
549         * lib/acl-errno-valid.c: New file.
550         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
551         copy_acl function remains in copy-acl.c.
552         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
553         (_): Remove; not needed.
554         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
555         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
556         * modules/qacl: New file, moved from the old modules/acl.
557         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
558         Remove set-mode-acl.c, copy-acl.c.
559         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
560
561         alignof, intprops, malloca: port better to IBM's C compiler
562         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
563         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
564         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
565
566 2013-04-25  Daiki Ueno  <ueno@gnu.org>
567
568         wctype-h: fix gettext link error on mingw
569         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
570         <https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
571         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
572         rpl_towupper and rpl_towupper.
573
574 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
575
576         regex-tests, regex: allow glibc re_search behavior
577         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
578         re_search input data to make the multi-character collating element
579         in it clearly visible, and treat re_search return code 0 as valid.
580         * m4/regex.m4 (gl_REGEX): Likewise.
581
582 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
583
584         stdalign: doc fix
585         * doc/posix-headers/stdalign.texi (stdalign.h):
586         Gnulib doesn't support '_Alignof expr'.
587
588 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
589
590         stdalign: port to stricter ISO C11
591         ISO C11 says that _Alignof's operand must be a parenthesized type.
592         Problem reported by Eli Zaretskii in
593         <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
594         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
595         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
596
597 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
598
599         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
600         Problem reported by Marco Atzeri in
601         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
602         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
603         Simply delegate to the system <sys/select.h> in this case too.
604         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
605         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
606         be needed on Solaris either.
607         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
608         Simply delgate to the system <sys/time.h> in this case.
609
610 2013-03-19  Karl Berry  <karl@gnu.org>
611
612         * build-aux/gnupload: check for erroneous (with gnupload) use of
613         ftp-upload.gnu.org, tweak help.
614
615 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
616
617         copy-file, rpmatch: fix problems found by cppcheck
618         Reported by Arno Onken in
619         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
620         * lib/rpmatch.c (try): Fix memory leak.
621         * lib/copy-file.c: Include "ignore-value.h".
622         (qcopy_file_preserving): Ignore chown value.
623         * modules/copy-file (Depends-on): Add ignore-value.
624
625 2013-01-27  Jim Meyering  <jim@meyering.net>
626
627         prefix-gnulib-mk: give better diagnostics
628         * build-aux/prefix-gnulib-mk: Don't just "die".
629         Give better diagnostics upon failure.
630
631 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
632
633         putenv: port to Solaris 10
634         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
635         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
636         is not what is wanted here.
637         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
638         declaration, not for its existence.
639
640 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
641
642         mktime: fix configure typo
643         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
644
645 2013-03-12  Eric Blake  <eblake@redhat.com>
646
647         regex-tests: skip UTF-8 test on mingw
648         * modules/regex-tests (Depends-on): Add localcharset.
649         * tests/test-regex.c (main): Use it to skip test on mingw.
650
651 2013-03-11  Eric Blake  <eblake@redhat.com>
652
653         tests: make it easier to bypass alarm time in debugger
654         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
655         * tests/test-memmem.c (main): Likewise.
656         * tests/test-passfd.c (main): Likewise.
657         * tests/test-ptsname.c (main): Likewise.
658         * tests/test-ptsname_r.c (main): Likewise.
659         * tests/test-strcasestr.c (main): Likewise.
660         * tests/test-strstr.c (main): Likewise.
661
662         regex: port to mingw's recent addition of undeclared alarm
663         * doc/posix-functions/alarm.texi (alarm): Document that alarm
664         exists but still doesn't work in newer mingw.
665         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
666         not existence.  Ensure SIGALRM is not trapped.
667         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
668         * m4/regex.m4 (gl_REGEX): Likewise.
669         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
670         * tests/test-regex.c (main): Use correct probe for alarm.
671
672         putenv: avoid compilation warning on mingw
673         * lib/putenv.c (_unsetenv): Protect variable declaration.
674         (putenv): Fix indentation.
675
676 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
677
678         unistd: don't prevent Tru64 Unix from using gnulib strtod.
679         * lib/unistd.in.h: be careful not to include un-needed system
680         stdlib.h from here, because that prevents gnulib stdlib.h from
681         defining rpl_strtod correctly.
682
683 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
684
685         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
686         changesets, but for the 'precision 0' test.
687         * tests/test-vasprintf-posix.c (test_function): Don't insist on
688         round-to-even, since POSIX says rounding is implementation-defined
689         and OS X 10.8.2 rounds 1.51 to 1 here.
690
691         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
692         changeset.
693         * tests/test-vasprintf-posix.c (test_function): Don't insist on
694         round-to-even, since POSIX says rounding is implementation-defined
695         and OS X 10.8.2 rounds 1.5 to 1 here.
696
697 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
698
699         vasnprintf-posix-tests: allow rounding 1.5 to 1
700         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
701         round-to-even, since POSIX says rounding is implementation-defined
702         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
703         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
704
705         bootstrap: port to FreeBSD
706         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
707         that treat '--' differently.  Reported by Mats Erik Andersson in
708         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
709
710 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
711
712         regex: rename remaining __attribute calls to __attribute__.
713         2012-02-25 changed definition of __attribute, but left some uses
714         unchanged, preventing compilation of regex module on most non-gcc
715         environments.
716         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
717         (lookup_collation_sequence_value, build_range_exp)
718         (build_collating_symbol): Set attributes with newly renamed
719         __attribute__ decorator.
720         * lib/regex_internal.c (re_string_peek_byte_case)
721         (re_node_set_compare, re_node_set_contains): Likewise.
722         * lib/regexec.c (acquire_init_state_context): Likewise.
723
724 2013-03-06  Bruno Haible  <bruno@clisp.org>
725
726         execute: Revert last change, but use a different condition.
727         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
728         on Windows.
729
730 2013-03-05  Eric Blake  <eblake@redhat.com>
731
732         execute: drop dead code
733         * lib/execute.c (nonintr_close, nonintr_open): Delete.
734
735 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
736
737         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
738         * m4/non-recursive-gnulib-prefix-hack.m4
739         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
740         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
741         <http://bugs.gnu.org/10305#237>.
742
743 2013-03-04  Eric Blake  <eblake@redhat.com>
744
745         test-getsockopt: avoid compiler warning
746         * tests/test-getsockopt.c (includes): Ensure close is declared.
747
748 2013-03-02  Bruno Haible  <bruno@clisp.org>
749
750         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
751         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
752
753 2013-03-02  Bruno Haible  <bruno@clisp.org>
754
755         gettext: Update to version 0.18.2.
756         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
757         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
758                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
759
760 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
761
762         regex: merge patches from libc
763
764         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
765         * lib/regex_internal.h (__attribute__): Rename from __attribute.
766         All uses changed.
767         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
768         (re_string_wchar_at, re_string_elem_size_at):
769         Mark function as possibly unused.
770
771         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
772         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
773         elements compare against the byte sequence of it, not its name.
774
775 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
776
777         putenv: port better to native Windows
778         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
779         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
780         (_unsetenv): Use _putenv if available.
781         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
782         a bit less likely to cause damage.
783         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
784         Fix the wrong value with SetEnvironmentVariable.
785         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
786         code better.
787
788 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
789
790         regex: ignore old-style-definition warnings
791         * lib/regex.c: Add pragma to ignore these warnings.
792         Problem reported for GNU tar by Pavel Raiskup.
793
794 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
795
796         getcwd: support coreutils better
797         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
798         but this might not be correct in coreutils, which disables
799         the raw decl checks.  Problem reported by Nagendra in
800         <http://bugs.gnu.org/10305#192>.
801         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
802         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
803         Test the getcwd function, not any macro, since getcwd.c wants the
804         function.
805         * m4/getcwd.m4 (gl_FUNC_GETCWD):
806         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
807         compile, as might happen if there's a macro but no function.
808
809         strtod: support coreutils better
810         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
811         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
812         disables the raw decl checks.  This assumes there is an underlying
813         strtod, but that's a safe assumption these days.
814         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
815
816         mountlist: port to HP NonStop
817         Reported by Joachim Schmitz in
818         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
819         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
820         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
821
822 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
823
824         extern-inline: avoid compilation error with HP-UX cc
825         Reported by Richard Lloyd in
826         <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
827         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
828         Suppress extern inline with HP-UX cc.  This should be safe,
829         though it may hurt performance.  Perhaps someone with some HP-UX
830         experience can come up with a higher-performance fix.
831
832 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
833
834         putenv: fix heap corruption with mixed putenv/_putenv
835         Problem reported by Michael Goffioul in
836         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
837         * lib/putenv.c (putenv) [HAVE__PUTENV]:
838         Rely on _putenv to allocate the new environment.
839         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
840         * modules/putenv (configure.ac): Use it.
841
842 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
843
844         unsetenv etc.: port to Solaris 11 + GNU Emacs
845         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
846         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
847         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
848         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
849         idea but is too painful to fix right now), and without this gnulib
850         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
851         compiling unsetenv.c on Solaris 11.  Fix the problem for
852         unsetenv.c, and fix other similar occurrences.
853
854 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
855
856         secure_getenv: fix C++ declaration typo
857         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
858         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
859         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
860
861 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
862
863         careadlinkat: stop exporting careadlinkatcwd
864         Only Emacs used it directly, and Emacs no longer needs it.
865         * NEWS: Document this simplification.
866         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
867         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
868         for readlink.
869         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
870         Don't include stdlib.h; no longer needed.
871         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
872         * lib/relocwrapper.c: Adjust comment to match new dependencies.
873         * modules/areadlink (Depends-on): Add readlink.
874         (Maintainer): Add self.
875         * modules/careadlinkat (Depends-on): Remove readlink.
876
877         extensions: port better to HP-UX
878         This is merged from git Autoconf.
879         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
880         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
881         so that it's compatible with the value used when compiling.
882
883         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
884         Problem reported by Mats Erik Andersson in
885         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
886         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
887         openpty function exists, not merely when we intend to replace it.
888         This corrects the 2013-01-31 patch, which mistakenly defined
889         HAVE_OPENPTY even on hosts that lacked it.
890
891 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
892
893         secure_getenv: fix include typo
894         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
895
896         secure_getenv: port better to FreeBSD and Solaris
897         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
898         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
899         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
900         This works better on BSDish platforms.
901         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
902         Test for issetugid if __secure_getenv is missing.
903
904 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
905
906         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
907         Some of these changes are merged in from git Autoconf.
908         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
909         When deciding whether to define _XOPEN_SOURCE, inspect the
910         preprocessor macro __hpux instead of the more-heavyweight
911         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
912         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
913         as the key for __EXTENSIONS__.
914
915         unistd: avoid namespace pollution on non-glibc systems
916         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
917         This avoids namespace pollution on non-glibc systems, by causing
918         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
919         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
920         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
921
922 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
923
924         tmpdir: use secure_getenv
925         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
926         Define to secure_getenv, not getenv.
927         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
928         as that's now secure_getenv's job.
929         * modules/tmpdir (Depends-on): Add secure_getenv.
930
931         tempname: use secure_getenv
932         * lib/tempname.c (__secure_getenv) [!_LIBC]:
933         Define to secure_getenv, not getenv.
934         * modules/tempname (Depends-on):
935         Add secure_getenv.
936
937         secure_getenv: new module
938         * MODULES.html.sh (Extra functions based on ANSI C 89):
939         Add secure_getenv.
940         * doc/glibc-functions/secure_getenv.texi: New file.
941         * doc/gnulib.texi: Include it.
942         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
943         New files.
944         * lib/stdlib.in.h (secure_getenv): New decl.
945         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
946         * modules/stdlib (stdlib.h):
947         Add secure_getenv checks.
948
949 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
950
951         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
952         Reported for OS X 10.8.2 by Assaf Gordon in
953         <http://bugs.gnu.org/13516>.
954         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
955         !HAVE_OPENAT && !HAVE_FDOPENDIR.
956         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
957         so that they can be kept in sync more easily.  Avoid PATH_MAX
958         test on the Hurd.  Sync from test-getcwd.c for errno tests after
959         mkdir or chdir failure.
960         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
961         lib/getcwd.c.
962         (test_abort_bug): Do not test for the deep directory bug unless we
963         have openat support.  Avoid PATH_MAX test on the Hurd.
964
965         regex-tests, regex: fix bug: memset undeclared
966         * tests/test-regex.c: Don't include regex.h twice.  Include
967         string.h, to declare memset.  Christensen's report also mentioned
968         this issue.
969         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
970         test-regex.c, to avoid future problems like this.  Remove
971         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
972         twice.
973
974         regex-tests: fix link errors on older Solaris
975         These need to link with @LIBINTL@ to get libintl_gettext.
976         Problem reported by Tom G. Christensen in
977         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
978         * modules/regex-tests (test_regex_LDADD): New macro.
979
980 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
981
982         regex-tests: new module
983         * modules/regex-tests, tests/test-regex.c: New files.
984
985         regex: fix off-by-one error in configure test
986         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
987
988 2013-01-31  Eric Blake  <eblake@redhat.com>
989
990         regex: avoid infinite configure test
991         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
992
993 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
994
995         openpty: fix bug where HAVE_OPENPTY wasn't defined
996         See the thread starting at:
997         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
998         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
999         openpty function exists, not merely when we intend to replace it.
1000
1001 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
1002
1003         sys_time: port to Solaris 2.6
1004         There is a circularity problem on Solaris 2.6, where <time.h> includes
1005         <sys/time.h> for struct timespec.  The include nesting is gnulib
1006         <time.h>, system <time.h>, gnulib <sys/time.h>, system
1007         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
1008         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
1009         <sys/siginfo.h>; the last, innermost file needs struct
1010         timestruc_t, which is defined in <sys/time.h>, which has not been
1011         fully parsed.  Problem reported by Tom G. Christensen in
1012         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
1013         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
1014         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
1015         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
1016         uses split double-inclusion guards.
1017
1018 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
1019
1020         regex: test for buffer overrun
1021         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
1022         for the just-fixed regex bug.
1023
1024 2013-01-29  Andreas Schwab  <schwab@suse.de>
1025
1026         regex: fix buffer overrun in regexp matcher [BZ #15078]
1027         * lib/regexec.c (extend_buffers): Add parameter min_len.
1028         (check_matching): Pass minimum needed length.
1029         (clean_state_log_if_needed): Likewise.
1030         (get_subexp): Likewise.
1031
1032 2013-01-28  Pádraig Brady  <P@draigBrady.com>
1033
1034         mountlist: don't consider "devtmpfs" as dummy
1035         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
1036         as there is storage associcated with it.
1037
1038 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1039
1040         futimens-tests, utimens-tests: Depend on gettext.
1041         This works around a problem introduced in my 2013-01-12 patch,
1042         which added @LIBINTL@ to these modules.
1043         * modules/futimens-tests (Depends-on):
1044         * modules/utimens-tests (Depends-on): Add gettext.
1045
1046 2013-01-26  Eric Blake  <eblake@redhat.com>
1047
1048         test-getpeername: fix typo
1049         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
1050
1051 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
1052
1053         bootstrap: remove the need for a sorted .gitignore file
1054         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
1055         rename to insert_if_absent(), so that we don't need or generate
1056         a sorted .gitignore file.  We do require a .gitignore with no
1057         existing duplicate entries and enforce that.
1058         (sort_patterns): Remove this function as we now use the simpler
1059         technigue of inserting blacklist entries at the top of the file,
1060         assuming gnulib won't be inserting !whitelist entries.
1061
1062 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1063
1064         readlinkat: don't depend on gl_FUNC_OPENAT
1065         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
1066         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
1067         renameat.m4, symlinkat.m4; but one thing at a time.
1068
1069         statat: new module, split out from fstatat
1070         GNU Emacs needs the POSIX-specified fstatat, but not the
1071         gnulib-specified statat and lstat.  Split the latter two into a
1072         new module 'statat'.
1073         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
1074         * lib/openat.h, lib/statat.c (STATAT_INLINE):
1075         Rename from FSTATAT_INLINE. All uses changed.
1076         * modules/fstatat (Files): Remove lib/statat.c.
1077         (gl_MODULE_INDICATOR([fstatat])): Remove.
1078         (lib_SOURCES): Remove.
1079         (Maintainer): Add self.
1080         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
1081         * tests/test-fstatat.c (BASE): Don't define if already defined.
1082         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
1083
1084 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
1085
1086         tests: don't assume fd 99 is closed
1087         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
1088         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
1089         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
1090         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
1091         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
1092         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
1093         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
1094         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
1095         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
1096         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
1097         * tests/test-fwrite.c, tests/test-getpeername.c:
1098         * tests/test-getsockname.c, tests/test-getsockopt.c:
1099         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
1100         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
1101         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
1102         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
1103         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
1104         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
1105         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
1106         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
1107         * tests/test-unlinkat.c, tests/test-unlockpt.c:
1108         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
1109         Close file descriptor 99, instead of assuming it's already closed.
1110
1111 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
1112
1113         stpncpy: port to OS X 10.8
1114         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
1115         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
1116
1117 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
1118
1119         unistd: port to recent mingw
1120         * lib/unistd.in.h: Remove special invocation convention for mingw,
1121         which breaks for the latest mingw version.  See John W. Eaton in
1122         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
1123
1124         largefile: port better to Mac OS X 10.5
1125         This patch is backported from Autoconf git.
1126         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
1127         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
1128         with ino_t size being different for configuration time versus
1129         build/run time.  Problem reported by PHO in
1130         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
1131
1132 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
1133
1134         doc: clarify -Werror
1135         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
1136         clarify that it's intended for developers, not for ordinary builds,
1137         and mention --enable-gcc-warnings as one possible use.
1138
1139 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
1140
1141         stdint: fix build with Android's Bionic fox x86
1142         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
1143         was already included as _SSIZE_T_DEFINED_ might also be defined
1144         in include/machine/_types.h, which is included by stdio.h
1145
1146 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
1147
1148         net_if-tests: port to Solaris 7 + GCC 3.4.6
1149         Problem reported by Tom G. Christensen in
1150         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
1151         * tests/test-net_if.c (ni): Move to next the code that uses it,
1152         so that it's declared only if needed.
1153
1154 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
1155
1156         net_if-tests: port to older Solaris
1157         Problem reported by Tom G. Christensen in
1158         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1159         * modules/net_if-tests (NET_IF_LIB): New substitution.
1160         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
1161         (HAVE_IF_NAMEINDEX): New C macro.
1162         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
1163
1164         system-quote-tests: port to older Solaris
1165         Problem reported by Tom G. Christensen in
1166         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1167         * tests/test-system-quote-child.c (fopen, fread): Undef.
1168
1169         c-xvasprintf etc.: fix link errors on older Solaris
1170         These need to link with @LIBINTL@ to get libintl_gettext.
1171         Problem reported by Tom G. Christensen in
1172         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1173         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
1174         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
1175         * modules/futimens-tests (test_futimens_LDADD):
1176         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
1177
1178 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
1179
1180         locale: port to Solaris 2.6 and 7 + GNU gettext
1181         * lib/locale.in.h: Just include_next <locale.h> when
1182         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
1183         when combining the localename module with GNU gettext 0.18.2.
1184         Problem reported by Tom G. Christensen in
1185         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
1186
1187 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
1188
1189         stdlib: port to Solaris 2.6
1190         Also, the code worked on Solaris 7 through 9 only by accident.
1191         Problem reported by Tom G. Christensen in
1192         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
1193         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
1194         simply include the system stdlib.h.
1195         * lib/getopt.in.h (__need_system_stdlib_h):
1196         * lib/pthread.in.h (__need_system_stdlib_h):
1197         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
1198         Define when including <stdlib.h>, to avoid problems at least for
1199         the pthread case on Solaris 2.6 and 7.  These .h files can get by
1200         with the system stdlib.h.
1201
1202 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
1203
1204         doc: update main copyright year
1205         * doc/gnulib.texi: Update copyright date.
1206
1207         doc: improve ISO 8601 discussion
1208         * doc/parse-datetime.texi (Combined date and time of day items):
1209         Specify more carefully what formats are supported and what is
1210         done with excess precision.
1211
1212 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1213
1214         doc: avoid small caps
1215         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
1216         they're more trouble than they're worth.  Suggested by Karl Berry
1217         in <http://bugs.gnu.org/13360>.
1218
1219         regex: conform to strict C
1220         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
1221         From Aharon Robbins.
1222
1223         gnulib-tool: fix incompatibility with autopoint 0.18.2
1224         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
1225         Problem reported by Tom G. Christensen in
1226         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
1227
1228 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1229
1230         fprintftime: bring back and reword fwrite comment
1231         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
1232
1233         stdio: remove now-unnecessary stdio.c
1234         Since stdio.in.h no longer uses inline functions, we no longer
1235         need to compile the extern versions.
1236         * lib/stdio.c: Remove.
1237         * modules/stdio (Files): Remove lib/stdio.c.
1238         (lib_SOURCES): Remove.
1239
1240         unicodeio: depend on stdio, not ignore-value
1241         * lib/unicodeio.c: Do not include ignore-value.h.
1242         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
1243         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
1244
1245         fprintftime: depend on stdio, not ignore-value
1246         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
1247         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
1248         since the stdio module arranges to silence that warning now.
1249         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
1250
1251 2012-10-04  Simon Josefsson  <simon@josefsson.org>
1252
1253         stdint-tests: Fix expanded-before-required-warning.
1254         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
1255
1256 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
1257
1258         fwrite: silence __wur only for older glibc versions
1259         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
1260         This will help us remove this workaround some time in the far future.
1261
1262 2013-01-03  Eric Blake  <eblake@redhat.com>
1263
1264         fwrite: silence __wur without using inline
1265         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
1266         just gcc, and in a way that avoids inline issues.
1267         * modules/stdio (Depends-on): Drop extern-inline.
1268
1269 2013-01-03  Jim Meyering  <jim@meyering.net>
1270
1271         update-copyright: avoid copyright notice date corruption
1272         Given a sequence of copyright year numbers in which the final
1273         one was a two-digit number that happened to be a substring of
1274         a preceding four-digit year number, we would mistakenly update
1275         the substring (from two- to four-digit) rather than the two-digit
1276         number at the end, which, combined with the addition of the current
1277         4-digit year number would yield two 5-digit year numbers, e.g.,
1278         here, it would convert the first "99" to "1999, 2013" rather than
1279         the final one:
1280           1991, 99
1281           11999, 20131, 1999
1282         * build-aux/update-copyright: Tighten a regexp.
1283         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
1284         Reported by Joseph Myers in
1285         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
1286
1287 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
1288
1289         regex: omit needless signed-pointer casts
1290         * lib/regcomp.c (build_charclass, build_charclass_op):
1291         Use char *, not unsigned char *, for class name and extra.
1292         The char values are always nonnegative so there's no need to
1293         insist on unsigned char * here, and using char * removes the need
1294         for casts.  Reported by Aharon Robbins in
1295         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1296
1297         regex: support Gawk, which never uses alloca
1298         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
1299         Do not include in this case.  Gawk doesn't supply a substitute
1300         alloca.h and doesn't need one.
1301
1302         regex: port __libc_lock_define usage to C89
1303         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
1304         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
1305         does not conform to C89, as it has an empty macro argument.
1306         Reported by Aharon Robbins in
1307         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1308
1309 2013-01-01  Eric Blake  <eblake@redhat.com>
1310
1311         maint: update all copyright year number ranges
1312         Run "make update-copyright".
1313
1314         version-etc: bump copyright year reported in --version
1315         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
1316
1317 2012-12-31  Eric Blake  <eblake@redhat.com>
1318
1319         sigprocmask-tests: skip test if pid is unexpectedly large
1320         * tests/test-sigprocmask.c (main): Add range check.
1321
1322         git-version-gen: avoid test -z portability glitch
1323         * build-aux/git-version-gen: Prefer portable test spelling, since
1324         git-version-gen is run on more than just developer machines.
1325
1326 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
1327
1328         git-version-gen: add --fallback option to use if git is not present
1329         * build-aux/git-version-gen: Add support for the new option --fallback,
1330         which comes into play when there is no $tarball_version_file and
1331         git is not working.
1332         (scriptversion): Update.
1333
1334         maint.mk: handle missing git with more grace
1335         * top/maint.mk (no-submodule-changes, public-submodule-commit):
1336         Quietly proceed if git is not present.
1337
1338 2012-12-31  Eric Blake  <eblake@redhat.com>
1339
1340         dup2: work around cygwin bug
1341         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
1342         * lib/dup2.c (rpl_dup2): Work around it.
1343         * doc/posix-functions/dup2.texi (dup2): Document it.
1344
1345 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
1346
1347         regex: remove unnecessary dependency on localcharset.h
1348         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
1349         hasn't been needed for years.
1350         * modules/regex (Depends-on): Remove localcharset.
1351
1352         regex: revert single-byte change
1353         * lib/regexec.c (check_node_accept_bytes): Revert previous change
1354         to this function.  This was alredy fixed in a different way, at
1355         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
1356         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
1357         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
1358
1359         regex: simplify based on Gawk version
1360         * lib/regex_internal.c (re_dfa_add_node): Simplify.
1361         Reported by Aharon Robbins in
1362         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1363
1364 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1365
1366         regex: check that pattern char is single-byte
1367         Reported by Aharon Robbins in
1368         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1369         * lib/regexec.c (check_node_accept_bytes):
1370         Return 0 if the pattern string has a multibyte character here.
1371
1372         regex: implement rational ranges
1373         Reported by Aharon Robbins in
1374         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1375         * lib/regcomp.c (build_range_exp) [!_LIBC]:
1376         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
1377         Implement rational ranges.
1378
1379         regex: avoid redefining __wctype
1380         Reported by Aharon Robbins in
1381         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1382         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
1383         #undef before defining.
1384
1385         regex: port to hosts where malloc (0) == NULL
1386         Reported by Aharon Robbins in
1387         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1388         * lib/regex_internal.c (re_node_set_alloc):
1389         Don't assume that malloc (0) yields nonnull.
1390         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
1391         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
1392         * modules/regex (Files): Add m4/eealloc.m4.
1393
1394         regex: port to C89
1395         Reported by Aharon Robbins in
1396         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1397         * lib/regcomp.c (init_word_char): Declaration before statement.
1398
1399         regex: merge glibc changes
1400         Also, copy the license wording from glibc.  This simplifies
1401         merging changes.  gnulib-tool will change the wording to GPL as
1402         appropriate, when importing it to other packages.  The only
1403         glibc change made since the last merge, which needs merging, is:
1404         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
1405         * lib/regex_internal.h (gettext): Remove use of INTUSE.
1406
1407         * users.txt: Add Emacs.
1408
1409         doc: omit mention of version when not needed
1410         * doc/gnulib-intro.texi (Portability and Application Code):
1411         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
1412         Don't mention particular dates or versions when not necessary, so
1413         that the documentation won't go out of date so quickly.
1414
1415         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
1416
1417 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
1418
1419         bootstrap: pass --force to autoreconf.
1420         * build-aux/bootstrap (AUTORECONFFLAGS): New.
1421         Add "--force" so that Automake's ylwrap and other such tools
1422         be updated at each bootstrap invocation.
1423         Use it.
1424
1425 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1426
1427         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
1428         The earlier patch forgot to update one of the #if conditions, causing
1429         a problem on Debian testing i386 reported by Mats Erik Andersson
1430         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
1431         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
1432         (__argp_fmtstream_puts, argp_fmtstream_puts)
1433         (__argp_fmtstream_write, argp_fmtstream_write)
1434         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
1435
1436         * doc/gnulib-readme.texi: Minor fixups.
1437         (Portability guidelines): Modernize URLs.  Remove some repetition.
1438         (Indent with spaces not TABs): Reword to avoid too-long lines.
1439         Remove some '@ifset standalone' stuff that isn't used.
1440
1441         * doc/gnulib-readme.texi (Portability guidelines):
1442         ctype.h, not ctime.h.
1443
1444         Correct name of POSIX.1-2001.
1445         * doc/posix-functions/fgetc.texi (fgetc):
1446         * doc/posix-functions/fgets.texi (fgets):
1447         * doc/posix-functions/fread.texi (fread):
1448         * doc/posix-functions/fscanf.texi (fscanf):
1449         * doc/posix-functions/getc.texi (getc):
1450         * doc/posix-functions/getchar.texi (getchar):
1451         * doc/posix-functions/scanf.texi (scanf):
1452         POSIX.1-2001, not POSIX-2001.
1453
1454         doc: move README into manual
1455         * README: Move contents to new file doc/gnulib-readme.texi.
1456         Replace with a one-line summary.
1457         * doc/gnulib.texi (Brief Overview): New section,
1458         with old intro preface.  Include gnulib-readme.texi for contents.
1459         (Philosophy): Rename from "Introduction", since this
1460         section no longer introduces the rest.  Write a new preface.
1461         * doc/gnulib-readme.texi: New file, with the old contents of
1462         README texinfo-ized.  This way, the README info appears
1463         in the online and printed manual.
1464
1465 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
1466
1467         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
1468         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
1469         c_vasprintf() prototype.
1470
1471 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
1472
1473         c-vasprintf: Fix "empty declaration" warning reported by GCC.
1474         * lib/c-vasprintf.h: Remove stray semicolon.
1475
1476 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
1477
1478         gettext: avoid obsolete macro AM_PROG_MKDIR_P
1479         It is obsolete and is planned to be removed from Automake 1.14; see
1480         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
1481         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
1482         (installdirs-data, installdirs-data-yes):
1483         Use $(MKDIR_P), not $(mkdir_p).
1484         * m4/intl.m4 (AM_INTL_SUBDIR):
1485         * m4/po.m4 (AM_PO_SUBDIRS):
1486         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
1487
1488 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
1489
1490         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
1491         On this platform, we are not optimizing but we are using
1492         the substitute for extern inlines, so compile as if
1493         C99-style extern inline, or a substitute, is available.
1494         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
1495         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
1496         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
1497         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
1498         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
1499         Declare as ARGP_FS_EI, not as extern.
1500         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
1501         (__option_is_short, _option_is_end, __option_is_end)
1502         [!_LIBC && __USE_EXTERN_INLINES]:
1503         Declare as ARGP_EI, not as extern.
1504
1505 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1506
1507         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
1508         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
1509         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
1510         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
1511         ...), as the latter is fatal with older Autoconfs.
1512         Problem reported and fix suggested by Eric Blake in thread starting at
1513         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
1514
1515 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1516
1517         AC_PROG_MKDIR_P: don't workaround if not buggy
1518         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
1519         Define only for Autoconf versions before 2.62.
1520         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
1521         undocumented m4_PACKAGE_VERSION, for consistency with the
1522         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
1523         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
1524         was introduced in 2.62.
1525
1526 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
1527
1528         New 'c-*printf' modules for formatted output in C locale.
1529
1530         New module 'c-vasnprintf'.
1531         * modules/c-vasnprintf: New file.
1532         * lib/c-vasnprintf.c: New file.
1533         * lib/c-vasnprintf.h: New file.
1534
1535         New module 'c-snprintf'.
1536         * modules/c-snprintf: New file.
1537         * modules/c-snprintf-tests: New file.
1538         * lib/c-snprintf.c: New file.
1539         * lib/c-snprintf.h: New file.
1540         * tests/test-c-snprintf.c: New file.
1541         * tests/test-c-snprintf.sh: New file.
1542
1543         New module 'c-vsnprintf'.
1544         * modules/c-vsnprintf: New file.
1545         * modules/c-vsnprintf-tests: New file.
1546         * lib/c-vsnprintf.c: New file.
1547         * lib/c-vsnprintf.h: New file.
1548         * tests/test-c-vsnprintf.c: New file.
1549         * tests/test-c-vsnprintf.sh: New file.
1550
1551         New module 'c-vasprintf'.
1552         * modules/c-vasprintf: New file.
1553         * modules/c-vasprintf-tests: New file.
1554         * lib/c-asprintf.c: New file.
1555         * lib/c-vasprintf.c: New file.
1556         * lib/c-vasprintf.h: New file.
1557         * tests/test-c-vasprintf.c  +: New file.
1558         * tests/test-c-vasprintf.sh: New file.
1559
1560         New module 'c-xvasprintf'.
1561         * modules/c-xvasprintf: New file.
1562         * modules/c-xvasprintf-tests: New file.
1563         * lib/c-xasprintf.c: New file.
1564         * lib/c-xvasprintf.c: New file.
1565         * lib/c-xvasprintf.h: New file.
1566         * tests/test-c-xvasprintf.c: New file.
1567         * tests/test-c-xvasprintf.sh: New file.
1568
1569 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1570
1571         argp: better 'inline'
1572         Use extern-inline module to declare extern inline functions.
1573         This avoids some bogus warning diagnostics.  Problem discovered
1574         when modifying GNU tar to use the manywarnings module.
1575         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
1576         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
1577         Define based on extern-inline.
1578         * modules/argp (Depends-on): Add extern-inline.
1579
1580 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1581
1582         filemode, sys_stat: Handle MPX files a la AIX.
1583         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
1584         * lib/sys_stat.in.h (S_ISMPX): New macro.
1585         * tests/test-sys_stat.c: Add tests for MPX files.
1586
1587 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
1588
1589         x-to-1: honor $PERL
1590         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
1591         a chance to use his preferred version of Perl.  This is typically
1592         required by Darwin users whose default /usr/bin/perl does not have all
1593         the libraries required by help2man, and who need to use their MacPorts
1594         installation of Perl instead.
1595
1596 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1597
1598         gnu-web-doc-update: add all the new files, even in new directories
1599         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
1600         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
1601         Use it.
1602         (main): Don't use cvsutils to get the list of unknown files,
1603         just add all the existing files and directories.
1604
1605 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1606
1607         gnu-web-doc-update: improve --help
1608         * build-aux/gnu-web-doc-update: Move comments into --help.
1609
1610 2012-12-07  Eric Wong  <normalperson@yhbt.net>
1611
1612         mountlist: recognize more "dummy" file systems
1613         * lib/mountlist.c (ME_DUMMY_0):
1614         Add these dummy FS names to the list:
1615         - "debugfs" virtual filesystem for kernel debugging
1616         - "devpts" PTY slave filesystem
1617         - "devtmpfs" device filesystem on top of tmpfs/ramfs
1618         - "fusectl" control filesystem for FUSE
1619         - "mqueue" enumerates POSIX message queues
1620         - "rpc_pipefs" kernel <-> userspace bridge for NFS
1621         - "sysfs" is for exporting kernel objects
1622         - "devfs" device filesystem for Linux 2.4 and FreeBSD
1623
1624 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1625
1626         extern-inline: avoid incompatibility with Darwin Libc
1627         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
1628         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
1629         Problem reported by Akim Demaille in
1630         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
1631
1632 2012-12-11  Simon Josefsson  <simon@josefsson.org>
1633
1634         gnupload: Work with GnuPG using gpg-agent (for smartcards).
1635         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
1636         let it handle password prompting.
1637
1638 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
1639
1640         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
1641         * lib/canonicalize.c (canonicalize_filename_mode):
1642         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
1643         fetching the current directory.  Don't overrun the beginning of
1644         rpath if there's no slashes after the MS-Windows drive letter.
1645
1646 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1647
1648         maint.mk: avoid extra forks
1649         * top/maint.mk (_cfg_mk): The GNU make manual documents that
1650         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
1651         So use that instead of "$(shell test -f FILE && echo FILE)".
1652
1653 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
1654
1655         vasnprintf: fix ASCII_ONLY typo
1656         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1657         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1658         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1659         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
1660         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
1661
1662 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1663
1664         list, oset, xlist, xoset: fix extern inline issue with C99
1665         This was introduced by my recent changes for 'inline'.
1666         Problem reported for gettext by Daiki Ueno in
1667         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
1668         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
1669         (gl_list_nx_create, gl_list_size, gl_list_node_value)
1670         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
1671         (gl_list_previous_node, gl_list_get_at)
1672         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
1673         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
1674         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
1675         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
1676         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
1677         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
1678         (gl_list_iterator_free, gl_sortedlist_search)
1679         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
1680         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
1681         (gl_sortedlist_remove):
1682         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
1683         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
1684         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
1685         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
1686         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
1687         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
1688         (gl_list_add_at, gl_sortedlist_add):
1689         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
1690         Wrap these extern decls inside "#if 0", because they are implemented
1691         as inline functions, and extern inline is not what's wanted here.
1692         It would simplify these .h files to remove the extern decls entirely,
1693         although a downside would be less-clear separation between
1694         specification and implementation.
1695
1696 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
1697
1698         sys_stat: no 'static inline'
1699         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
1700         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
1701
1702         extern-inline: no 'static inline'
1703         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
1704         Do not require AC_C_INLINE.
1705         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
1706         'static inline', for older compilers.
1707
1708         snippet/warn-on-use: no 'static inline'
1709         * build-aux/snippet/warn-on-use.h:
1710         Remove unnecessary 'inline' in comment.
1711
1712         rbtree-list, rbtreehash-list: no 'static inline'
1713         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
1714         * lib/gl_anytree_list2.h (node_at):
1715         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
1716         (gl_oset_first, add_nodes_to_buckets):
1717         Now static, not static inline.
1718
1719         regex: no 'static inline'
1720         * lib/regex_internal.c (calc_state_hash):
1721         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
1722         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1723         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
1724         Now static, not static inline.
1725         (inline) [__GNUC__ < 3 && _LIBC]:
1726         Remove macro; no longer needed.
1727
1728         xvasprintf: no 'static inline'
1729         * lib/xvasprintf.c (xstrcat):
1730         Now static, not static inline.
1731         * m4/xvasprintf.m4 (gl_XVASPRINTF):
1732         Do not require AC_C_INLINE.
1733
1734         parse-datetime, parse-duration: no 'static inline'
1735         * lib/parse-datetime.y (to_uchar):
1736         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
1737         (scale_n_add):
1738         Now static, not static inline.
1739         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
1740         * modules/parse-duration (configure.ac):
1741         Do not require AC_C_INLINE.
1742
1743         getaddrinfo: no 'static inline'
1744         * lib/getaddrinfo.c (validate_family):
1745         Now static, not static inline.
1746         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
1747         Do not require AC_C_INLINE.
1748
1749         ftruncate, fts, lstat, openat, raise: no 'static inline'
1750         * lib/ftruncate.c (chsize_nothrow):
1751         * lib/fts.c (opendirat, diropen):
1752         * lib/lstat.c (orig_lstat):
1753         * lib/openat.c (orig_openat):
1754         * lib/raise.c (raise_nothrow):
1755         Now static, not static inline.
1756         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
1757         * m4/fts.m4 (gl_FUNC_FTS_CORE):
1758         * m4/lstat.m4 (gl_PREREQ_LSTAT):
1759         * m4/openat.m4 (gl_PREREQ_OPENAT):
1760         * m4/raise.m4 (gl_PREREQ_RAISE):
1761         Do not require AC_C_INLINE.
1762
1763         fflush, stat: no 'static inline'
1764         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
1765         (clear_ungetc_buffer, disable_seek_optimization)
1766         (restore_seek_optimization, update_fpos_cache):
1767         * lib/stat.c (orig_stat):
1768         Now static, not static inline.
1769         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
1770         (update_fpos_cache):
1771         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
1772         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
1773         * m4/stat.m4 (gl_PREREQ_STAT):
1774         Do not require AC_C_INLINE.
1775
1776         error, filevercmp: no 'static inline'
1777         * lib/error.c (is_open, flush_stdout):
1778         * lib/filevercmp.c (order):
1779         Now static, not static inline.
1780         * m4/error.m4 (gl_PREREQ_ERROR):
1781         * modules/filevercmp (configure.ac):
1782         Do not require AC_C_INLINE.
1783
1784         dup, execute, fatal-signal, etc.: no 'static inline'
1785         * lib/dup.c (dup_nothrow):
1786         * lib/execute.c (nonintr_close, nonintr_open):
1787         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
1788         * lib/fopen.c (orig_fopen):
1789         * lib/freadseek.c (freadptrinc):
1790         * lib/freopen.c (orig_freopen):
1791         * lib/fstat.c (orig_fstat, fstat_nothrow):
1792         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
1793         (get_rusage_as_via_iterator):
1794         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
1795         * lib/getdtablesize.c (_setmaxstdio_nothrow):
1796         * lib/isatty.c (_isatty_nothrow):
1797         * lib/open.c (orig_open):
1798         * lib/read.c (read_nothrow):
1799         * lib/sigprocmask.c (signal_nothrow):
1800         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
1801         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
1802         * lib/wait-process.c (unregister_slave_subprocess):
1803         * lib/write.c (write_nothrow):
1804         Now static, not static inline.
1805         * lib/spawn-pipe.c (nonintr_open): Define only if
1806         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
1807         * m4/dup.m4 (gl_PREREQ_DUP):
1808         * m4/execute.m4 (gl_EXECUTE):
1809         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
1810         * m4/fopen.m4 (gl_PREREQ_FOPEN):
1811         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
1812         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
1813         * m4/fstat.m4 (gl_PREREQ_FSTAT):
1814         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
1815         * m4/isatty.m4 (gl_PREREQ_ISATTY):
1816         * m4/open.m4 (gl_PREREQ_OPEN):
1817         * m4/read.m4 (gl_PREREQ_READ):
1818         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
1819         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
1820         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
1821         * m4/wait-process.m4 (gl_WAIT_PROCESS):
1822         * m4/write.m4 (gl_PREREQ_WRITE):
1823         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
1824         Do not require AC_C_INLINE.
1825
1826         c-strtod, memcoll, readutmp: no 'static inline'
1827         * lib/c-strtod.c (c_locale):
1828         * lib/memcoll.c (strcoll_loop):
1829         * lib/readutmp.c (desirable_utmp_entry):
1830         Now static, not static inline.
1831         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
1832         * m4/memcoll.m4 (gl_MEMCOLL):
1833         * m4/readutmp.m4 (gl_READUTMP):
1834         Do not require AC_C_INLINE.
1835
1836         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
1837         * lib/arctwo.c (to_uchar):
1838         * lib/md4.c (set_uint32):
1839         * lib/md5.c (set_uint32):
1840         * lib/sha1.c (set_uint32):
1841         * lib/sha256.c (set_uint32):
1842         * lib/sha512.c (set_uint64):
1843         Now static, not static inline.  This is a bit simpler, and doesn't
1844         affect performance with GCC and default optimization.
1845         * m4/arctwo.m4 (gl_ARCTWO):
1846         * m4/md4.m4 (gl_MD4):
1847         * m4/md5.m4 (gl_MD5):
1848         * m4/sha1.m4 (gl_SHA1):
1849         * m4/sha256.m4 (gl_SHA256):
1850         * m4/sha512.m4 (gl_SHA512):
1851         Do not require AC_C_INLINE.
1852
1853         cond, lock, thread: better 'inline'
1854         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
1855         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
1856         New macros.  Use them instead of static inline, for header functions.
1857         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
1858         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1859         * lib/glthread/lock.c (gl_waitqueue_init)
1860         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1861         * lib/glthread/thread.c (get_current_thread_handle):
1862         Change 'static inline' to 'inline'.
1863         * lib/glthread/cond.h, lib/glthread/thread.h:
1864         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1865         * m4/cond.m4 (gl_COND):
1866         * m4/lock.m4 (gl_PREREQ_LOCK):
1867         * m4/thread.m4 (gl_THREAD):
1868         Do not require AC_C_INLINE.
1869         * modules/cond, modules/thread (Depends-on): Add extern-inline.
1870
1871         chdir-long, cycle-check, savewd: better 'inline'
1872         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
1873         (find_non_slash):
1874         * lib/cycle-check.c (is_zero_or_power_of_two):
1875         * lib/savewd.c (savewd_delegating):
1876         Change 'static inline' to 'inline'.
1877         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
1878         Replace all remaining uses of 'static inline' with it.
1879         * lib/savewd.h:
1880         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1881         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
1882         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
1883         * m4/savewd.m4 (gl_SAVEWD):
1884         Do not require AC_C_INLINE.
1885         * modules/savewd (Depends-on): Add extern-inline.
1886
1887         base32, base64: no need for 'inline'
1888         * lib/base32.c (to_uchar, get_8, decode_8):
1889         * lib/base64.c (to_uchar, get_4, decode_4):
1890         Change 'static inline' to 'inline'.
1891         * m4/base32.m4 (gl_PREREQ_BASE32):
1892         * m4/base64.m4 (gl_PREREQ_BASE64):
1893         Do not require AC_C_INLINE.
1894
1895         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
1896         * lib/gl_array_oset.c (gl_array_nx_add_at):
1897         (gl_array_remove_at):
1898         * lib/gl_linkedhash_list.c (hash_resize_after_add)
1899         (add_to_bucket, remove_from_bucket):
1900         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
1901         Change 'static inline' to 'static', as it's simpler to omit
1902         'inline' unless there's a significant performance advantage.
1903
1904         list, oset, xlist, xoset, xsublist: simplify via extern inline
1905         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
1906         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
1907         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
1908         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
1909         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
1910         New macro.  Replace all uses of 'static inline' with it.
1911         [HAVE_INLINE]: Implement functions as *_INLINE functions,
1912         instead of as macros FOO that are defined to static inline
1913         functions FOO_inline.
1914         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
1915         * lib/gl_xsublist.c:
1916         Reimplement from scratch, by defining the corresponding *_INLINE
1917         macro and including the corresponding .h file.  This is simpler.
1918         * modules/list, modules/oset, modules/xlist, modules/xoset:
1919         (Files): Remove m4/gl_list.m4.
1920         (configure.ac): Remove gl_LIST.
1921         * m4/gl_list.m4: Remove.
1922         * modules/list, modules/oset, modules/xlist, modules/xoset:
1923         * modules/xsublist:
1924         (Depends-on): Depend on extern-inline, not inline.
1925
1926         xalloc: better 'inline'
1927         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
1928         New macro.  Replace all uses of 'static inline' with it.
1929         (static_inline): Remove.
1930         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
1931         Let 'extern inline' do the work automatically, instead of doing
1932         it by hand.
1933         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
1934         Remove.  All uses removed.
1935         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
1936
1937         gethrxtime: better 'inline'
1938         * lib/xtime.c: New file.
1939         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
1940         * lib/xtime.h (XTIME_INCLUDE):
1941         New macros.  Replace all uses of 'static inline' with them.
1942         * lib/gethrxtime.c (gethrxtime): Define only if
1943         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
1944         this source file is now always compiled, because of the extern inline.
1945         * lib/gethrxtime.h, lib/xtime.h:
1946         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1947         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
1948         if gethrtime works, as they're not needed in that case.
1949         (gl_XTIME): Do not require AC_C_INLINE.
1950         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
1951         compiled now.  Move the check into gl_GETHRXTIME.
1952         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
1953         (Depends-on): Add extern-inline.
1954         (configure.ac): gethrxtime is always compiled now.
1955         (lib_SOURCES): Add gethrxtime.c.
1956
1957         wctype-h: better 'inline'
1958         * lib/wctype-h.c: New file.
1959         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
1960         New macro.  Replace all uses of 'static inline' with it.
1961         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1962         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
1963         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
1964         (Depends-on): Add extern-inline.
1965
1966         unistd: better 'inline'
1967         * lib/unistd.c: New file.
1968         * lib/unistd.in.h (_GL_UNISTD_INLINE):
1969         New macro.  Replace all uses of 'static inline' with it.
1970         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1971         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
1972         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
1973         (Depends-on): Add extern-inline.
1974
1975         sys_socket: better 'inline'
1976         * lib/sys_socket.c: New file.
1977         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
1978         New macro.  Replace all uses of 'static inline' with it.
1979         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1980         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
1981         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
1982         (Depends-on): Add extern-inline.
1983
1984         stdio: better 'inline'
1985         * lib/stdio.c: New file.
1986         * lib/stdio.in.h (_GL_STDIO_INLINE):
1987         New macro.  Replace all uses of 'static inline' with it.
1988         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1989         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
1990         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
1991         (Depends-on): Add extern-inline.
1992
1993         sigaction: better 'inline'
1994         * lib/sig-handler.c: New file.
1995         * lib/sig-handler.h (SIG_HANDLER_INLINE):
1996         New macro.  Replace all uses of 'static inline' with it.
1997         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1998         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
1999         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
2000         (Depends-on): Add extern-inline.
2001
2002         selinux-h: better 'inline'
2003         * lib/se-context.c, lib/se-selinux.c: New files.
2004         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
2005         * lib/se-context.in.h (SE_CONTEXT_INLINE):
2006         New macro.  Replace all uses of 'static inline' with it.
2007         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2008         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
2009         New macro.  Replace all uses of 'static inline' with it.
2010         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2011         * modules/selinux-h (Files, lib_SOURCES):
2012         Add lib/se-context.c, lib/se-selinux.c.
2013         (Depends-on): Add extern-inline.
2014         (configure.ac): Do not require AC_C_INLINE.
2015
2016         pthread: better 'inline'
2017         * lib/pthread.c: New file.
2018         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
2019         New macro.  Replace all uses of 'static inline' with it.
2020         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2021         * m4/pthread.m4 (gl_PTHREAD_CHECK):
2022         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
2023         * modules/pthread (Files): Add lib/pthread.c.
2024         (Depends-on): Add extern-inline.
2025
2026         math: better 'inline'
2027         * lib/math.c: New file.
2028         * lib/math.in.h (_GL_MATH_INLINE):
2029         New macro.  Replace all uses of 'static inline' with it.
2030         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2031         * m4/math_h.m4 (gl_MATH_H):
2032         Do not require AC_C_INLINE.
2033         * modules/math (Files, lib_SOURCES):
2034         Add lib/math.c.
2035         (Depends-on): Add extern-inline.
2036
2037         count-one-bits: better 'inline'
2038         * lib/count-one-bits.c: New file.
2039         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
2040         New macro.  Replace all uses of 'static inline' with it.
2041         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2042         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
2043         Do not require AC_C_INLINE.
2044         * modules/count-one-bits (Files, lib_SOURCES):
2045         Add lib/count-one-bits.c.
2046         (Depends-on): Add extern-inline.
2047
2048         count-leading-zeros: better 'inline'
2049         * lib/count-leading-zeros.c: New file.
2050         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
2051         New macro.  Replace all uses of 'static inline' with it.
2052         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2053         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
2054         Do not require AC_C_INLINE.
2055         * modules/count-leading-zeros (Files, lib_SOURCES):
2056         Add lib/count-leading-zeros.c.
2057         (Depends-on): Add extern-inline.
2058
2059         bitrotate: better 'inline'
2060         * lib/bitrotate.c: New file.
2061         * lib/bitrotate.h (BITROTATE_INLINE):
2062         New macros.
2063         Replace all uses of 'static inline' with them.
2064         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2065         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
2066         (Depends-on): Add extern-inline.
2067         (configure.ac): Do not require AC_C_INLINE.
2068
2069 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
2070
2071         maint.mk: avoid gratuitous failure
2072         Reported by Stefano Lattarini in
2073         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
2074         * top/maint.mk (public-submodule-commit): Quote more safely.
2075
2076 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
2077
2078         canonicalize, canonicalize-lgpl: support MS-Windows file names
2079         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
2080         for test cases, which it'd be nice to add at some point.
2081         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
2082         * lib/canonicalize.c (canonicalize_filename_mode):
2083         * lib/canonicalize-lgpl.c (__realpath):
2084         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
2085         slash is at the beginning of the file name.  Use ISSLASH, instead
2086         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
2087         the first character with '/'.  Test for
2088         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
2089         with a drive letter.
2090         * lib/canonicalize.c (SLASHES): New macro.
2091         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
2092
2093 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
2094
2095         fts: introduce FTS_VERBATIM
2096         * lib/fts_.h (FTS_VERBATIM): New bit flag.
2097         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
2098         * lib/fts.c (fts_open): Honor it.
2099
2100 2012-11-09  Pádraig Brady  <P@draigBrady.com>
2101
2102         getlogin-tests: allow errno == ENXIO
2103         * tests/test-getlogin.c (main): Skip tests if getlogin fails
2104         with errno == ENXIO (No controlling tty).
2105         getlogin_r-tests: Likewise. Also allow errno == ENOENT
2106         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
2107         with errno == ENOENT.  This was reported to happen in various
2108         situations on GNU/Linux.
2109
2110 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2111
2112         getlogin-tests: allow errno == ENOENT
2113         * tests/test-getlogin.c (main): Skip tests if getlogin fails
2114         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
2115         when running a test in an Emacs shell buffer.
2116
2117 2012-11-08  Jim Meyering  <jim@meyering.net>
2118
2119         tests/nap.h: avoid warning about unused variable
2120         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
2121
2122         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
2123         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
2124         white space before each of the special-cased file names, to avoid
2125         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
2126         in http://bugs.gnu.org/12830.
2127
2128 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
2129
2130         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
2131         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
2132         fails with errno == EBADF when fd is opened with O_PATH.
2133         Reported by Jim Meyering in
2134         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
2135         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
2136         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
2137
2138 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
2139
2140         test-utimens: speed up by taking shorter naps
2141         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
2142         New functions.
2143         (nap): Use them, to do a better job of guessing the delay.
2144         On Fedora 17 with ext4 atop md atop hard disks, this made
2145         test-utimens run 10x faster, because the test napped for
2146         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
2147         <http://bugs.gnu.org/12820#11>.
2148
2149 2012-11-07  Jim Meyering  <jim@meyering.net>
2150
2151         mountlist.c: fix a compilation failure
2152         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
2153         I introduced while transforming commit v0.0-7683-g613bcb6
2154
2155 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
2156
2157         errno: port to LynxOS 178 2.2.2
2158         Problem reported by Joel Brobecker in
2159         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
2160         * doc/posix-headers/errno.texi (errno.h): Document this.
2161         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
2162         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
2163         Supply a string for EILSEQ.
2164         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
2165
2166 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
2167
2168         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
2169         Linux kernel 2.6.39 introduced O_PATH (see
2170         <http://lwn.net/Articles/433854/>) and this is a better fallback
2171         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
2172         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
2173         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
2174         * lib/fcntl.in.h (O_ACCMODE):
2175         * tests/test-fcntl-h.c (main):
2176         Do not reject O_ACCMODE merely because it has more than the
2177         minimal number of bits, as POSIX allows extensions here.
2178
2179 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
2180
2181         mountlist: do not classify a bind-mounted dir entry as "dummy"
2182         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
2183         the "none"-testing clause.
2184         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
2185         exception for bind-mounted directories.
2186
2187 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
2188
2189         quote: provide a means to escape strings with nul characters
2190         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
2191         (quote, quote_n): Rename formal arguments for consistency with
2192         quotearg.
2193
2194 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
2195
2196         test-raise: don't assume 199 is an invalid signal
2197         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
2198
2199         sh-quote-tests: port to Solaris 9
2200         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
2201         Problem reported by Dagobert Michelsen in
2202         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
2203
2204 2012-10-28  Jim Meyering  <jim@meyering.net>
2205
2206         maint.mk: rename a new configurable variable
2207         * top/maint.mk (_gl_translatable_string_re): Rename from
2208         translation-markers: _gl_ prefix to insulate from user Makefile code,
2209         and the _re suffix to inform that it's a regular expression.
2210
2211 2012-10-26  Eric Blake  <eblake@redhat.com>
2212
2213         maint.mk: let packages tweak sc_po_check pattern
2214         * top/maint.mk (sc_po_check): Add translation-markers, to allow
2215         finding files with other translation markers.
2216
2217 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2218
2219         euidaccess: speed up 'configure' on GNU hosts
2220         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
2221         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
2222         it's needed only in this case.  Use AC_CHECK_DECLS, not
2223         AC_CHECK_DECLS_ONCE.
2224         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
2225         or AC_REQUIRE for AC_FUNC_GETGROUPS.
2226
2227         * lib/regexec.c (re_search_internal): Fix grammar in comment.
2228
2229 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2230
2231         fchmodat, fchownat, fstatat: port to non-inlining compilers
2232         Problem reported for FreeBSD 9 by Jim Meyering in
2233         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
2234         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
2235         New files, which define FCHMODAT_INLINE etc.
2236         * lib/fchmodat.c (FCHMODAT_INLINE):
2237         * lib/fchownat.c (FCHOWNAT_INLINE):
2238         * lib/fstatat.c (FSTATAT_INLINE):
2239         Remove, as chmodat.c etc. now do this.
2240         * modules/fchmodat (Files): Add lib/chmodat.c.
2241         * modules/fchownat (Files): Add lib/chownat.c.
2242         * modules/fstatat (Files): Add lib/statat.c.
2243
2244 2012-10-15  Jim Meyering  <jim@meyering.net>
2245
2246         fchmodat.c, fchownat.c: compile-impeding typos
2247         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
2248         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
2249         Introduced in commit v0.0-7636-gd202279.
2250
2251 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2252
2253         fcntl-h: support GNU flags like O_IGNORE_CTTY
2254         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
2255         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
2256         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
2257         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
2258         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
2259         Define to 0 if not already defined.
2260         * tests/test-fcntl-h.c: Test these new flags.
2261
2262 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
2263
2264         faccessat, etc.: support AT_FDCWD-only use
2265         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
2266         this function only if its first argument is AT_FDCWD.
2267         Emacs wants faccessat for AT_EACCESS but not for any first-arg
2268         values other than AT_FDCWD, so it doesn't want all the openat
2269         machinery with fchdir etc.
2270         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
2271         * modules/fstatat, modules/mkdirat, modules/openat (Files):
2272         * modules/unlinkat (Files):
2273         Remove lib/openat-priv.h, as at-internal supplies this file.
2274         Removing this file here allows us to support programs like Emacs
2275         that avoid at-internal.
2276
2277         faccessat: speed up 'configure' on mainstream hosts
2278         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
2279         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
2280         since it's only on unusual platforms that we need to check for
2281         'access', and it's better not to slow 'configure' down on all
2282         platforms.
2283
2284         faccessat: port to Solaris 10
2285         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
2286         Needed on Solaris 10, which doesn't have AT_EACCESS,
2287         so we need the Gnulib fcntl.h, which defines it.
2288
2289 2012-10-14  Pádraig Brady  <P@draigBrady.com>
2290         canonicalize: fix C89 compilation
2291         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
2292         declarations so C89 is supported.  Also remove the comment
2293         referencing memorty allocation as the suggested feature could
2294         not be implemented as suggested.
2295         Reported by Michael Goffioul.
2296
2297 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2298
2299         group-member: omit unnecessary dependencies
2300         This is for Emacs, which has its own allocator and where we
2301         don't want to use xalloc.
2302         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
2303         since we no longer use xmalloc.  Do not include stdbool.h, since
2304         the changes below happen to remove the only use of bool.
2305         (GROUPBUF_SIZE): New constant.
2306         (struct group_info): Remove n_groups member.  Add groupbuf member.
2307         This lets us get the groups without using malloc, usually.
2308         (free_group_info, get_group_info): Adjust to this.
2309         (get_group_info): Return the number of groups found, or -1 on error.
2310         Use plain malloc not xmalloc, and treat its failure as if there
2311         are no groups, as the user already loses in case of error.
2312         (group_member): Simplify, based on changes to get_group_info.
2313         * modules/group-member (Depends-on): Remove dependencies on
2314         xalloc and stdbool.  Add dependency on xalloc-oversized.
2315
2316 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
2317
2318         gethrxtime: port to C++
2319         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
2320
2321 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
2322
2323         ptsname: fix macro-name typo
2324         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
2325
2326 2012-10-03  Simon Josefsson  <simon@josefsson.org>
2327
2328         inttostr: Relax license.
2329         * modules/inttostr (License): Change from LGPL to LGPLv2+.
2330
2331 2012-10-03  Eric Blake  <eblake@redhat.com>
2332
2333         ptsname_r: support ptys returned by FreeBSD posix_openpt
2334         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
2335         lives in /dev/pts/.
2336
2337 2012-10-02  Eric Blake  <eblake@redhat.com>
2338
2339         pselect: reject invalid file descriptors
2340         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
2341         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
2342         * modules/pselect (Depends-on): Add dup2.
2343         * doc/posix-functions/pselect.texi (pselect): Document this.
2344
2345         select: reject invalid file descriptors
2346         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
2347         * lib/select.c (rpl_select) [!win32]: Work around it.
2348         * modules/select (Depends-on): Add dup2.
2349         * doc/posix-functions/select.texi (select): Document this.
2350
2351         select: enhance test
2352         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
2353         New functions.
2354         (test_function): Enhance test.
2355         (do_select_bad_fd): Avoid any stale errno values.
2356
2357         ptsname: reject invalid file descriptors
2358         http://www.austingroupbugs.net/view.php?id=503
2359         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
2360         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
2361         * modules/stdlib (Makefile.am): Replace witness.
2362         * lib/stdlib.in.h (ptsname): Allow for replacement.
2363         * modules/ptsname (configure.ac): Trigger replacement.
2364         * doc/posix-functions/ptsname.texi (ptsname): Document this.
2365
2366 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
2367
2368         hash-pjw-bare: new module
2369         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
2370         * lib/hash-pjw-bare.h: Likewise.
2371         * modules/hash-pjw-bare: New file.
2372         * MODULES.html.sh (Misc): Add it.
2373
2374 2012-10-02  Eric Blake  <eblake@redhat.com>
2375
2376         manywarnings: cater to more gcc infelicities
2377         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
2378         -Wuninitialized without -O.
2379
2380 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
2381
2382         select, poll tests: Make setsockopt invocation effective.
2383         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
2384         the bind() call.
2385         * tests/test-select.h (open_server_socket): Likewise.
2386
2387 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
2388
2389         sockets, sys_stat: restore AC_C_INLINE
2390         This undoes the 2012-09-22 patch.
2391         * m4/sockets.m4 (gl_SOCKETS):
2392         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2393         Restore AC_C_INLINE, since MSVC requires __inline or _inline
2394         and does not support plain 'inline'.  Reported by Bruno Haible in
2395         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
2396
2397 2012-09-30  Bruno Haible  <bruno@clisp.org>
2398
2399         localeconv tests: Avoid test failure on OpenIndiana.
2400         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
2401         skip the 'grouping' and 'mon_grouping' tests.
2402         Reported by Jim Meyering.
2403
2404 2012-09-30  Bruno Haible  <bruno@clisp.org>
2405
2406         havelib: Follow libtool developments.
2407         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
2408         Suggested by Simon Josefsson.
2409
2410 2012-09-29  Jim Meyering  <meyering@redhat.com>
2411
2412         fstatat.c: fix a compile-impeding typo
2413         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
2414         Introduced in commit v0.0-7636-gd202279.
2415         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
2416
2417 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
2418
2419         extern-inline: provide a -Wundef safe config.h
2420         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
2421         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
2422         to produce a -Wundef warning free config.h.
2423
2424 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2425
2426         hash-pjw: relax license to LGPLv2+
2427         * modules/hash-pjw (License): Relax, with consent of author.
2428
2429 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2430
2431         maint.mk: fix strict vs. lazy variable issues with RELEASE
2432         * top/maint.mk (_equal): New function.
2433         (member_check): Strip the result to avoid spurious spaces.
2434         (url_dir_list): Do not use ifeq, which is strict, as it will
2435         require RELEASE_TYPE to be defined.
2436         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
2437         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
2438         (announcement_Cc_alpha,announcement_mail_headers_alpha)
2439         (announcement_Cc_beta,announcement_mail_headers_beta)
2440         (announcement_Cc_stable,announcement_mail_headers_stable): these.
2441         (release): Do not depend on $(release-type), as it forces its
2442         evaluation.  Bounce to it.
2443
2444 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2445
2446         maint.mk: formatting changes
2447         * top/maint.mk: Indent bodies of if's.
2448
2449 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
2450
2451         maint.mk: factor the validation of RELEASE_TYPE
2452         With help from Jim Meyering.
2453         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
2454         * top/maint.mk (_empty, _sp): Move their definition earlier.
2455         (member-check, release-type): New.
2456         Use the latter instead of $(RELEASE_TYPE).
2457         Remove now useless local checks.
2458
2459 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2460
2461         maint.mk: provide "make upload" to ease uploading
2462         See
2463         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
2464         Do not depend simply on the current $(VERSION), as there may have been
2465         new commits since the tarball generation.  Rather, rely on $(RELEASE),
2466         as "make release-commit" already does.
2467
2468         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
2469         "make TYPE".
2470
2471         * top/maint.mk (upload_command, upload, release): New.
2472         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
2473         (VERSION): first word of $(RELEASE) is always right.
2474         (emit_upload_commands): Adjust.
2475         * top/README-release: Update.
2476
2477 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2478
2479         maint.mk: silent rules
2480         With help from Stefano Lattarini.
2481         * top/maint.mk (writable-files): Use $(AM_V_GEN).
2482         (announcement): Use $(AM_V_at).
2483
2484 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2485
2486         localename: port gl_locale_name_thread_unsafe to FreeBSD
2487         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
2488         and use the simpler FreeBSD implementation on Mac OS X as well.
2489         Original idea suggested by Ed Maste in
2490         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
2491
2492 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
2493
2494         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
2495         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
2496         * lib/mbuiter.c, lib/xsize.c: New files.
2497         * lib/binary-io.h (BINARY_IO_INLINE):
2498         * lib/eealloc.h (EEALLOC_INLINE):
2499         * lib/mbfile.h (MBFILE_INLINE):
2500         * lib/mbiter.h (MBITER_INLINE):
2501         * lib/mbuiter.h (MBUITER_INLINE):
2502         * lib/xsize.h (XSIZE_INLINE):
2503         New macros.
2504         Replace all uses of 'static inline' with them.
2505         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2506         * m4/eealloc.m4 (gl_EEALLOC):
2507         * m4/mbfile.m4 (gl_MBFILE):
2508         * m4/mbiter.m4 (gl_MBITER):
2509         * m4/xsize.m4 (gl_XSIZE):
2510         Do not require AC_C_INLINE.
2511         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
2512         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
2513         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
2514         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
2515         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
2516         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
2517         * modules/binary-io, modules/eealloc, modules/mbfile:
2518         * modules/mbiter, modules/mbuiter:
2519         (Depends-on): Add extern-inline.
2520
2521         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
2522         * lib/pipe-filter-aux.c: New file.
2523         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
2524         Replace all uses of 'static inline' with it.
2525         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2526         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
2527         (filter_retcode): No real need for inline here.
2528         * modules/pipe-filter-gi, modules/pipe-filter-ii:
2529         (Files): Add lib/pipe-filter-aux.c.
2530         (Depends-on): Add extern-inline.
2531         (configure.ac): Do not require AC_C_INLINE.
2532         (lib_SOURCES): Add pipe-filter-aux.c.
2533
2534         fdutimensat: omit unnecessary AC_C_INLINE
2535         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
2536
2537         fchmodat, fchownat, fstatat: use extern-inline
2538         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
2539         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
2540         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
2541         New macros.
2542         * lib/openat.h:
2543         Replace all uses of 'static inline' with them.
2544         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2545         * modules/fchmodat, modules/fchownat, modules/fstatat:
2546         * modules/openat-h:
2547         (Depends-on):
2548         Add extern-inline.
2549         (configure.ac): Remove AC_C_INLINE.
2550
2551         acl, mbchar, priv-set: use extern-inline
2552         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
2553         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
2554         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
2555         New macros.
2556         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
2557         Replace all uses of 'static inline' with it.
2558         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2559         * m4/acl.m4 (gl_FUNC_ACL):
2560         * m4/mbchar.m4 (gl_MBCHAR):
2561         * m4/priv-set.m4 (gl_PRIV_SET):
2562         Remove AC_C_INLINE, since 'inline' is no longer used directly.
2563         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
2564         Add extern-inline.
2565
2566         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
2567         * m4/sockets.m4 (gl_SOCKETS):
2568         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2569         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
2570         environments where it's already guaranteed to work, so we needn't
2571         check for it at 'configure'-time.
2572
2573         tls-tests: omit unnecessary 'inline'
2574         * tests/test-tls.c (perhaps_yield): No longer inline.
2575         Simplicity and portability trump efficiency in test cases.
2576
2577         utimens-tests: avoid unnecessary 'inline'
2578         * modules/fdutimensat-tests (configure.ac):
2579         * modules/futimens-tests (configure.ac):
2580         * modules/utimens-tests (configure.ac):
2581         * modules/utimensat-tests (configure.ac):
2582         Remove AC_C_INLINE.
2583         * tests/test-utimens-common.h (ctime_compare):
2584         No longer inline.  Simplicity and portability trump efficiency here.
2585
2586         misc: don't limit commentary to inline functions
2587         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
2588         * lib/xalloc-oversized.h, lib/xsize.h:
2589         Contrast macros to functions in general, not just to inline functions,
2590         when the commentary does not apply only to inline functions.
2591
2592 2012-09-20  Jim Meyering  <meyering@redhat.com>
2593
2594         non-recursive-gnulib-prefix-hack: new module
2595         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
2596         the file that originated in Bison.
2597         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
2598         largely copied from a snippet that resided in bison's configure.ac.
2599         * modules/non-recursive-gnulib-prefix-hack: New file.
2600         * MODULES.html.sh (Support for maintaining and releasing projects):
2601         Add it.
2602
2603 2012-09-18  Jim Meyering  <meyering@redhat.com>
2604
2605         maint.mk: generalize _gl_tight_scope for non-recursive make
2606         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
2607         that *.h would describe additional .h files in the directory
2608         specified by $(_gl_TS_dir).  I.e., add this...
2609         (_gl_TS_other_headers): New variable.
2610
2611         maint.mk: exempt trailing blanks found in "binary" files
2612         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
2613         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
2614         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2615
2616 2012-09-17  Jim Meyering  <meyering@redhat.com>
2617
2618         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
2619         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
2620         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
2621         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2622
2623 2012-09-17  Jim Meyering  <meyering@redhat.com>
2624
2625         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
2626         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
2627         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
2628         It is not in the same category as "exit (0)" or "exit (1)", and
2629         besides, I know of no symbolic name for that 77.  Reported by
2630         Richard W.M. Jones in
2631         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2632
2633 2012-09-17  Jim Meyering  <meyering@redhat.com>
2634
2635         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
2636         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
2637         all uses of #define, not just those that start in column 1.
2638         Richard W.M. Jones reported a false positive in
2639         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2640
2641 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
2642
2643         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
2644         * lib/localcharset.c (locale_charset) [DARWIN7]:
2645         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
2646         as these two values are incompatible.  Problem reported by Max Horn.
2647         For more discussion, please see
2648         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
2649
2650         doc: document sticky-EOF issue
2651         * doc/posix-functions/fgetc.texi (fgetc):
2652         * doc/posix-functions/fgets.texi (fgets):
2653         * doc/posix-functions/fread.texi (fread):
2654         * doc/posix-functions/fscanf.texi (fscanf):
2655         * doc/posix-functions/getc.texi (getc):
2656         * doc/posix-functions/getchar.texi (getchar):
2657         * doc/posix-functions/scanf.texi (scanf):
2658         Mention that glibc and default Solaris do not conform to
2659         C99 and POSIX-2001 or later, with respect to how getchar
2660         etc. behave when feof reports nonzero.
2661
2662 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2663
2664         poll: fix poll(0, NULL, msec)
2665         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
2666         but nfd is 0.  In that case poll should behave like select.
2667
2668 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2669             Paolo Bonzini <bonzini@gnu.org>
2670
2671         poll: fix for systems that can't recv() on a non-socket
2672         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
2673         is readable.  In this case POLLHUP will not be supported.
2674         * doc/posix-functions/poll.texi: Document this.
2675
2676 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
2677
2678         poll/select: document portability problems not fixed by Gnulib.
2679         * doc/posix-functions/poll.texi: poll does not work well on
2680         pipes under Windows.  It has the same limitations as select on
2681         BeOS.
2682         * doc/posix-functions/select.texi: select does not work well
2683         on pipes under Windows.
2684
2685 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
2686
2687         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
2688         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
2689         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
2690         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
2691
2692 2012-09-06  Eric Blake  <eblake@redhat.com>
2693
2694         net_if: give more details about the bug being fixed
2695         * doc/posix-headers/net_if.texi: Add clarification.
2696
2697 2012-09-05  Eric Blake  <eblake@redhat.com>
2698
2699         net_if: new module
2700         * modules/net_if: New module, borrowing ideas from netinet_in.
2701         * m4/net_if_h.m4: New file.
2702         * lib/net_if.in.h: Likewise.
2703         * doc/posix-headers/net_if.texi (net/if.h): Document it.
2704         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2705         * tests/test-net_if.c: Make function checks conditional.
2706         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
2707
2708 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
2709
2710         readutmp: fix non-portable UT_PID use
2711         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
2712         Use `UT_PID (u) > 0' as absolute condition.
2713
2714 2012-09-04  Jim Meyering  <meyering@redhat.com>
2715
2716         fts: reduce two or more trailing spaces to just one, usually
2717         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
2718         or more slashes, trim all but the final one.  But if a name consists
2719         solely of two slashes, don't modify it.  If it consists solely of
2720         three or more slashes, strip all but one.
2721
2722         This is part of the solution to a minor problem with rm:
2723         it would print a bogus ELOOP diagnostic when failing to remove
2724         the slash-decorated name of a symlink-to-directory:
2725
2726             $ mkdir d && ln -s d s && env rm -r s/
2727             rm: cannot remove 's': Too many levels of symbolic links
2728
2729         With the change below and a trivial don't-trim-trailing-slashes
2730         adjustment to remove.c, it does this:
2731
2732             $ env rm -r s/
2733             rm: cannot remove 's/': Not a directory
2734
2735         Improved by: Eric Blake
2736
2737         fts: when there is no risk of overlap, use memcpy, not memmove
2738         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
2739
2740 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2741
2742         stdbool: be more compatible with mixed C/C++ compiles
2743         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
2744         Define to bool, true, false, respectively, as GCC's builtin
2745         stdbool.h does.  Problem reported by Michael Goffioul in
2746         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
2747
2748 2012-08-28  Jim Meyering  <meyering@redhat.com>
2749
2750         revert last change: it was not needed
2751         * tests/test-vc-list-files-git.sh: There's already a test for
2752         a working git, just below.
2753
2754 2012-08-28  Jim Meyering  <meyering@redhat.com>
2755
2756         tests: test-vc-list-files-git.sh: skip if git is not available
2757         * tests/test-vc-list-files-git.sh: Skip this test when git is
2758         not available.
2759
2760 2012-08-26  Bruno Haible  <bruno@clisp.org>
2761
2762         gnulib-tool: Remove no-op option --no-changelog.
2763         * gnulib-tool (func_usage): Don't mention --no-changelog.
2764         (do_changelog): Remove variable.
2765         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2766
2767 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2768
2769         doc: remove fdl-1.2.texi
2770         It is no longer used or maintained, and its use of @acronym
2771         is problematic.  See the thread containing
2772         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
2773         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
2774         * doc/old-licenses/fdl-1.2.texi: Remove.
2775
2776         execinfo: port to FreeBSD
2777         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
2778         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
2779         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
2780         * modules/execinfo (Link): Add $(LIB_EXECINFO).
2781
2782 2012-08-23  Jim Meyering  <meyering@redhat.com>
2783
2784         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
2785         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
2786         to placate gcc's -Wold-style-declaration.
2787
2788 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2789
2790         doc: do not use @acronym
2791         * doc/inet_ntoa.texi (inet_ntoa):
2792         * doc/parse-datetime.texi (Seconds since the Epoch)
2793         (Specifying time zone rules):
2794         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
2795         Don't use @acronym.  Problem reported by John Darlington in
2796         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
2797
2798 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2799
2800         stdnoreturn: port to newer GCCs
2801         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
2802         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
2803         Problem reported by Jim Meyering in
2804         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
2805         Also, rename the 'test' function to a void a clash with the
2806         already-supplied 'main' function; this fixes a bug that incorrectly
2807         rejected GCC 4.7.1's <stdnoreturn.h>.
2808         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
2809         Document GCC problem.
2810
2811 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
2812
2813         pipe-filter: fix comment typo
2814         * lib/pipe-filter.h: Mention correct function.
2815
2816 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
2817
2818         execinfo: new module
2819         This is for Emacs.  Currently, it provides a no-effect stub
2820         on all platforms where it does not already work.
2821         It already works on glibc-based systems, and on Solaris 11.
2822         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
2823         New files.
2824         * doc/glibc-headers/execinfo.texi (execinfo.h):
2825         * MODULES.html.sh (Misc): Document it.
2826
2827 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2828
2829         extern-inline: support old GCC 'inline'
2830         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
2831         if available.  This applies to GCC versions 2.7 through 4.2, or
2832         when newer GCC is using -fgnu89-inline.  The goal is to address
2833         some of the performance issues mentioned by Bruno Haible in
2834         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
2835
2836 2012-08-20  Eric Blake  <eblake@redhat.com>
2837
2838         maint.mk: avoid redundant file name in message
2839         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
2840         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
2841         (sc_makefile_path_separator_check): Remove bogus $(ME).
2842
2843 2012-08-20  Mike Frysinger <vapier@gentoo.org>
2844
2845         timer-time: fix link order when static linking on glibc
2846         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
2847         _after_ -lrt so that it's significant.
2848
2849 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2850
2851         timespec: omit unnecessary AC_C_INLINE
2852         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
2853
2854         stat-time: omit unnecessary AC_C_INLINE
2855         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
2856         Do not require AC_C_INLINE.
2857
2858         ignore-value: omit unnecessary AC_C_INLINE
2859         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
2860
2861         sys_select: avoid 'static inline'
2862         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
2863
2864         mktime: avoid 'static inline'
2865         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
2866         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
2867
2868 2012-08-19  Bruno Haible  <bruno@clisp.org>
2869
2870         gnulib-tool: Improve coding style.
2871         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
2872         func_emit_lib_Makefile_am.
2873         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2874
2875 2012-08-19  Bruno Haible  <bruno@clisp.org>
2876
2877         gnulib-tool: Fix indentation.
2878         * gnulib-tool (func_import): Fix indentation.
2879
2880 2012-08-19  Bruno Haible  <bruno@clisp.org>
2881
2882         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
2883         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
2884         on the list of removed files.
2885
2886 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2887
2888         test-parse-datetime: avoid glibc leap-second glitch
2889         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
2890         with the 2012 rules.  Problem reported by Bruce Dubbs in
2891         <http://bugs.gnu.org/12206>.
2892
2893 2012-08-14  Bruno Haible  <bruno@clisp.org>
2894
2895         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
2896         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
2897         from argument.
2898         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2899
2900 2012-08-14  Eric Blake  <eblake@redhat.com>
2901
2902         ldexp: relax license
2903         * modules/ldexp (License): Trivial relax, since the module only
2904         provides a permissively licensed m4 file.
2905
2906 2012-08-13  Bruno Haible  <bruno@clisp.org>
2907
2908         gnulib-tool: Fix persistence of --witness-c-macro option.
2909         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
2910         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2911
2912 2012-08-11  Eric Blake  <eblake@redhat.com>
2913
2914         count-leading-zeros: use a lookup table on non-gcc compilers
2915         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
2916         alternate implementation, suggested by Jim Meyering.
2917
2918 2012-08-10  Eric Blake  <eblake@redhat.com>
2919
2920         count-leading-zeros: new module
2921         * modules/count-leading-zeros: New module.
2922         * m4/count-leading-zeros.m4: New file.
2923         * lib/count-leading-zeros.h: Likewise.
2924         * modules/count-leading-zeros-tests: New test.
2925         * tests/test-count-leading-zeros.c: New file.
2926         * MODULES.html.sh (Integer arithmetic functions): Document it.
2927
2928 2012-08-07  Simon Josefsson  <simon@josefsson.org>
2929             Jim Meyering  <meyering@redhat.com>
2930
2931         maintainer-makefile: Fix syntax error with dash.
2932         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
2933         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
2934
2935 2012-08-05  Jim Meyering  <meyering@redhat.com>
2936
2937         extern-inline: also ignore -Wmissing-declarations
2938         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
2939         required with gcc-4.8.0-to-be.
2940
2941         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
2942         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
2943         for /error ?([^,]*)/.  This avoids false-positives for strings like
2944         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
2945
2946 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2947
2948         gnumakefile: better interaction with Automake-NG
2949         * modules/gnumakefile [Makefile.am]: The makefiles generated by
2950         Automake-NG always contain a definition of VPATH, even in non-VPATH
2951         builds (its value being simply '.' in that case).  So, in the
2952         'clean-GNUmakefile' rule, to determine whether running under a
2953         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
2954         '$(VPATH)' expands to the empty string.
2955
2956 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
2957
2958         base64: Use extern C scope in header file, for C++.
2959         * lib/base64.h: Add C++ namespace protection.
2960
2961 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
2962
2963         stat-time, timespec, u64: support naive out-of-dir builds
2964         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
2965         Use '#include "foo.h"', not '#include <foo.h>', when including
2966         one's own interface.  This works better when configuring with
2967         out-of-directory builds, since packages need not add an
2968         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
2969
2970 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
2971
2972         utimens: use extern-inline
2973         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
2974         * lib/utimens.h: Add copyright notice, since this is now large enough
2975         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2976         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
2977         * modules/utimens (Depends-on): Add extern-inline.
2978
2979         u64: use extern-inline
2980         * lib/u64.c: New file.
2981         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2982         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
2983         * modules/u64 (Files): Add lib/u64.c.
2984         (Depends-on): Add extern-inline.
2985         (configure.ac): No need to require AC_C_INLINE, since extern-inline
2986         does that now.
2987         (lib_SOURCES): Add u64.c.
2988
2989         timespec: use extern-inline
2990         * lib/timespec.c: New file.
2991         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2992         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
2993         * modules/timespec (Files): Add lib/timespec.c.
2994         (Depends-on): Add extern-inline.
2995         (lib_SOURCES): Add timespec.c.
2996
2997         stat-time: use extern-inline
2998         * lib/stat-time.c: New file.
2999         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3000         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
3001         * modules/stat-time (Files): Add lib/stat-time.c.
3002         (Depends-on): Add extern-inline.
3003         (lib_SOURCES): Add stat-time.c.
3004
3005         extern-inline: new module
3006         * modules/extern-inline, m4/extern-inline.m4: New files.
3007         This is for better support of 'extern inline' a la ISO C99,
3008         with a portable alternative on compilers that do not support
3009         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
3010         of the Emacs executable, when compiled with debugging disabled,
3011         which is a typical way that Emacs is built while developing.
3012
3013 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
3014
3015         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
3016         * build-aux/do-release-commit-and-tag: Move variable definitions
3017         together.
3018         ($branch): Instead of defaulting to "master", default to the current
3019         branch (as gnu-web-doc-update does).
3020         (help): Display the current values of the option arguments.
3021         * top/maint.mk (release-commit): New.
3022         * top/README-release: Simplify the corresponding step.
3023
3024 2012-07-30  Eric Blake  <eblake@redhat.com>
3025
3026         passfd: fix comment on recvfd
3027         * lib/passfd.c (recvfd): Fix comment.
3028         Reported by Jann Horn <jannhorn@googlemail.com>.
3029
3030 2012-07-30  Jim Meyering  <meyering@redhat.com>
3031
3032         maint.mk: avoid a sub-shell
3033         * top/maint.mk (release-prep): Remove unneeded sub-shell.
3034
3035 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3036
3037         maint.mk: use silent-rules support from Automake
3038         * top/maint.mk (news-check, vc-diff-check, announcement)
3039         (no-submodule-changes, alpha beta stable, release-prep)
3040         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
3041
3042 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3043
3044         maint.mk: provide a web-manual-update target
3045         * top/maint.mk: here.
3046         * top/README-release: Use it to simplify the web manual update step.
3047
3048 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3049
3050         README-release: shorten the circuit to post a news
3051         * top/README-release: Point directly to the news submission form.
3052
3053 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3054
3055         gnu-web-doc-update: fix --help
3056         * build-aux/gnu-web-doc-update: The information "top level" was written
3057         twice.
3058
3059 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3060
3061         maint.mk: absolute VPATH issue
3062         * top/maint.mk (release-prep): Help Git find .git/.
3063         From Jim Meyering.
3064
3065 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3066
3067         gitlog-to-changelog: fix previous change
3068         * build-aux/gitlog-to-changelog: Fix condition.
3069         Add missing ";".
3070
3071 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3072
3073         gitlog-to-changelog: don't expect .git to be in $srcdir
3074         Reported by Bruno Haible.
3075         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
3076         * build-aux/gitlog-to-changelog (&git_dir_option): New.
3077         Use it.
3078
3079 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3080
3081         maint.mk: absolute VPATH build fix
3082         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
3083         $(srcdir) is not a parent of $(builddir).
3084
3085 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
3086
3087         clean-temp: Fix memory leak.
3088         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
3089         'files' members of tmpdir.
3090
3091 2012-07-27  Jim Meyering  <meyering@redhat.com>
3092
3093         maint.mk: new rule: refresh-gnulib-patches
3094         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
3095         Use this rule to refresh them.
3096         * top/maint.mk (refresh-gnulib-patches): New rule.
3097
3098 2012-07-24  Bruno Haible  <bruno@clisp.org>
3099
3100         gnulib-tool: Fix handling of inctests variable.
3101         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
3102         Reported by Nick Bowler <nbowler@elliptictech.com>.
3103
3104 2012-07-22  Bruno Haible  <bruno@clisp.org>
3105
3106         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
3107         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
3108         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
3109         Remove exemption for getpass.h.
3110         Suggested by Eric Blake.
3111
3112 2012-07-20  Eric Blake  <eblake@redhat.com>
3113
3114         verify: document conflict with -Wnested-externs
3115         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
3116
3117         maint.mk: forbid exit(-1)
3118         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
3119
3120 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
3121
3122         fsusage: port back to Solaris
3123         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
3124         error (fsd not declared) on Solaris 10.  Reported privately by
3125         Andrew Borodin.
3126
3127 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
3128
3129         gnu-web-doc-update: fix error messages
3130         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
3131
3132         gnu-web-doc-update: check the requirements.
3133         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
3134         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
3135         * build-aux/bootstrap (find_tool): Comment change.
3136
3137 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
3138
3139         maint.mk: minor simplication.
3140         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
3141         for default values.
3142
3143 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
3144
3145         gitlog-to-changelog: VPATH build issues
3146         If builddir is not a subdirectory of srcdir, running git from it will
3147         fail.
3148         * build-aux/gitlog-to-changelog (--srcdir): New option.
3149
3150 2012-07-15  Bruno Haible  <bruno@clisp.org>
3151
3152         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
3153         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
3154         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
3155         Remove exemption for fpending.h.
3156         Suggested by Eric Blake.
3157
3158 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
3159
3160         pthread_sigmask: fix bug on FreeBSD 9
3161         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
3162         Include string.h.
3163         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
3164         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
3165         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
3166         but pthread_sigmask (1729, NULL, NULL) returns zero.
3167         See <http://bugs.gnu.org/11884>.
3168         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
3169         by inspecting whether the main call changed the old mask.
3170
3171 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
3172
3173         README-release: make it more legible
3174         * top/README-release: Improve typography slightly.
3175
3176 2012-07-15  Jim Meyering  <meyering@redhat.com>
3177
3178         maint: require that each sc_... command start with "@"
3179         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
3180         "make sc_maint" helps us avoid this nit.
3181
3182 2012-07-15  Jim Meyering  <meyering@redhat.com>
3183
3184         maint.mk: add leading "@" to quiet new "make syntax-check" rule
3185         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
3186
3187 2012-07-13  Eric Blake  <eblake@redhat.com>
3188
3189         maint.mk: new syntax check for HAVE_DECL checks
3190         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
3191         * cfg.mk
3192         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
3193         Exempt some false positives.
3194         Based on a report by Karel Zak.
3195
3196         argp: make HAVE_DECL usage consistent
3197         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
3198         macros, not whether they are defined.
3199         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
3200         convention with other declaration checks.
3201         Reported by Karel Zak, with suggestions from Paul Eggert.
3202
3203         stat-time: relax license to LGPLv2+
3204         * modules/stat-time (License): Relax, with consent of all authors.
3205
3206         strndup: fix m4 usage error
3207         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
3208         defined, to either 0 or 1.
3209         Reported by Karel Zak.
3210
3211 2012-07-11  Jim Meyering  <meyering@redhat.com>
3212
3213         maint: enable the sc_avoid_if_before_free syntax-check rule
3214         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
3215         (if_before_free_offenders_): Define.
3216         (if_before_free_basename_re_): Define.
3217         Exempt current files with useless if-before-free.
3218
3219 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
3220
3221         gettext: do not assume '#define ... defined ...' behavior
3222         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
3223         Do not use '#define FOO ... defined BAR ...', as the C standard says
3224         it's not portable to expect that this works after macro expansion.
3225         Problem reported for gzip by Steven M. Schweda in
3226         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
3227
3228 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
3229
3230         getloadavg: clean out old Emacs and Autoconf cruft
3231         See Glenn Morris in <http://bugs.gnu.org/11905>.
3232         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
3233         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
3234         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
3235         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
3236
3237 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
3238
3239         bootstrap: let warn be like tests/init.sh's warn_
3240         Reported by Jim Meyering.
3241         * build-aux/bootstrap (warn): Remove, replaced by...
3242         (warnf_, warn_): these.
3243         Adjust callers.
3244         Shorten messages that no longer fit in 80 columns.
3245
3246 2012-07-09  Bruno Haible  <bruno@clisp.org>
3247
3248         getopt: Simplify after Emacs changed.
3249         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
3250         (gl_GETOPT_IFELSE): Remove macro.
3251
3252 2012-07-09  Jim Meyering  <meyering@redhat.com>
3253
3254         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
3255         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
3256
3257         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
3258         Bugs in both of those conspired to make the
3259         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
3260         _sc_search_regexp's handling of non-empty $in_files would filter
3261         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
3262         choice of in_files value meant there would be no match in most
3263         projects, due to the presence of two or more Makefile.in files.
3264         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
3265         Fix a bug in how a non-empty $$in_files was processed:
3266         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
3267         in spite of the name, it's a regexp, not a list of file names.
3268
3269 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
3270
3271         getloadavg, getopt: fix commentary re configure.in
3272         Autoconf is deprecating the name 'configure.in', so change it to
3273         to the new name 'configure.ac' in a couple of places.
3274         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
3275         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
3276         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
3277         Emacs has renamed it to configure.ac, and it no longer refers
3278         to these macros anyway.
3279
3280         timespec: mark functions with const attributes
3281         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
3282         Mark with _GL_ATTRIBUTE_CONST.
3283
3284 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
3285
3286         canonicalize[-lgpl]: handle "guessing" values when cross-building
3287         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
3288         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
3289         matches "*yes" instead of just "yes".  Regression introduced in commit
3290         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
3291
3292 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
3293             Bruno Haible  <bruno@clisp.org>
3294
3295         canonicalize: make the right guess when cross-compiling to GNU
3296         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
3297         determine whether cross-compiling to glibc systems, so as to
3298         include GNU/Hurd.
3299
3300 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3301
3302         timespec-sub: avoid duplicate include
3303         * lib/timespec-sub.c: Do not include <config.h> twice.
3304         Reported by Juanma Barranquero.
3305
3306 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
3307
3308         bootstrap: use a more consistent error reporting scheme
3309         * build-aux/bootstrap (warn, die): New.
3310         Use them.
3311
3312 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
3313
3314         sys_time: allow too-wide tv_sec
3315         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
3316         timeval even if tv_sec is wider than time_t.  This allows
3317         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
3318         as without this patch gnulib replaces struct timeval
3319         and OpenBSD futimes therefore has a type mismatch.
3320         * doc/posix-headers/sys_time.texi: Mention this.
3321
3322         pthread: check for both pthread_create and pthread_join
3323         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
3324         alter the check so that it tests for both pthread_create and
3325         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
3326         Suggested by Bruno Haible and Richard Yao in
3327         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
3328
3329         parse-datetime: doc tuneup
3330         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
3331         spacing issues.
3332
3333 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
3334
3335         do-release-commit-and-tag: fix the previous commit
3336         * build-aux/do-release-commit-and-tag: Actually the test was right,
3337         but the comment and the error message were misleading.
3338         Fix comment, and improve error message.
3339         Perform check first, so that NEWS is not modified uselessly.
3340
3341         do-release-commit-and-tag: fix typo
3342         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
3343         _not_ start with a stub.
3344
3345 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
3346
3347         pthread: check for pthread_create, not pthread_join
3348         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
3349         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
3350         pthread_join in libc.  I hope this removes the need for all the
3351         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
3352         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
3353
3354 2012-07-04  Jim Meyering  <meyering@redhat.com>
3355
3356         parse-datetime: fix failure to diagnose invalid input
3357         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
3358         rather than diagnosing the invalid input.  Now it reports this:
3359         date: invalid date '\260'
3360         * lib/parse-datetime.y (to_uchar): Define.
3361         (yylex): Don't sign-extend "other" bytes.
3362         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
3363         Thanks to Bruno Haible for the patch to this file.
3364         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
3365         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
3366
3367 2012-07-03  Jim Meyering  <meyering@redhat.com>
3368
3369         bootstrap: do not require now-removed build-aux/missing
3370         Now that build-aux/missing is, er, missing, bootstrap would
3371         silently fail.
3372         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
3373         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
3374         no longer part of gnulib.
3375         Diagnose the failure.
3376
3377 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
3378
3379         alloca: add support for HP NonStop TNS/E native
3380         * lib/alloca.in.h (alloca): Support the new host.
3381         From a suggestion by Joachim Schmitz in
3382         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
3383
3384 2012-07-02  Pádraig Brady  <P@draigBrady.com>
3385
3386         fsusage: remove code not needed on non GNU/Linux systems.
3387
3388         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3389         Don't include headers no longer needed in this case.
3390         * lib/fsusage.c [STAT_STATVFS &&
3391         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
3392         STAT_STATFS2_FRSIZE to exclude code not used in this case.
3393
3394 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3395
3396         fsusage: include files needed for glibc 2.6 fallback
3397         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3398         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
3399         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
3400         Problem reported by Ludovic Courtès in
3401         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
3402
3403         fsusage: avoid needless check on GNU/Linux
3404         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
3405         on GNU/Linux systems, since it can't possibly work.
3406
3407 2012-07-01  Bruno Haible  <bruno@clisp.org>
3408
3409         log: Fix an autoconf >= 2.64 warning.
3410         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
3411         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3412
3413 2012-06-28  Bruno Haible  <bruno@clisp.org>
3414
3415         log10f: Fix possible configuration problem.
3416         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
3417         $LOGF_LIBM.
3418         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3419
3420 2012-06-28  Bruno Haible  <bruno@clisp.org>
3421
3422         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
3423         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
3424         not gl_cv_func_unlink_works.
3425         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3426
3427 2012-06-27  Eric Blake  <eblake@redhat.com>
3428
3429         config: drop scripts that automake says are not independent
3430         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
3431         * build-aux/elisp-comp: Delete.
3432         * build-aux/missing: Likewise.
3433         * build-aux/ylwrap: Likewise.
3434         * modules/elisp-comp: Likewise.
3435         * MODULES.html.sh: Drop mention of elisp-comp.
3436         * NEWS: Mention this.
3437
3438 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
3439
3440         root-uid: new module
3441         This is for portability to Tandem's NonStop Kernel.
3442         * lib/root-uid.h, modules/root-uid: New files.
3443         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
3444         * lib/write-any-file.c, tests/test-sethostname2.c:
3445         Include "root-uid.h".
3446         * lib/euidaccess.c (euidaccess):
3447         * lib/pt_chown.c (main):
3448         * lib/unlinkdir.c (cannot_unlink_dir):
3449         * lib/write-any-file.c (can_write_any_file):
3450         * m4/mknod.m4 (gl_FUNC_MKNOD):
3451         * tests/test-sethostname2.c (geteuid, main):
3452         Don't assume ROOT_UID == 0.
3453         * modules/euidaccess (Depends-on):
3454         * modules/pt_chown (Depends-on):
3455         * modules/sethostname-tests (Depends-on):
3456         * modules/unlinkdir (Depends-on):
3457         * modules/write-any-file (Depends-on):
3458         Add root-uid.
3459
3460         regex: use locale-independent comparison for codeset name
3461         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
3462         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
3463         for codeset name.
3464         * lib/regex_internal.h: Do not include <strings.h>, since we
3465         no longer use strcasecmp.
3466         * modules/regex (Depends-on): Remove strcase.
3467
3468 2012-06-23  Bruno Haible  <bruno@clisp.org>
3469
3470         getopt-posix: No longer guarantee that option processing is resettable.
3471         * doc/posix-functions/getopt.texi: Drop description of problem with
3472         internal state. Fix info about mingw and msvc9.
3473         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
3474         option processing by getopt(). Run three test programs instead of one.
3475         Simplify cross-compilation guess.
3476         * NEWS: Mention the change.
3477         Reported by Rich Felker <dalias@aerifal.cx>.
3478
3479 2012-06-26  Bruno Haible  <bruno@clisp.org>
3480
3481         argp, regex: Ensure strcasecmp gets declared.
3482         * lib/argp-help.c: Include <strings.h>.
3483         * lib/regex_internal.h: Likewise.
3484         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
3485
3486 2012-06-24  Bruno Haible  <bruno@clisp.org>
3487
3488         ptsname_r: Make it consistent with ptsname on AIX.
3489         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
3490         implementation as for OSF/1.
3491         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
3492         a pty master.
3493
3494         ptsname_r: Make it consistent with ptsname on OSF/1.
3495         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3496         OSF/1.
3497
3498 2012-06-24  Bruno Haible  <bruno@clisp.org>
3499
3500         ttyname_r: Fix result on OSF/1, Solaris.
3501         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
3502
3503 2012-06-24  Bruno Haible  <bruno@clisp.org>
3504
3505         ptsname_r: Add support for Solaris.
3506         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3507         Solaris.
3508
3509         ptsname_r: Fix test failure on native Windows.
3510         * modules/ptsname_r (Depends-on): Add isatty.
3511
3512         ptsname_r: Fix test failures on IRIX, Solaris.
3513         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
3514         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
3515         accordingly.
3516         * lib/ptsname_r.c: Include <fcntl.h>.
3517         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
3518         set errno if fd is invalid.
3519         * tests/test-isatty.c (main): Update comments.
3520
3521 2012-06-24  Bruno Haible  <bruno@clisp.org>
3522
3523         ptsname test: Extend test.
3524         * tests/test-ptsname.c: Include <errno.h>.
3525         (main): Test behaviour with invalid file descriptor.
3526
3527 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
3528
3529         time: fix obsolete comment
3530         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
3531         reference to HAVE_STRUCT_TIMESPEC in comment.
3532
3533 2012-06-23  Bruno Haible  <bruno@clisp.org>
3534
3535         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
3536         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
3537         does not handle abbreviated long options with equivalent
3538         disambiguations, set gl_replace_getopt to yes.
3539         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
3540
3541 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
3542
3543         time_r: fix typo that always overrode localtime_r decl
3544         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
3545         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
3546         not in a standard include.
3547
3548 2012-06-22  Bruno Haible  <bruno@clisp.org>
3549
3550         Write "Mac OS X" instead of "MacOS X".
3551         * README: Write "Mac OS X" instead of "MacOS X".
3552         * build-aux/bootstrap: Likewise.
3553         * build-aux/install-reloc: Likewise.
3554         * lib/acl-internal.h: Likewise.
3555         * lib/acl_entries.c: Likewise.
3556         * lib/argp-ba.c: Likewise.
3557         * lib/argp-pv.c: Likewise.
3558         * lib/config.charset: Likewise.
3559         * lib/copy-acl.c: Likewise.
3560         * lib/csharpexec.c: Likewise.
3561         * lib/euidaccess.c: Likewise.
3562         * lib/fbufmode.c: Likewise.
3563         * lib/fflush.c: Likewise.
3564         * lib/file-has-acl.c: Likewise.
3565         * lib/filemode.h: Likewise.
3566         * lib/fpurge.c: Likewise.
3567         * lib/freadable.c: Likewise.
3568         * lib/freadahead.c: Likewise.
3569         * lib/freading.c: Likewise.
3570         * lib/freadptr.c: Likewise.
3571         * lib/freadseek.c: Likewise.
3572         * lib/fseeko.c: Likewise.
3573         * lib/fseterr.c: Likewise.
3574         * lib/fsusage.c: Likewise.
3575         * lib/fwritable.c: Likewise.
3576         * lib/fwriting.c: Likewise.
3577         * lib/get-rusage-as.c: Likewise.
3578         * lib/get-rusage-data.c: Likewise.
3579         * lib/getdomainname.c: Likewise.
3580         * lib/idpriv-drop.c: Likewise.
3581         * lib/idpriv-droptemp.c: Likewise.
3582         * lib/localcharset.c: Likewise.
3583         * lib/locale.in.h: Likewise.
3584         * lib/localename.c: Likewise.
3585         * lib/mbsrtowcs-state.c: Likewise.
3586         * lib/nproc.c: Likewise.
3587         * lib/passfd.c: Likewise.
3588         * lib/posix_openpt.c: Likewise.
3589         * lib/printf-parse.c: Likewise.
3590         * lib/progreloc.c: Likewise.
3591         * lib/safe-read.h: Likewise.
3592         * lib/safe-write.h: Likewise.
3593         * lib/sched.in.h: Likewise.
3594         * lib/set-mode-acl.c: Likewise.
3595         * lib/signal.in.h: Likewise.
3596         * lib/stdint.in.h: Likewise.
3597         * lib/stdio-impl.h: Likewise.
3598         * lib/stdlib.in.h: Likewise.
3599         * lib/strtod.c: Likewise.
3600         * lib/sys_select.in.h: Likewise.
3601         * lib/tcgetsid.c: Likewise.
3602         * lib/unistd.in.h: Likewise.
3603         * lib/unlockpt.c: Likewise.
3604         * lib/vasnprintf.c: Likewise.
3605         * lib/vma-iter.c: Likewise.
3606         * lib/wcsrtombs-state.c: Likewise.
3607         * m4/acl.m4: Likewise.
3608         * m4/acosl.m4: Likewise.
3609         * m4/asinl.m4: Likewise.
3610         * m4/atanl.m4: Likewise.
3611         * m4/c-stack.m4: Likewise.
3612         * m4/cosl.m4: Likewise.
3613         * m4/expl.m4: Likewise.
3614         * m4/extensions.m4: Likewise.
3615         * m4/fdatasync.m4: Likewise.
3616         * m4/fmal.m4: Likewise.
3617         * m4/frexp.m4: Likewise.
3618         * m4/frexpf.m4: Likewise.
3619         * m4/frexpl.m4: Likewise.
3620         * m4/fsusage.m4: Likewise.
3621         * m4/getdomainname.m4: Likewise.
3622         * m4/getloadavg.m4: Likewise.
3623         * m4/getopt.m4: Likewise.
3624         * m4/gettext.m4: Likewise.
3625         * m4/gnulib-common.m4: Likewise.
3626         * m4/intdiv0.m4: Likewise.
3627         * m4/intlmacosx.m4: Likewise.
3628         * m4/largefile.m4: Likewise.
3629         * m4/ldexpl.m4: Likewise.
3630         * m4/link-follow.m4: Likewise.
3631         * m4/locale-ar.m4: Likewise.
3632         * m4/locale-fr.m4: Likewise.
3633         * m4/locale-ja.m4: Likewise.
3634         * m4/locale-tr.m4: Likewise.
3635         * m4/locale-zh.m4: Likewise.
3636         * m4/locale_h.m4: Likewise.
3637         * m4/lock.m4: Likewise.
3638         * m4/logl.m4: Likewise.
3639         * m4/mathfunc.m4: Likewise.
3640         * m4/minus-zero.m4: Likewise.
3641         * m4/mktime.m4: Likewise.
3642         * m4/mmap-anon.m4: Likewise.
3643         * m4/multiarch.m4: Likewise.
3644         * m4/nanosleep.m4: Likewise.
3645         * m4/nocrash.m4: Likewise.
3646         * m4/poll.m4: Likewise.
3647         * m4/printf-frexpl.m4: Likewise.
3648         * m4/printf.m4: Likewise.
3649         * m4/signbit.m4: Likewise.
3650         * m4/sinl.m4: Likewise.
3651         * m4/sqrtl.m4: Likewise.
3652         * m4/strerror_r.m4: Likewise.
3653         * m4/tanl.m4: Likewise.
3654         * m4/threadlib.m4: Likewise.
3655         * m4/ttyname_r.m4: Likewise.
3656         * m4/unlink.m4: Likewise.
3657         * m4/visibility.m4: Likewise.
3658         * m4/wcwidth.m4: Likewise.
3659         * tests/minus-zero.h: Likewise.
3660         * tests/test-alloca-opt.c: Likewise.
3661         * tests/test-copy-acl.sh: Likewise.
3662         * tests/test-copy-file.sh: Likewise.
3663         * tests/test-fdatasync.c: Likewise.
3664         * tests/test-file-has-acl.sh: Likewise.
3665         * tests/test-flock.c: Likewise.
3666         * tests/test-fsync.c: Likewise.
3667         * tests/test-localename.c: Likewise.
3668         * tests/test-malloca.c: Likewise.
3669         * tests/test-nonblocking-pipe.h: Likewise.
3670         * tests/test-nonblocking-socket.h: Likewise.
3671         * tests/test-openpty.c: Likewise.
3672         * tests/test-posix_openpt.c: Likewise.
3673         * tests/test-ptsname.c: Likewise.
3674         * tests/test-ptsname_r.c: Likewise.
3675         * tests/test-sameacls.c: Likewise.
3676         * tests/test-select.h: Likewise.
3677         * tests/test-set-mode-acl.sh: Likewise.
3678         * tests/test-snprintf-posix.h: Likewise.
3679         * tests/test-sprintf-posix.h: Likewise.
3680         * tests/test-strtod.c: Likewise.
3681         * tests/test-time.c: Likewise.
3682         * tests/test-vasnprintf-posix.c: Likewise.
3683         * tests/test-vasprintf-posix.c: Likewise.
3684         * doc/acl-resources.txt: Likewise.
3685         * doc/**/*.texi: Likewise.
3686         Reported by Max Horn <max@quendi.de>.
3687
3688 2012-06-22  Bruno Haible  <bruno@clisp.org>
3689
3690         grantpt: Relax requirement regarding invalid file descriptors.
3691         * lib/grantpt.c: Don't include <fcntl.h>.
3692         (grantpt): Don't verify the validity of the file descriptor.
3693         * modules/grantpt (Depends-on): Remove fcntl-h.
3694         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
3695         file descriptors.
3696         * doc/posix-functions/grantpt.texi: Document more platforms on which
3697         grantpt succeeds for invalid file descriptors.
3698         Reported by Rich Felker <dalias@aerifal.cx>.
3699
3700 2012-06-22  Bruno Haible  <bruno@clisp.org>
3701
3702         fbufmode test: Don't test unportable behaviour.
3703         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
3704         (main): Invoke it three times.
3705         Reported by Szabolcs Nagy <nsz@port70.net>
3706         and Rich Felker <dalias@aerifal.cx>.
3707
3708 2012-06-21  Bruno Haible  <bruno@clisp.org>
3709
3710         gnulib-tool: Refactor inctests variable.
3711         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
3712         (func_modules_transitive_closure,
3713         func_modules_transitive_closure_separately,
3714         func_import, func_create_testdir): Update.
3715
3716         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
3717         * gnulib-tool: Accept option --without-tests.
3718         (func_usage): Document --without-tests option. Rearrange.
3719         (inctests): Normalize according to the mode.
3720         * NEWS: Mention the change.
3721         Suggested by Simon Josefsson.
3722
3723 2012-06-21  Bruce Korb  <bkorb@gnu.org>
3724
3725         parse-duration test: Avoid spurious output.
3726         * tests/test-parse-duration.sh: Reindent with leading tabs.
3727
3728 2012-06-21  Jim Meyering  <meyering@redhat.com>
3729
3730         maint: disable the strncpy prohibition
3731         * cfg.mk: Do not prohibit strncpy here.
3732
3733 2012-06-21  Bruno Haible  <bruno@clisp.org>
3734
3735         nonblocking: Avoid compilation error on mingw64.
3736         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
3737         fscanf.
3738         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
3739         * modules/vfscanf (configure.ac): Likewise.
3740         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
3741         definition only if stdio.h has prepared it.
3742         Reported by Daniel P. Berrange <berrange@redhat.com>.
3743
3744 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
3745
3746         gnulib-tool: Use readlink if it is available.
3747         * gnulib-tool (func_readlink): Choose function more appropriately.
3748
3749 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
3750
3751         posixtm-tests: port to buggy compiler
3752         Problem reported by Simon Josefsson in
3753         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
3754         * modules/posixtm-tests (Depends-on): Add stdint.
3755         * tests/test-posixtm.c (struct posixtm_test.t_expected):
3756         Now of type int_least64_t, not int64_t, both because that's
3757         what INT64_C returns and because int_least64_t works even
3758         on 72-bit hosts.
3759         (T): Use INT64_C on constants outside the traditional int range,
3760         to work around compiler bug noted by Simon.
3761
3762         mktime: fix integer overflow in 'configure'-time test
3763         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
3764         after integer overflow.  Problem reported by Rich Felker in
3765         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
3766         Also, don't look for further instances of a bug if we've already
3767         found one instance; this helps 'configure' run faster.
3768
3769 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
3770
3771         tmpfile, clean-temp: Fix invocation of GetVersionEx.
3772         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
3773         GetVersionEx correctly.
3774         * lib/clean-temp.c (supports_delete_on_close): Likewise.
3775
3776 2012-06-20  Bruno Haible  <bruno@clisp.org>
3777
3778         fdopen: Allow implementations that don't reject invalid fd arguments.
3779         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
3780         succeeds.
3781         Reported by Rich Felker <dalias@aerifal.cx>.
3782
3783 2012-06-20  Simon Josefsson  <simon@josefsson.org>
3784
3785         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
3786         bring in LIBINTL.
3787
3788 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3789
3790         init.sh: do not rely on autoupated PWD
3791         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
3792         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
3793         Although Nelson's bug was not necessarily fixed by this patch,
3794         it seems wise to make the change for safety.
3795         * tests/init.sh (path_prepend_): Do not rely on PWD updating
3796         automagically after 'cd'; this is not reliable on older shells.
3797         (setup_): Fail if we cannot cd to temporary directory.
3798
3799 2012-06-19  Bruno Haible  <bruno@clisp.org>
3800
3801         stat, fstat: Avoid warnings on mingw64.
3802         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
3803         redefining.
3804         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
3805         Reported by Daniel P. Berrange <berrange@redhat.com>.
3806
3807 2012-06-19  Bruno Haible  <bruno@clisp.org>
3808
3809         stdioext: Add support for musl libc.
3810
3811         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
3812         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
3813
3814         * m4/fseterr.m4: New file.
3815         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
3816         function exists.
3817         * modules/fseterr (Files): Add m4/fseterr.m4.
3818         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
3819         __fseterr does not exist.
3820         (Makefile.am): Remove fseterr.c from lib_SOURCES.
3821
3822         * lib/freadable.h: Update comment.
3823
3824         * lib/fwritable.h: Update comment.
3825
3826         * lib/freading.h: Update comment.
3827
3828         * lib/fwriting.h: Update comment.
3829
3830         * m4/freadahead.m4: New file.
3831         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
3832         that function exists.
3833         * modules/freadahead (Files): Add m4/freadahead.m4.
3834         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
3835         __freadahead does not exist.
3836         (Makefile.am): Remove freadahead.c from lib_SOURCES.
3837
3838         * m4/freadptr.m4: New file.
3839         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
3840         function exists.
3841         * modules/freadptr (Files): Add m4/freadptr.m4.
3842         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
3843         __freadptr does not exist.
3844         (Makefile.am): Remove freadptr.c from lib_SOURCES.
3845
3846         * m4/freadseek.m4: New file.
3847         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
3848         exists.
3849         * modules/freadseek (Files): Add m4/freadseek.m4.
3850         (configure.ac): Invoke gl_FUNC_FREADSEEK.
3851
3852         * lib/fpurge.c (fpurge): Update comment.
3853
3854         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
3855
3856 2012-06-19  Bruno Haible  <bruno@clisp.org>
3857
3858         *printf-posix: Put more info into config.log.
3859         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
3860         exit code into config.log.
3861
3862 2012-06-19  Bruno Haible  <bruno@clisp.org>
3863
3864         getopt-gnu: Fix exit code overflow in autoconf test.
3865         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
3866         to keep them below < 128.
3867
3868 2012-06-17  Jim Meyering  <meyering@redhat.com>
3869
3870         maint.mk: fix typo in code to derive GPG key at release time
3871         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
3872
3873 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
3874
3875         regex: avoid warning when pointers are not long
3876         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
3877         and uintptr_t, not long, for portability to hosts where pointers and
3878         long have different sizes.  Issue noted by Daniel P. Berrange in
3879         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
3880         and fix suggested by Bruno Haible in
3881         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
3882
3883 2012-06-17  Bruno Haible  <bruno@clisp.org>
3884
3885         dummy: Relicense into the public domain.
3886         * modules/dummy (License): Set to "public domain".
3887         Suggested by Reuben Thomas.
3888
3889 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3890
3891         announce-gen: VPATH issues
3892         * build-aux/announce-gen (--srcdir): New option, used to trim the
3893         $srcdir part of the path from $builddir to NEWS.
3894         * top/maint.mk (announcement): Adjust.
3895
3896 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3897
3898         gnu-web-doc-update: VPATH builds
3899         * build-aux/gnu-web-doc-update (--builddir): New option.
3900         Revamp the handling of options.
3901         Prefer $(...) to `...`.
3902         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
3903         the template, and it is GNU mktemp specific.
3904         Prefer set -e to long series of &&.
3905         Restore the initial git branch, not "master".
3906         Properly initialize submodules (don't rely only on bootstrap).
3907         Do not reconfigure blindly, use config.status.
3908         * top/README-release: Update instructions for gnu-web-doc-update.
3909
3910 2012-06-11  Jim Meyering  <meyering@redhat.com>
3911
3912         maint.mk: revert most of the previous change re "all these"
3913         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
3914         For rationale, see the discussion at
3915         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
3916
3917 2012-06-10  Karl Berry  <karl@gnu.org>
3918
3919         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
3920
3921         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
3922
3923 2012-06-10  Bruce Korb  <bkorb@gnu.org>
3924
3925         parse-duration: Relicense under LGPLv2+.
3926         * modules/parse-duration (License): Change to LGPLv2+.
3927
3928 2012-06-10  Jim Meyering  <meyering@redhat.com>
3929
3930         maint.mk: prohibit common grammar error: "all these"
3931         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
3932         the list of prohibited word sequences.  It should be "all of these".
3933         * lib/tempname.c (__gen_tempname): Fix one of them.
3934
3935 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3936
3937         do-release-commit-and-tag: support VPATH builds
3938         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
3939         (noteworthy): Defined earlier to factor its value.
3940         (noteworthy_stub): New.
3941         Use it to factor.
3942         (help_version): Split into...
3943         (help, version): these.
3944         Adjust the option processing part.
3945         Support "--option=value" in addition to "--option value".
3946         (builddir): New.
3947         (--builddir): New option.
3948         * top/README-release: Document this.
3949         Reword slightly so that the reader cannot understand that he
3950         has to do these steps before calling do-release-commit-and-tag.
3951
3952 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3953
3954         readme-release: also require announce-gen and maintainer-makefile
3955         * modules/readme-release (Depends-on): here.
3956         * modules/announce-gen, modules/do-release-commit-and-tag,
3957         modules/gnu-web-doc-update, modules/maintainer-makefile
3958         (Description): Point to readme-release.
3959
3960 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3961
3962         maint.mk: fix VPATH issues.
3963         * top/maint.mk (news-check): GNU Make understand $< very well.
3964         (release-prep): NEWS is in $(srcdir).
3965
3966 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
3967
3968         readme-release: require the promoted modules.
3969         * modules/readme-release (Depends-on): Add
3970         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
3971         in this text.
3972
3973 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3974             Bruno Haible  <bruno@clisp.org>
3975
3976         error, strerror-override: Support mingw64 from Fedora 17.
3977         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
3978         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
3979         EINPROGRESS.
3980         * lib/strerror-override.h (strerror_override): Test it.
3981         * lib/strerror-override.c (strerror_override): Likewise.
3982         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
3983
3984 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3985             Bruno Haible  <bruno@clisp.org>
3986
3987         error, strerror-override: Support mingw64 from Fedora 17.
3988         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
3989         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
3990         * lib/strerror-override.h (strerror_override): Test it.
3991         * lib/strerror-override.c (strerror_override): Likewise.
3992
3993 2012-06-03  Bruno Haible  <bruno@clisp.org>
3994
3995         error, strerror-override: Support new errno values from POSIX:2008.
3996         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
3997         ENOTRECOVERABLE.
3998         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
3999         platforms.
4000         * lib/strerror-override.c (strerror_override): Conditionalize the
4001         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
4002         * lib/strerror-override.h (strerror_override): Declare also if
4003         GNULIB_defined_EOWNERDEAD is defined.
4004         * tests/test-errno.c (e130, e131): New variables.
4005         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
4006         ENOTRECOVERABLE.
4007         Reported by Paolo Bonzini.
4008
4009 2012-05-31  Jim Meyering  <meyering@redhat.com>
4010
4011         savewd: add missing dependency on sys_wait module
4012         * modules/savewd (Depends-on): Add sys_wait, needed at least
4013         for MSVC.  Report and suggested change by Michael Goffioul.
4014
4015 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4016
4017         system-quote-tests: port to CentOS 5
4018         Problem reported by Tom G. Christensen in
4019         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
4020         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
4021
4022 2012-05-29  Jim Meyering  <meyering@redhat.com>
4023
4024         maint: fix typos in comments and ChangeLog
4025         Culprits identified and fixed mostly automatically using these commands:
4026         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
4027         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
4028         using http://github.com/lyda/misspell-check
4029         * ChangeLog: Fix typos.
4030         * doc/solaris-versions: Likewise.
4031         * lib/regexec.c (re_search_stub): Likewise.
4032         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
4033
4034 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
4035
4036         manywarnings: remove duplicate -Wmultichar entry
4037         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
4038         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
4039         so keep the entry marked as documented.
4040
4041 2012-05-27  Karl Berry  <karl@gnu.org>
4042
4043         * config/srclist.txt (mktime.c): remove last libc sync,
4044         perhaps just temporarily.
4045
4046 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
4047
4048         regex: don't assume uint64_t or uint32_t
4049         * lib/regcomp.c (init_word_char): Don't assume that the types
4050         uint64_t and uint32_t exist.  The C standard doesn't guarantee
4051         them, and on some 32-bit compilers there is no uint64_t.
4052         Problem reported by Gianluigi Tiesi in
4053         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
4054
4055 2012-05-25  Jim Meyering  <meyering@redhat.com>
4056
4057         maint.mk: add strncpy-prohibiting syntax-check rule
4058         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
4059
4060 2012-05-24  Jim Meyering  <meyering@redhat.com>
4061
4062         maint.mk: compute $(gpg_key_ID) more portably
4063         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
4064         That use of sed is not portable to some fringe systems.
4065         Reported by Paul Eggert in
4066         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
4067
4068 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4069
4070         mktime: sync from glibc
4071         * config/srclist.txt: Uncomment mktime.c.
4072         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
4073         First, indent with tabs, since glibc uses tabs and doesn't want to
4074         change and we'd rather be identical to glibc.  Also, two small
4075         coding changes:
4076         (isdst_differ): Use &&, not &, as && is the usual style.
4077         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
4078         for clarity.
4079
4080 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4081
4082         announce-gen: du -h is more portable than du --human
4083         * build-aux/announce-gen (sizes): Invoke du with -h instead
4084         of --human.  Accept leading white space in its output.
4085
4086 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4087
4088         announce-gen: Improve diagnostics.
4089         * build-aux/announce-gen: When parsing command line options,
4090         prefer "announce-gen: option --release-type requires an argument"
4091         to "Option release-type requires an argument".
4092
4093 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4094
4095         maint.mk: gpg_key_ID: use sed more portably
4096         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
4097         the closing brace.
4098         (refresh-po): Fuse two sed invocations into one.
4099
4100 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
4101
4102         gitlog-to-changelog: support the log message format used in Bison.
4103         * build-aux/gitlog-to-changelog: Support --strip-tab and
4104         --strip-cherry-picked.
4105
4106 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
4107
4108         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
4109         the rest of the current time slice to another thread in the current
4110         process. So if the thread that feeds the file decscriptor we're
4111         polling is not in the current process, we get busy-waiting.
4112         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
4113         Patch from Theodore Leblond.
4114         * lib/select.c: Split polling out of the loop that sets the output
4115         fd_sets.  Check for zero result and loop if the wait timeout is
4116         infinite.
4117
4118 2012-05-21  Simon Josefsson  <simon@josefsson.org>
4119
4120         select: Fix build error on IRIX 6.5.
4121         * lib/select.c: Include stddef.h for NULL.
4122
4123 2012-05-21  Simon Josefsson  <simon@josefsson.org>
4124
4125         gc: fix libgcrypt detection on older machines.
4126         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
4127         copyright years because the file has been distributed every year
4128         since it was created.
4129
4130 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
4131
4132         crypto: fix bug in large buffer handling
4133         Problem reported by Serge Belyshev for glibc in
4134         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
4135         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
4136         * lib/md4.c (md4_process_block):
4137         * lib/md5.c (md5_process_block):
4138         * lib/sha1.c (sha1_process_block):
4139         * lib/sha256.c (sha256_process_block):
4140         Don't assume the buffer length is less than 2**32.
4141         * lib/sha512.c (sha512_process_block): Likewise.
4142         Here, the bug is present only in the rare case where the host does
4143         not support uint64_t or where size_t is wider than 64 bits.
4144         Use u64size to work around the problems.
4145         * lib/u64.h (u64size): New macro.
4146
4147 2012-05-15  Pádraig Brady  <P@draigBrady.com>
4148
4149         fsusage: fix block size returned on older Linux 2.6
4150
4151         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
4152         which is available since Linux 2.6.
4153         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
4154         when the member is available so it can be used as a fallback.
4155         * doc/posix-functions/statvfs.texi: Mention the hang issue
4156         on Linux < 2.6.36.
4157
4158 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
4159
4160         bootstrap: suppress stderr chatter
4161         * build-aux/bootstrap (insert_sorted_if_absent, main program):
4162         Omit unnecessary chatter to stderr.  The main program chatter
4163         was there only inadvertantly.
4164
4165         bootstrap: .gitignore files created by autopoint, libtool
4166         I ran into this problem when bootstrapping the latest diffutils.
4167         After './bootstrap', 'git status' reported lots of untracked files
4168         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
4169         autopoint and do not need to be version-controlled.
4170         * build-aux/bootstrap: Put into .gitignore the files that
4171         autopoint and libtool create, by keeping track of files that exist
4172         after but not before these programs are run.
4173         (version_controlled_file): Move up.  2nd arg is now full file
4174         name, not base name; this is more convenient.  Put CVS at the end,
4175         as it's now somewhat deprecated.
4176
4177 2012-05-14  Jim Meyering  <meyering@redhat.com>
4178
4179         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
4180         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
4181         definition.  Reported by Bruno Haible.
4182
4183 2012-05-13  Bruno Haible  <bruno@clisp.org>
4184             Paul Eggert  <eggert@cs.ucla.edu>
4185
4186         binary-io: Define set_binary_mode function.
4187         * lib/binary-io.h (set_binary_mode): New function.
4188         (SET_BINARY): Define in terms of set_binary_mode.
4189         * modules/binary-io (configure.ac): Require AC_C_INLINE.
4190         * tests/test-binary-io.c (main): Accept an argument, and test either
4191         set_binary_mode or SET_BINARY depending on the argument.
4192         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
4193         argument. Clean up also t-bin-out0.tmp.
4194
4195 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
4196
4197         bootstrap: take advantage of POSIX shell features
4198
4199         The 'bootstrap' script offered by Gnulib script already uses POSIX
4200         shell features (like $((...)) arithmetic expansions) that are not
4201         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
4202         means that bootstrap must already be run using a proper POSIX shell,
4203         which will thus provide more features, like ${var#pattern} parameter
4204         expansion or inversion of a command exit status with '!'.  We can
4205         thus use these features to improve the clarity and the performances
4206         of the bootstrap script.
4207
4208         Suggested by Eric Blake.
4209
4210         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
4211         of sed/expr plus command substitutions, to save some forks.  While
4212         we are at it, prefer the POSIX $(...) form of command substitution,
4213         rather than the legacy form `...` (since the former is visually
4214         clearer and interacts better with quoting), and prefer the idiom:
4215           "if ! CMD; then ACTION ..."
4216         over the idiom:
4217           "if CMD; then :; else ACTION ..."
4218         which was required by legacy Bourne shells not supporting '!'.
4219
4220 2012-05-12  Bruno Haible  <bruno@clisp.org>
4221
4222         system-quote: Add more comments.
4223         * lib/system-quote.h: Add more comments about wilcards and limitations.
4224         Suggested by Eli Zaretskii <eliz@gnu.org>.
4225
4226         sh-quote, system-quote: Add comments about wildcards.
4227         * lib/sh-quote.h: Clarify what happens with wildcard characters.
4228         * lib/system-quote.h: Likewise.
4229         Reported by Eli Zaretskii <eliz@gnu.org>.
4230
4231 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
4232
4233         fsusage: check for GNU/Linux statvfs problem dynamically
4234         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
4235         Define STAT_STATFS2_BSIZE too, since in this case the code now
4236         checks dynamically whether statvfs is reliable, falling back on
4237         Linux-style statfs otherwise.
4238         (statvfs_works): New function, for dynamically testing statvfs.
4239         (get_fs_usage) [STAT_STATVFS]: Use it.
4240         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
4241         statvfs on GNU/Linux hosts, since it's now done dynamically.
4242
4243 2012-05-10  Bruno Haible  <bruno@clisp.org>
4244
4245         system-quote, execute, spawn-pipe: Escape '?' on Windows.
4246         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
4247         '?' character.
4248         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
4249         * tests/test-system-quote-main.c (check_all): Check also strings like
4250         "??????????".
4251         Reported by Eli Zaretskii <eliz@gnu.org>.
4252
4253 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
4254
4255         _Noreturn: port config.h to gcc -Wundef
4256         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
4257         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
4258         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
4259
4260 2012-05-10  Bruno Haible  <bruno@clisp.org>
4261
4262         system-quote: Refactor.
4263         * lib/system-quote.h (system_quote_copy): Fix comment.
4264         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
4265         New functions, extracted from system_quote_copy.
4266         (system_quote_length, system_quote_copy): Use these functions.
4267         Reported by Paul Eggert.
4268
4269 2012-05-08  Bruno Haible  <bruno@clisp.org>
4270
4271         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
4272         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
4273
4274 2012-05-08  Bruno Haible  <bruno@clisp.org>
4275
4276         Tests for module 'system-quote'.
4277         * modules/system-quote-tests: New file.
4278         * tests/test-system-quote.sh: New file.
4279         * tests/test-system-quote-main.c: New file.
4280         * tests/test-system-quote-child.c: New file.
4281
4282         New module 'system-quote'.
4283         * lib/system-quote.h: New file.
4284         * lib/system-quote.c: New file.
4285         * modules/system-quote: New file.
4286
4287 2012-05-08  Bruno Haible  <bruno@clisp.org>
4288
4289         sh-quote: Make C++ safe and allow multiple inclusion.
4290         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
4291         declarations in extern "C".
4292
4293 2012-05-08  Bruno Haible  <bruno@clisp.org>
4294
4295         sh-quote tests: Make tests stricter.
4296         * tests/test-sh-quote.c (check_one): Check the return value of
4297         shell_quote_copy.
4298         (main): Check a string with a CR character. Check a string that
4299         contains UCHAR_MAX.
4300
4301 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
4302
4303         warnings.m4: provide a means to specify the program to compile.
4304         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
4305         (gl_WARN_ADD): here.
4306         Use gl_AS_VAR_APPEND.
4307         Support an argument to specify the program to compile.
4308         (gl_WARN_ADD): Accept an argument to specify the program to compile.
4309         AC_SUBST the WARN_CFLAGS when they are used.
4310         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
4311         leave this to gl_WARN_ADD.
4312
4313 2012-05-08  Eric Blake  <eblake@redhat.com>
4314
4315         doc: recommendations on gettext version
4316         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
4317         choice between versions.
4318         * DEPENDENCIES (gettext): Cover both approaches.
4319
4320 2012-05-08  Jim Meyering  <meyering@redhat.com>
4321
4322         init.sh: explain why EXEEXT support uses aliases rather than functions
4323         * tests/init.sh: Add a comment.
4324
4325         init.sh: don't let bash aliases interfere with tests
4326         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
4327         is bash.  This avoids problems for those who alias standard commands to
4328         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
4329         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
4330
4331 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
4332
4333         stdint: be more consistent with glibc, SunOS libc
4334         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
4335         (gl_int_fast16_t, gl_uint_fast16_t)
4336         (gl_int_fast32_t, gl_uint_fast32_t)
4337         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
4338         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
4339         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
4340         Be consistent with glibc by default, and with SunOS 5.10 and later
4341         if __sun is defined.  This lessens the likelihood of clashes if
4342         code compiled for older hosts is combined with code compiled for
4343         newer ones.  Problem reported by Niels Möller in
4344         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
4345
4346 2012-05-07  Eric Blake  <eblake@redhat.com>
4347
4348         isatty: relax license to LGPLv2+
4349         * modules/isatty (License): Relax license.
4350
4351 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4352
4353         stat-size: comment fix
4354         * lib/stat-size.h: Remove obsolete comment about indenting.
4355
4356 2012-05-06  Bruno Haible  <bruno@clisp.org>
4357
4358         Tests for module 'sh-quote'.
4359         * modules/sh-quote-tests: New file.
4360         * tests/test-sh-quote.c: New file.
4361
4362 2012-05-06  Bruno Haible  <bruno@clisp.org>
4363
4364         sh-quote: Improve shell_quote_argv's signature.
4365         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
4366         * lib/sh-quote.c (shell_quote_argv): Likewise.
4367
4368 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4369
4370         stdint: document issues with int_fast8_t etc.
4371         * doc/posix-headers/stdint.texi (stdint.h): Say that other
4372         stdint.h substitutes may define these types differently.  See
4373         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
4374
4375 2012-05-05  Bruno Haible  <bruno@clisp.org>
4376
4377         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
4378         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
4379         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
4380         or 'guessing no (mishandles large arguments)'.
4381
4382 2012-05-05  Bruno Haible  <bruno@clisp.org>
4383
4384         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
4385         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
4386         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4387         set gl_cv_func_link_follows_symlink to "guessing no".
4388
4389 2012-05-05  Bruno Haible  <bruno@clisp.org>
4390
4391         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
4392         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
4393         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
4394         "guessing no".
4395         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
4396
4397 2012-05-05  Bruno Haible  <bruno@clisp.org>
4398
4399         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
4400         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
4401         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4402         set gl_cv_struct_dirent_d_ino to "guessing yes".
4403
4404 2012-05-05  Bruno Haible  <bruno@clisp.org>
4405
4406         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
4407         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
4408         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
4409         "guessing yes".
4410
4411 2012-05-05  Bruno Haible  <bruno@clisp.org>
4412
4413         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
4414         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
4415         compiling to a glibc system, set gl_cv_func_signbit and
4416         gl_cv_func_signbit_gcc to "guessing yes".
4417
4418 2012-05-05  Bruno Haible  <bruno@clisp.org>
4419
4420         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
4421         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
4422         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
4423         to "guessing yes".
4424         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
4425         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
4426
4427 2012-05-05  Bruno Haible  <bruno@clisp.org>
4428
4429         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
4430         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
4431         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
4432         gl_cv_func_realpath_works to "guessing yes".
4433
4434 2012-05-05  Bruno Haible  <bruno@clisp.org>
4435
4436         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
4437         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
4438         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
4439
4440 2012-05-04  Bruno Haible  <bruno@clisp.org>
4441
4442         Tweak last commit.
4443         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
4444         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4445
4446 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
4447
4448         unistd_h: make it easier to avoid sys_types_h
4449         This is useful for Emacs, which has its own method of porting to
4450         Windows, and which therefore does not need the sys_types_h module.
4451         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
4452         code moved here from gl_SYS_TYPES_H.
4453         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
4454         using the code directly.
4455         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
4456         gl_SYS_TYPES_H.
4457         * modules/sys_types (Files):
4458         * modules/unistd (Files): Add m4/off_t.m4.
4459
4460 2012-05-03  Bruno Haible  <bruno@clisp.org>
4461
4462         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
4463         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
4464         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
4465         "guessing yes" or "guessing no".
4466         (gl_FUNC_LSTAT): Update.
4467         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
4468         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
4469         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
4470
4471 2012-05-03  Bruno Haible  <bruno@clisp.org>
4472
4473         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
4474         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
4475         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
4476         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
4477         cross-compiling, choose the first alternative on glibc systems.
4478         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
4479
4480 2012-05-03  Bruno Haible  <bruno@clisp.org>
4481
4482         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
4483         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
4484         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
4485
4486 2012-05-03  Bruno Haible  <bruno@clisp.org>
4487
4488         chown: Avoid "guessing no" when cross-compiling to glibc systems.
4489         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
4490
4491 2012-05-03  Bruno Haible  <bruno@clisp.org>
4492
4493         Avoid "guessing no" guesses when cross-compiling to glibc systems.
4494         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
4495         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
4496         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
4497         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
4498         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
4499         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
4500         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
4501         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
4502         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
4503         compiling to glibc systems, set gl_cv_func_chown_slash_works,
4504         gl_cv_func_chown_ctime_works to "guessing yes".
4505         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
4506         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
4507         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
4508         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
4509         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
4510         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
4511         compiling to glibc systems, set gl_cv_func_open_directory_works to
4512         "guessing yes".
4513         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
4514         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
4515         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
4516         "guessing yes".
4517         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
4518         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
4519         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
4520         compiling to glibc systems, set gl_cv_func_floorf_ieee to
4521         "guessing yes".
4522         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
4523         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
4524         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
4525         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
4526         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
4527         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
4528         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
4529         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
4530         "guessing yes".
4531         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
4532         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
4533         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
4534         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
4535         "guessing yes".
4536         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
4537         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
4538         "guessing yes".
4539         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
4540         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
4541         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
4542         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
4543         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
4544         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
4545         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
4546         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
4547         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
4548         compiling to glibc systems, set gl_cv_func_log10f_ieee to
4549         "guessing yes".
4550         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
4551         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
4552         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
4553         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
4554         "guessing yes".
4555         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
4556         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
4557         "guessing yes".
4558         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
4559         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
4560         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
4561         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
4562         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
4563         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
4564         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
4565         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
4566         compiling to glibc systems, set gl_cv_func_mkfifo_works to
4567         "guessing yes".
4568         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
4569         compiling to glibc systems, set gl_cv_func_mknod_works to
4570         "guessing yes".
4571         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
4572         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
4573         "guessing yes".
4574         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
4575         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
4576         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
4577         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
4578         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
4579         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
4580         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
4581         compiling to glibc systems, set gl_cv_func_svid_putenv to
4582         "guessing yes".
4583         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
4584         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
4585         "guessing yes".
4586         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
4587         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
4588         "guessing yes".
4589         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
4590         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
4591         to "guessing yes".
4592         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
4593         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
4594         to "guessing yes".
4595         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
4596         compiling to glibc systems, set gl_cv_func_rmdir_works to
4597         "guessing yes".
4598         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
4599         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
4600         gl_cv_func_unlink_parent_fails to "guessing yes".
4601         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
4602         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
4603         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
4604         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
4605         gl_cv_func_rename_dest_works to "guessing yes".
4606         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
4607         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
4608         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
4609         compiling to glibc systems, set gl_cv_func_roundf_ieee to
4610         "guessing yes".
4611         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
4612         compiling to glibc systems, set gl_cv_func_roundl_ieee to
4613         "guessing yes".
4614         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
4615         compiling to glibc systems, set gl_cv_func_setenv_works to
4616         "guessing yes".
4617         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
4618         compiling to glibc systems, set gl_cv_func_unsetenv_works to
4619         "guessing yes".
4620         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
4621         compiling to glibc systems, set gl_cv_func_sleep_works to
4622         "guessing yes".
4623         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
4624         compiling to glibc systems, set gl_cv_func_stat_file_slash to
4625         "guessing yes".
4626         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
4627         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
4628         "guessing yes".
4629         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
4630         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
4631         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
4632         compiling to glibc systems, set gl_cv_func_truncf_ieee to
4633         "guessing yes".
4634         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
4635         compiling to glibc systems, set gl_cv_func_truncl_ieee to
4636         "guessing yes".
4637         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
4638         compiling to glibc systems, set gl_cv_func_usleep_works to
4639         "guessing yes".
4640         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
4641         compiling to glibc systems, set gl_cv_func_futimesat_works to
4642         "guessing yes".
4643
4644 2012-05-03  Bruno Haible  <bruno@clisp.org>
4645
4646         Say "guessing yes" or "guessing no" when cross-compiling.
4647         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
4648         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
4649         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
4650         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
4651         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
4652         am_cv_func_working_getline to "guessing yes" or "guessing no".
4653         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
4654         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
4655         (gl_FUNC_MEMMEM): When cross-compiling, set
4656         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
4657         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
4658         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
4659         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
4660         set gl_cv_func_strcasestr_works_always to "guessing yes" or
4661         "guessing no".
4662         (gl_FUNC_STRCASESTR): When cross-compiling, set
4663         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
4664         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
4665         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
4666         (gl_FUNC_STRSTR): When cross-compiling, set
4667         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
4668         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
4669         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
4670         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
4671         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
4672
4673 2012-05-01  Bruno Haible  <bruno@clisp.org>
4674
4675         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
4676         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
4677         * build-aux/reloc-ldflags: Likewise.
4678         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
4679
4680 2012-05-01  Bruno Haible  <bruno@clisp.org>
4681
4682         gnulib-tool: Remove transitional code.
4683         * gnulib-tool: Don't warn about --import with 0 arguments any more.
4684         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
4685
4686 2012-05-01  Bruno Haible  <bruno@clisp.org>
4687
4688         getcwd: Fix misindentation.
4689         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
4690
4691 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
4692
4693         exclude: process exclude and include directives in order
4694         This restores the pre-2009 behavior, and is part of a fix of a
4695         grep bug reported by Quentin Arce in
4696         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
4697         * lib/exclude.c (struct exclude): Remove 'tail' member.
4698         (new_exclude_segment): Prepend the new segment instead of appending.
4699         Return void, since that's now more convenient.
4700         (file_pattern_matches): Renamed from excluded_file_pattern_p.
4701         (file_name_matches): Renamed from excluded_file_name_p.
4702         (file_pattern_matches, file_name_matches):
4703         Return true if the pattern matches, not if it excludes.
4704         All callers changed.
4705         (excluded_file_name): Process the list in reverse order;
4706         since the list is now reversed this restores the pre-2009 behavior.
4707         (add_exclude): Adjust to new reversed-order list.  Use local var
4708         rather than macro, for clarity.
4709         * tests/test-exclude7.sh: Adjust to corrected behavior.
4710
4711         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
4712         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
4713         it's not possible here.  Handle the case of \ at end of pattern
4714         without dumping core.
4715         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
4716
4717         _Noreturn: future-proof non-GNU and non-MSVC compilers
4718         * build-aux/snippet/_Noreturn.h (_Noreturn):
4719         * m4/gnulib-common.m4 (gl_COMMON_BODY):
4720         Do not define _Noreturn if __STDC_VERSION__ indicates this is
4721         C11 or later.  This is more likely to work with random future C
4722         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
4723         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
4724
4725         exclude: handle wildcards with FNM_EXTMATCH
4726         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
4727         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
4728         comment that "has wildcards" really means "has or may have
4729         wildcards".  Simplify by avoiding the need to call strcspn.
4730
4731 2012-04-29  Bruno Haible  <bruno@clisp.org>
4732
4733         gnulib-tool: Fix list of authors.
4734         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
4735
4736 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
4737
4738         bootstrap: support Automake-NG in $buildreq
4739         * bootstrap (check_versions): Handle automake and aclocal from
4740         Automake-NG specially.  They can be specified as respectively
4741         the "automake-ng" and "aclocal-ng" requirements.
4742
4743 2012-04-25  Eric Blake  <eblake@redhat.com>
4744
4745         bootstrap: only force latest Makefile.in.in for gettext module
4746         * build-aux/bootstrap (with_gettext): Only install latest
4747         Makefile.in.in for projects requesting bleeding edge gettext.
4748
4749 2012-04-22  Bruno Haible  <bruno@clisp.org>
4750
4751         doc: Mention reason for replacement on glibc/Linux systems.
4752         * doc/posix-functions/dprintf.texi: Mention the problem with special
4753         'long double' values.
4754         * doc/posix-functions/fprintf.texi: Likewise.
4755         * doc/posix-functions/printf.texi: Likewise.
4756         * doc/posix-functions/snprintf.texi: Likewise.
4757         * doc/posix-functions/sprintf.texi: Likewise.
4758         * doc/posix-functions/vdprintf.texi: Likewise.
4759         * doc/posix-functions/vfprintf.texi: Likewise.
4760         * doc/posix-functions/vprintf.texi: Likewise.
4761         * doc/posix-functions/vsnprintf.texi: Likewise.
4762         * doc/posix-functions/vsprintf.texi: Likewise.
4763         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
4764         platforms with F_DUPFD_CLOEXEC problems.
4765         * doc/posix-functions/glob.texi: Mention which platforms are affected
4766         by the problem with symbolic links.
4767         * doc/posix-functions/linkat.texi: Mention the problem with
4768         AT_SYMLINK_FOLLOW on Linux.
4769
4770 2012-04-22  Bruno Haible  <bruno@clisp.org>
4771
4772         pwrite: Don't replace on all platforms.
4773         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
4774
4775 2012-04-22  Bruno Haible  <bruno@clisp.org>
4776
4777         rint* tests: Avoid gcc warnings.
4778         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
4779         * tests/test-rintf.c (INFINITY, NAN): Likewise.
4780         * tests/test-rintl.c (INFINITY, NAN): Likewise.
4781
4782 2012-04-21  Bruno Haible  <bruno@clisp.org>
4783
4784         users.txt: Update.
4785         * users.txt: Add freedink, wdiff. Update URLs for projects that have
4786         switched from CVS to git, bzr, or svn.
4787
4788 2012-04-21  Bruno Haible  <bruno@clisp.org>
4789
4790         Large File Support for native Windows platforms.
4791
4792         * m4/largefile.m4 (gl_LARGEFILE): New macro.
4793         * modules/largefile (configure.ac): Require gl_LARGEFILE.
4794
4795         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
4796         type.
4797         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
4798         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
4799         * doc/posix-headers/sys_types.texi: Mention the effect of the
4800         'largefile' module.
4801
4802         * lib/fcntl.in.h: Add comments about off_t.
4803         * modules/fcntl-h (Depends-on): Add sys_types.
4804
4805         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
4806         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
4807         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
4808         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
4809         * modules/unistd (Depends-on): Add sys_types.
4810         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
4811
4812         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
4813         instead of lseek.
4814         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
4815         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
4816         * modules/lseek (Depends-on): Add sys_types.
4817
4818         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
4819         msvc-nothrow.h.
4820         (SetFileSize): New function.
4821         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
4822         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
4823         if Large File Support is requested.
4824         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
4825         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
4826
4827         * lib/stdio.in.h: Add comments about off_t.
4828         * modules/stdio (Depends-on): Add sys_types.
4829
4830         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
4831         instead of ftello.
4832         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
4833         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
4834         (gl_PREREQ_FTELLO): New macro.
4835         * modules/ftello (Depends-on): Add sys_types.
4836         (configure.ac): Incoke gl_PREREQ_FTELLO.
4837
4838         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
4839         instead of fseeko.
4840         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
4841         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
4842         (gl_PREREQ_FSEEKO): New macro.
4843         * modules/fseeko (Depends-on): Add sys_types.
4844         (configure.ac): Invoke gl_PREREQ_FSEEKO.
4845
4846         * lib/sys_stat.in.h: Add comments about off_t.
4847         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
4848         64-bit integer for st_size in 'struct stat'.
4849         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
4850         Define _GL_WINDOWS_64_BIT_ST_SIZE.
4851         * modules/sys_stat (Depends-on): Add sys_types.
4852         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
4853
4854         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
4855         instead of stat or _stat.
4856
4857         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
4858         'struct _stati64' instead of fstat and 'struct stat'.
4859         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
4860         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
4861
4862         Reported by Ray Satiro <raysatiro@yahoo.com>.
4863
4864 2012-04-19  Eric Blake  <eblake@redhat.com>
4865
4866         bootstrap: accommodate older libtool
4867         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
4868         Reported by Daniel P. Berrange.
4869
4870 2012-04-19  Jim Meyering  <meyering@redhat.com>
4871
4872         announce-gen: avoid failure due to lack of Digest::SHA1
4873         Even with the preferred Digest::SHA available, this script
4874         would fail when the backup module, Digest::SHA1, was not installed.
4875         * build-aux/announce-gen: Quote the conditional use of "use".
4876         Reported by Reuben Thomas in:
4877         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
4878
4879         bootstrap: don't let a user's CDPATH setting affect this script
4880         When CDPATH is set, cd will sometimes generate output.
4881         When "cd" is run in a subshell whose output matters, that
4882         surprising-to-some output can cause malfunction.
4883         Unsetting CDPATH turns off this shell "feature."
4884         * build-aux/bootstrap (CDPATH): Unset.
4885         Reported by Reuben Thomas in:
4886         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
4887         and inspired by his patch here:
4888         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
4889
4890 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
4891         and Jim Meyering  <meyering@redhat.com>
4892
4893         maint.mk: catch "see @xref{}" and similar
4894         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
4895         prohibit "See also @xref{", "Also see @pxref{", and similar.
4896
4897 2012-04-16  Jim Meyering  <meyering@redhat.com>
4898
4899         bootstrap: really use gnulib's po/Makefile.in.in
4900         * build-aux/bootstrap: Correct the source file name in previous change.
4901         Reported by Akim Demaille.
4902
4903         configmake: correct minor inconsistency in Makefile rule
4904         * modules/configmake (Makefile.am): All other rules like this one
4905         run the final "mv -f ..." in the same backslash-continued command
4906         as the one that does everything else.  This one put the mv -f ...
4907         command on a separate, non-backslash-continued line.
4908         Make it like the others.
4909
4910         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
4911         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
4912         the one from gettext.  Reported by Akim Demaille.
4913
4914 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
4915
4916         Fix recursion of install-* into po directories.
4917         Bison's install-pdf bug reported by Hans Aberg at
4918         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
4919         * build-aux/po/Makefile.in.in (install-dvi, install-html)
4920         (install-info, install-pdf, install-ps): New targets.
4921
4922 2012-04-16  Jim Meyering  <meyering@redhat.com>
4923
4924         maint: avoid spurious "make sc_maint" failure
4925         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
4926         exempt all *.class file names, for lib/javaversion.class.
4927
4928 2012-04-15  Bruno Haible  <bruno@clisp.org>
4929
4930         lseek: Make configure test independent of environment.
4931         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
4932         Windows, we know that lseek() on pipes is broken; skip the runtime
4933         test.
4934
4935 2012-04-14  Bruno Haible  <bruno@clisp.org>
4936
4937         stat: Bypass buggy override in mingw64.
4938         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
4939         * lib/stat.c (stat) [mingw64]: Define to _stat.
4940         * doc/posix-functions/stat.texi: Mention mingw64 bug.
4941
4942 2012-04-14  Bruno Haible  <bruno@clisp.org>
4943
4944         pathmax: Fix compilation error on MSVC 9.
4945         * modules/pathmax (Depends-on): Add unistd.
4946
4947 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
4948
4949         README: document pointer comparison assumption
4950         * README (Portability guidelines): Document assumption about
4951         pointer comparisons, in response to a recent bug-gnulib comment by
4952         Jeffrey Kegler.
4953
4954 2012-04-12  Bruno Haible  <bruno@clisp.org>
4955
4956         Tests for module 'getrusage'.
4957         * modules/getrusage-tests: New file.
4958         * tests/test-getrusage.c: New file.
4959
4960         New module 'getrusage'.
4961         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
4962         warn-on-use.h.
4963         (getrusage): New declaration.
4964         * lib/getrusage.c: New file.
4965         * m4/getrusage.m4: New file.
4966         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
4967         is declared.
4968         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
4969         HAVE_GETRUSAGE.
4970         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
4971         snippet/c++defs, snippet/warn-on-use.
4972         (Makefile.am): Update generation of sys/resource.h. Substitute
4973         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
4974         * modules/getrusage: New file.
4975         * doc/posix-functions/getrusage.texi: Mention the new module.
4976
4977 2012-04-12  Bruno Haible  <bruno@clisp.org>
4978
4979         Tests for module 'sys_resource'.
4980         * modules/sys_resource-tests: New file.
4981         * tests/test-sys_resource.c: New file.
4982
4983         New module 'sys_resource'.
4984         * lib/sys_resource.in.h: New file.
4985         * m4/sys_resource_h.m4: New file.
4986         * modules/sys_resource: New file.
4987         * doc/posix-headers/sys_resource.texi: Mention the new module.
4988
4989 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
4990
4991         ioctl: Fix compilation error on mingw.
4992         * lib/ioctl.c: Include <windows.h>.
4993         Also reported by Ray Satiro <raysatiro@yahoo.com>.
4994
4995 2012-04-04  Jim Meyering  <meyering@redhat.com>
4996
4997         regex: correct #pragma guard expression
4998         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
4999         not 4.3.  Correct its cpp guard expression.
5000
5001 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
5002
5003         regex: remove unnecessary type punning
5004         Problem reported by Vladimir Serbinenko in
5005         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
5006         * lib/regex.h (struct re_pattern_buffer): Change the type of
5007         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
5008         Fix comment to match code.
5009         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
5010         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
5011         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
5012         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
5013         (set_regs):
5014         Omit no-longer-necessary casts.
5015
5016 2012-04-03  Bruno Haible  <bruno@clisp.org>
5017
5018         Tests for module 'ilogbl'.
5019         * modules/ilogbl-tests: New file.
5020         * tests/test-ilogbl.c: New file.
5021
5022         New module 'ilogbl'.
5023         * lib/math.in.h (ilogbl): New declaration.
5024         * lib/ilogbl.c: New file.
5025         * m4/ilogbl.m4: New file.
5026         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
5027         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
5028         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
5029         Split sed invocation, to avoid the limit of 100 substitutions of
5030         HP-UX 'sed'.
5031         * modules/ilogbl: New file.
5032         * tests/test-math-c++.cc: Check the declaration of ilogbl.
5033         * doc/posix-functions/ilogbl.texi: Mention the new module.
5034
5035 2012-04-03  Bruno Haible  <bruno@clisp.org>
5036
5037         Tests for module 'ilogbf'.
5038         * modules/ilogbf-tests: New file.
5039         * tests/test-ilogbf.c: New file.
5040
5041         New module 'ilogbf'.
5042         * lib/math.in.h (ilogbf): New declaration.
5043         * lib/ilogbf.c: New file.
5044         * m4/ilogbf.m4: New file.
5045         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
5046         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
5047         REPLACE_ILOGBF.
5048         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
5049         REPLACE_ILOGBF.
5050         * modules/ilogbf: New file.
5051         * tests/test-math-c++.cc: Check the declaration of ilogbf.
5052         * doc/posix-functions/ilogbf.texi: Mention the new module.
5053
5054 2012-04-03  Bruno Haible  <bruno@clisp.org>
5055
5056         Tests for module 'ilogb'.
5057         * modules/ilogb-tests: New file.
5058         * tests/test-ilogb.c: New file.
5059         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
5060         tests/test-logb-ieee.h.
5061
5062         New module 'ilogb'.
5063         * lib/math.in.h (ilogb): New declaration.
5064         * lib/ilogb.c: New file.
5065         * m4/ilogb.m4: New file.
5066         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
5067         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
5068         REPLACE_ILOGB.
5069         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
5070         REPLACE_ILOGB.
5071         * modules/ilogb: New file.
5072         * tests/test-math-c++.cc: Check the declaration of ilogb.
5073         * doc/posix-functions/ilogb.texi: Mention the new module.
5074
5075 2012-04-03  Bruno Haible  <bruno@clisp.org>
5076
5077         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
5078         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
5079         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
5080         (main): Check their values.
5081         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
5082         problem.
5083
5084 2012-04-03  Bruno Haible  <bruno@clisp.org>
5085
5086         Tests for module 'logbl-ieee'.
5087         * modules/logbl-ieee-tests: New file.
5088         * tests/test-logbl-ieee.c: New file.
5089
5090         New module 'logbl-ieee'.
5091         * modules/logbl-ieee: New file.
5092
5093         Tests for module 'logb-ieee'.
5094         * modules/logb-ieee-tests: New file.
5095         * tests/test-logb-ieee.c: New file.
5096
5097         New module 'logb-ieee'.
5098         * modules/logb-ieee: New file.
5099
5100         Tests for module 'logbf-ieee'.
5101         * modules/logbf-ieee-tests: New file.
5102         * tests/test-logbf-ieee.c: New file.
5103         * tests/test-logb-ieee.h: New file.
5104
5105         New module 'logbf-ieee'.
5106         * modules/logbf-ieee: New file.
5107
5108 2012-04-03  Bruno Haible  <bruno@clisp.org>
5109
5110         Tests for module 'logbl'.
5111         * modules/logbl-tests: New file.
5112         * tests/test-logbl.c: New file.
5113
5114         New module 'logbl'.
5115         * lib/math.in.h (logbl): New declaration.
5116         * lib/logbl.c: New file.
5117         * m4/logbl.m4: New file.
5118         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
5119         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
5120         REPLACE_LOGBL.
5121         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
5122         REPLACE_LOGBL.
5123         * modules/logbl: New file.
5124         * tests/test-math-c++.cc: Check the declaration of logbl.
5125         * doc/posix-functions/logbl.texi: Mention the new module.
5126
5127 2012-04-02  Bruno Haible  <bruno@clisp.org>
5128
5129         Tests for module 'logbf'.
5130         * modules/logbf-tests: New file.
5131         * tests/test-logbf.c: New file.
5132
5133         New module 'logbf'.
5134         * lib/math.in.h (logbf): New declaration.
5135         * lib/logbf.c: New file.
5136         * m4/logbf.m4: New file.
5137         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
5138         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
5139         REPLACE_LOGBF.
5140         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
5141         REPLACE_LOGBF.
5142         * modules/logbf: New file.
5143         * tests/test-math-c++.cc: Check the declaration of logbf.
5144         * doc/posix-functions/logbf.texi: Mention the new module.
5145
5146 2012-04-02  Bruno Haible  <bruno@clisp.org>
5147
5148         logb tests: More tests.
5149         * tests/test-logb.h: New file, based on tests/test-logb.c and
5150         tests/test-frexp.h.
5151         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
5152         (main): Just invoke test_function.
5153         * modules/logb-tests (Files): Add tests/test-logb.h,
5154         tests/minus-zero.h, tests/randomd.c.
5155         (Makefile.am): Add randomd.c to test_logb_SOURCES.
5156
5157         logb: Provide replacement and workarounds.
5158         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
5159         is 1.
5160         * lib/logb.c: New file.
5161         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
5162         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
5163         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
5164         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
5165         * modules/logb (Files): Add lib/logb.c.
5166         (Depends-on): Add isfinite, frexp, isnand.
5167         (configure.ac): Compile the replacement code logb.c if needed.
5168         * tests/test-math-c++.cc: Check the declaration of logb.
5169         * doc/posix-functions/logb.texi: Mention the replacement and the bug
5170         with subnormal numbers.
5171
5172 2012-04-02  Bruno Haible  <bruno@clisp.org>
5173
5174         log10* tests: Speed up.
5175         * tests/test-log10.h (test_function): Reduce amount of random numbers
5176         to test.
5177
5178 2012-04-01  Bruno Haible  <bruno@clisp.org>
5179
5180         logf-ieee: Fix test whether logf works.
5181         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
5182
5183 2012-04-01  Bruno Haible  <bruno@clisp.org>
5184
5185         log10l: Work around log10l-ieee test failure on IRIX 6.5.
5186         * lib/log10l.c: Include <float.h>
5187         (log10l): On IRIX, normalize the +Infinity value.
5188         * modules/log10l (Depends-on): Add 'float'.
5189         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
5190         +Infinity.
5191
5192         log10f-ieee: Work around test failure on NetBSD 5.1.
5193         * m4/log10f-ieee.m4: New file.
5194         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
5195         test whether log10f works with a negative argument. Replace it if not.
5196         * lib/log10f.c (log10f): For negative arguments, return NaN.
5197         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
5198         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
5199         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
5200
5201         log10f-ieee: Work around test failure on Solaris 9.
5202         * modules/log10f-ieee (Depends-on): Add log10-ieee.
5203         (configure.ac): Require gl_FUNC_LOG10F.
5204
5205         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5206         * m4/log10-ieee.m4: New file.
5207         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
5208         whether log10 works with a negative argument. Replace it if not.
5209         * lib/log10.c (log10): For negative arguments, return NaN.
5210         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
5211         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
5212         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
5213
5214         Tests for module 'log10l-ieee'.
5215         * modules/log10l-ieee-tests: New file.
5216         * tests/test-log10l-ieee.c: New file.
5217
5218         New module 'log10l-ieee'.
5219         * modules/log10l-ieee: New file.
5220
5221         Tests for module 'log10-ieee'.
5222         * modules/log10-ieee-tests: New file.
5223         * tests/test-log10-ieee.c: New file.
5224
5225         New module 'log10-ieee'.
5226         * modules/log10-ieee: New file.
5227
5228         Tests for module 'log10f-ieee'.
5229         * modules/log10f-ieee-tests: New file.
5230         * tests/test-log10f-ieee.c: New file.
5231         * tests/test-log10-ieee.h: New file.
5232
5233         New module 'log10f-ieee'.
5234         * modules/log10f-ieee: New file.
5235
5236 2012-04-01  Bruno Haible  <bruno@clisp.org>
5237
5238         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
5239         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
5240         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
5241         workaround.
5242         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
5243         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
5244         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
5245         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
5246         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
5247         (Depends-on): Update conditions.
5248         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
5249         IRIX 6.5, OSF/1 5.1 problems.
5250
5251 2012-04-01  Bruno Haible  <bruno@clisp.org>
5252
5253         log10f: Work around OSF/1 5.1 bug.
5254         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
5255         * lib/log10f.c (log10f): If logf exists, use it and provide just the
5256         workaround.
5257         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
5258         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
5259         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
5260         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
5261         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
5262         (Depends-on): Update conditions.
5263         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
5264
5265 2012-04-01  Bruno Haible  <bruno@clisp.org>
5266
5267         log10: Work around OSF/1 5.1 bug.
5268         * lib/math.in.h (log10): New declaration.
5269         * lib/log10.c: New file.
5270         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
5271         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
5272         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
5273         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
5274         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
5275         * modules/log10 (Files): Add lib/log10.c.
5276         (Depends-on): Add math.
5277         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
5278         * tests/test-math-c++.cc: Check the declaration of log10.
5279         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
5280
5281 2012-03-31  Bruno Haible  <bruno@clisp.org>
5282
5283         log10l tests: More tests.
5284         * modules/log10l-tests (Files): Add tests/test-log10l.h,
5285         tests/minus-zero.h, tests/randoml.c.
5286         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
5287         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
5288         (main): Invoke test_function.
5289
5290         log10f tests: More tests.
5291         * modules/log10f-tests (Files): Add tests/test-log10.h,
5292         tests/minus-zero.h, tests/randomf.c.
5293         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
5294         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
5295         (main): Invoke test_function.
5296
5297         log10 tests: More tests.
5298         * tests/test-log10.h: New file.
5299         * modules/log10-tests (Files): Add tests/test-log10.h,
5300         tests/minus-zero.h, tests/randomd.c.
5301         (Makefile.am): Add randomd.c to test_log10_SOURCES.
5302         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
5303         (main): Invoke test_function.
5304
5305 2012-03-31  Simon Josefsson  <simon@josefsson.org>
5306
5307         fflush: Fix syntax error.
5308         * lib/fflush.c: Include unused-parameter.h, needed for
5309         _GL_UNUSED_PARAMETER.
5310         * modules/fflush (Depends-on): Add snippet/unused-parameter.
5311
5312 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
5313
5314         regex: pacify GCC when compiling GRUB
5315         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
5316         a diagnostic.  Reported by Vladimir Serbinenko in
5317         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
5318
5319 2012-03-29  Eric Blake  <eblake@redhat.com>
5320
5321         stdio: don't assume gets any more
5322         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
5323         support.
5324         * modules/stdio (Makefile.am): Likewise.
5325         * lib/stdio-read.c (gets): Likewise.
5326         * tests/test-stdio-c++.cc: Likewise.
5327         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
5328         * lib/stdio.in.h (gets): Make warning occur in more places.
5329         * doc/posix-functions/gets.texi (gets): Update documentation.
5330         Reported by Christer Solskogen.
5331
5332         maint.mk: fix syntax checks without exclusions
5333         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
5334         Reported by Daniel P. Berrange.
5335
5336         strerror_r: avoid compiler warning
5337         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
5338         level.
5339
5340         fflush: avoid compiler warning
5341         * lib/fflush.c (update_fpos_cache): Mark variables that are
5342         potentially unused.
5343
5344 2012-03-25  Bruno Haible  <bruno@clisp.org>
5345
5346         Tests for module 'localeconv'.
5347         * modules/localeconv-tests: New file.
5348         * tests/test-localeconv.c: New file.
5349
5350         New module 'localeconv'.
5351         * lib/locale.in.h (localeconv): New declaration.
5352         * lib/localeconv.c: New file.
5353         * m4/localeconv.m4: New file.
5354         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
5355         REPLACE_LOCALECONV.
5356         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
5357         REPLACE_LOCALECONV.
5358         * modules/localeconv: New file.
5359         * modules/nl_langinfo (Depends-on): Add localeconv.
5360         * modules/human (Depends-on): Likewise.
5361         * doc/posix-functions/localeconv.texi: Mention the new module.
5362
5363 2012-03-25  Bruno Haible  <bruno@clisp.org>
5364
5365         locale: Provide a complete 'struct lconv'.
5366         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5367         'struct lconv' does not contain int_p_cs_precedes.
5368         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5369         * doc/posix-headers/locale.texi: Update.
5370
5371         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
5372         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
5373         * doc/posix-headers/locale.texi: Update.
5374
5375         locale: Provide a working 'struct lconv'.
5376         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
5377         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5378         'struct lconv' does not even contain decimal_point.
5379         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
5380         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
5381         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5382         * doc/posix-headers/locale.texi: Mention the problems with
5383         'struct lconv'.
5384         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
5385
5386 2012-03-24  Bruno Haible  <bruno@clisp.org>
5387
5388         Enable common subexpression optimization in GCC.
5389         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
5390         macros.
5391         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
5392         GCC attribute 'const'.
5393         (uc_locale_language): Declare with GCC attribute 'pure'.
5394         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
5395         with GCC attribute 'const'.
5396         * lib/unictype.in.h (uc_is_general_category_withtable,
5397         uc_combining_class, uc_combining_class_name,
5398         uc_combining_class_long_name, uc_bidi_class_name,
5399         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
5400         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
5401         uc_decimal_value, uc_digit_value, uc_numeric_value,
5402         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
5403         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
5404         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
5405         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
5406         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
5407         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
5408         Declare with GCC attribute 'const'.
5409         (uc_general_category_name, uc_general_category_long_name,
5410         uc_general_category_byname, uc_general_category,
5411         uc_is_general_category, uc_combining_class_byname,
5412         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
5413         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
5414         Declare with GCC attribute 'pure'.
5415         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
5416         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
5417         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
5418         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
5419         with GCC attribute 'pure'.
5420         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
5421         'const'.
5422         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
5423         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
5424         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
5425         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
5426         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
5427         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
5428         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
5429         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
5430         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
5431         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
5432         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
5433         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
5434         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
5435         GCC attribute 'pure'.
5436         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
5437         'const'.
5438         * lib/uniwidth.in.h (uc_width): Simplify declaration.
5439         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
5440         u32_strwidth): Declare with GCC attribute 'pure'.
5441
5442         Enable common subexpression optimization in GCC.
5443         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5444         (alphasort): Declare with GCC attribute 'pure'.
5445         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5446         (atoll): Declare with GCC attribute 'pure'.
5447         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
5448         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
5449         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
5450         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5451         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
5452         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
5453         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
5454
5455 2012-03-24  Bruno Haible  <bruno@clisp.org>
5456
5457         gnulib-tool: Avoid unintended error output from 'cmp'.
5458         * gnulib-tool (func_add_file, func_update_file, func_import): Use
5459         "cmp -s", not "cmp > /dev/null".
5460
5461 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5462
5463         gnulib-tool: fix imprecise comments w.r.t. an automake bug
5464
5465         It's not just Automake versions < 1.9b that creates an empty
5466         pkgdatadir at installation time if pkgdata_DATA is specified
5467         to empty; modern automake versions do this as well, at least
5468         until automake 1.11.4 (not yet released at the moment of writing,
5469         but soon to appear).  That behaviour was generally considered a
5470         feature rather than a bug, at least until this discussion:
5471         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
5472
5473         See also automake bugs #10997 and #11030.
5474
5475         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
5476         reference to relevant automake bug numbers.
5477         (func_emit_tests_Makefile_am): Likewise.
5478
5479 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5480
5481         announce-gen: use Digest::SHA when possible
5482         * build-aux/announce-gen: Use Digest::SHA when possible, falling
5483         back to Digest::SHA1 if necessary.
5484
5485 2012-03-20  Jim Meyering  <meyering@redhat.com>
5486
5487         tests: avoid gcc warnings about argv vs. const initializers
5488         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
5489         warnings about discarding 'const' qualifier from pointer target type.
5490         * tests/test-posix_spawn2.c (main): Likewise.
5491
5492 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5493
5494         README-release: simplify slightly
5495         * top/README-release: Run "git checkout master" only once.
5496
5497 2012-03-15  Mark Wielaard  <mark@klomp.org>
5498
5499         git-merge-changelog: add specific example on how to use with hg.
5500         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
5501
5502 2012-03-18  Mark Wielaard  <mark@klomp.org>
5503
5504         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
5505
5506 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
5507
5508         git-version-gen: don't let "prefix" envvar cause trouble
5509         * build-aux/git-version-gen (prefix): Initialize properly,
5510         so as not to use a value specified via the environment.
5511         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
5512
5513 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5514
5515         regex: diagnose too-large repeat counts in EREs
5516         Previously, the code did not diagnose the too-large repeat count
5517         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
5518         as if it were 'b\{1000000000}', which is unexpected.
5519         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
5520         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
5521         is a reasonable one for this problem.  Another option would be to
5522         create a new REG_OVERFLOW error for repeat counts that are too large.
5523         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
5524         count is too large, so that the caller can distinguish the two cases.
5525         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
5526         "Too large" return code, and that repeat counts are one example of this.
5527
5528 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5529
5530         doc: some glibc x32 integer width issues
5531         * doc/posix-headers/sys_types.texi (sys/types.h):
5532         * doc/posix-headers/time.texi (time.h):
5533         Mention that glibc x32 does not conform to POSIX in a couple of
5534         areas related to integer widths.
5535
5536 2012-03-15  Bruno Haible  <bruno@clisp.org>
5537
5538         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
5539         * lib/fma.c (VOLATILE): New macro.
5540         (FUNC): Use it to work around a GCC compiler bug.
5541
5542 2012-03-13  Bruno Haible  <bruno@clisp.org>
5543
5544         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5545         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
5546         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
5547         REPLACE_HYPOTL to 1.
5548         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
5549
5550 2012-03-13  Bruno Haible  <bruno@clisp.org>
5551
5552         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5553         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
5554         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
5555         REPLACE_REMAINDERL to 1.
5556         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
5557         bug.
5558
5559 2012-03-13  Bruno Haible  <bruno@clisp.org>
5560
5561         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5562         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
5563         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
5564         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
5565         too big rounding errors.
5566         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
5567         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
5568         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
5569         (Depends-on): Update conditions.
5570         * tests/test-sqrtl.c (my_ldexpl): New function.
5571         (main): Add test of a particular value.
5572         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5573
5574 2012-03-13  Pádraig Brady  <P@draigBrady.com>
5575
5576         doc: Update timer_* platform portability notes.
5577         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
5578         that always return ENOSYS.
5579         * doc/posix-functions/timer_delete.texi: Likewise.
5580         * doc/posix-functions/timer_gettime.texi: Likewise.
5581         * doc/posix-functions/timer_settime.texi: Likewise.
5582
5583 2012-03-13  Bruno Haible  <bruno@clisp.org>
5584
5585         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5586         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
5587         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
5588         REPLACE_CBRTL to 1.
5589         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5590
5591 2012-03-13  Bruno Haible  <bruno@clisp.org>
5592
5593         remainderl: Avoid compilation error on AIX >= 5.2.
5594         * lib/math.in.h (remainderl): Undefine macro from the system header.
5595
5596 2012-03-13  Bruno Haible  <bruno@clisp.org>
5597
5598         Avoid compilation errors with MSVC option -fp:strict.
5599         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
5600         * lib/cbrtf.c: Likewise.
5601         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5602
5603 2012-03-12  Bruno Haible  <bruno@clisp.org>
5604
5605         uninorm: Don't crash in out-of-memory conditions.
5606         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
5607         gracefully.
5608         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
5609         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
5610
5611 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
5612
5613         quote: fix syntax-check
5614         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
5615         also exports quote_quoting_options.
5616
5617 2012-03-12  Simon Josefsson  <simon@josefsson.org>
5618
5619         Collapse list of copyright years to ranges.  See
5620         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
5621         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
5622         build-aux/csharpexec.sh.in, build-aux/gnupload,
5623         build-aux/install-reloc, build-aux/javacomp.sh.in,
5624         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
5625         build-aux/move-if-change, build-aux/reloc-ldflags,
5626         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
5627
5628 2012-03-11  Bruno Haible  <bruno@clisp.org>
5629
5630         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5631         * m4/log2f-ieee.m4: New file.
5632         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
5633         whether log2f works with a minus zero argument. Replace it if not.
5634         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
5635         (Depends-on): Add log2-ieee.
5636         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
5637         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
5638
5639         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5640         * m4/log2-ieee.m4: New file.
5641         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
5642         whether log2 works with a minus zero argument. Replace it if not.
5643         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
5644         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
5645         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
5646
5647         Tests for module 'log2l-ieee'.
5648         * modules/log2l-ieee-tests: New file.
5649         * tests/test-log2l-ieee.c: New file.
5650
5651         New module 'log2l-ieee'.
5652         * modules/log2l-ieee: New file.
5653
5654         Tests for module 'log2-ieee'.
5655         * modules/log2-ieee-tests: New file.
5656         * tests/test-log2-ieee.c: New file.
5657
5658         New module 'log2-ieee'.
5659         * modules/log2-ieee: New file.
5660
5661         Tests for module 'log2f-ieee'.
5662         * modules/log2f-ieee-tests: New file.
5663         * tests/test-log2f-ieee.c: New file.
5664         * tests/test-log2-ieee.h: New file.
5665
5666         New module 'log2f-ieee'.
5667         * modules/log2f-ieee: New file.
5668
5669 2012-03-11  Bruno Haible  <bruno@clisp.org>
5670
5671         Tests for module 'log2l'.
5672         * modules/log2l-tests: New file.
5673         * tests/test-log2l.c: New file.
5674
5675         New module 'log2l'.
5676         * lib/math.in.h (log2l): New declaration.
5677         * lib/log2l.c: New file.
5678         * m4/log2l.m4: New file.
5679         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
5680         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
5681         REPLACE_LOG2L.
5682         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
5683         REPLACE_LOG2L.
5684         * modules/log2l: New file.
5685         * tests/test-math-c++.cc: Check the declaration of log2l.
5686         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
5687         and OSF/1 problems.
5688
5689 2012-03-11  Bruno Haible  <bruno@clisp.org>
5690
5691         Tests for module 'log2f'.
5692         * modules/log2f-tests: New file.
5693         * tests/test-log2f.c: New file.
5694
5695         New module 'log2f'.
5696         * lib/math.in.h (log2f): New declaration.
5697         * lib/log2f.c: New file.
5698         * m4/log2f.m4: New file.
5699         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
5700         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
5701         REPLACE_LOG2F.
5702         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
5703         REPLACE_LOG2F.
5704         * modules/log2f: New file.
5705         * tests/test-math-c++.cc: Check the declaration of log2f.
5706         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
5707         and OSF/1 and Cygwin problems.
5708
5709 2012-03-11  Bruno Haible  <bruno@clisp.org>
5710
5711         Tests for module 'log2'.
5712         * modules/log2-tests: New file.
5713         * tests/test-log2.c: New file.
5714         * tests/test-log2.h: New file.
5715
5716         New module 'log2'.
5717         * lib/math.in.h (log2): New declaration.
5718         * lib/log2.c: New file.
5719         * m4/log2.m4: New file.
5720         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
5721         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
5722         REPLACE_LOG2.
5723         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
5724         REPLACE_LOG2.
5725         * modules/log2: New file.
5726         * tests/test-math-c++.cc: Check the declaration of log2.
5727         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
5728         and OSF/1 and Cygwin problems.
5729
5730 2012-03-11  Bruno Haible  <bruno@clisp.org>
5731
5732         exp2* tests: More tests.
5733         * tests/test-exp2.h (test_function): Test all integral arguments that
5734         don't need to overflow or denormalized numbers.
5735         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
5736         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
5737         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
5738
5739 2012-03-10  Bruno Haible  <bruno@clisp.org>
5740
5741         log1pl-ieee: Work around test failure on AIX 7.1.
5742         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
5743
5744         log1pl-ieee: Work around test failure on IRIX 6.5.
5745         * m4/log1pl-ieee.m4: New file.
5746         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
5747         test whether log1pl works with a minus zero argument. Replace it if
5748         not.
5749         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
5750         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
5751         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
5752         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
5753         (Depends-on): Update conditions.
5754         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5755         m4/signbit.m4.
5756         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
5757         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
5758
5759         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
5760         * m4/log1pf-ieee.m4: New file.
5761         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
5762         test whether log1pf works with a minus zero argument. Replace it if
5763         not.
5764         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
5765         m4/signbit.m4.
5766         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
5767         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
5768
5769         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
5770         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
5771         (configure.ac): Require gl_FUNC_LOG1PF.
5772
5773         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
5774         * m4/log1p-ieee.m4: New file.
5775         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
5776         whether log1p works with a minus zero argument. Replace it if not.
5777         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
5778         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
5779         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
5780         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
5781         (Depends-on): Update conditions.
5782         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5783         m4/signbit.m4.
5784         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
5785         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
5786
5787         Tests for module 'log1pl-ieee'.
5788         * modules/log1pl-ieee-tests: New file.
5789         * tests/test-log1pl-ieee.c: New file.
5790
5791         New module 'log1pl-ieee'.
5792         * modules/log1pl-ieee: New file.
5793
5794         Tests for module 'log1p-ieee'.
5795         * modules/log1p-ieee-tests: New file.
5796         * tests/test-log1p-ieee.c: New file.
5797
5798         New module 'log1p-ieee'.
5799         * modules/log1p-ieee: New file.
5800
5801         Tests for module 'log1pf-ieee'.
5802         * modules/log1pf-ieee-tests: New file.
5803         * tests/test-log1pf-ieee.c: New file.
5804         * tests/test-log1p-ieee.h: New file.
5805
5806         New module 'log1pf-ieee'.
5807         * modules/log1pf-ieee: New file.
5808
5809 2012-03-10  Bruno Haible  <bruno@clisp.org>
5810
5811         Tests for module 'log1pl'.
5812         * modules/log1pl-tests: New file.
5813         * tests/test-log1pl.c: New file.
5814
5815         New module 'log1pl'.
5816         * lib/math.in.h (log1pl): New declaration.
5817         * lib/log1pl.c: New file.
5818         * m4/log1pl.m4: New file.
5819         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
5820         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
5821         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
5822         * modules/log1pl: New file.
5823         * tests/test-math-c++.cc: Check the declaration of log1pl.
5824         * doc/posix-functions/log1pl.texi: Mention the new module.
5825
5826 2012-03-10  Bruno Haible  <bruno@clisp.org>
5827
5828         Tests for module 'log1pf'.
5829         * modules/log1pf-tests: New file.
5830         * tests/test-log1pf.c: New file.
5831
5832         New module 'log1pf'.
5833         * lib/math.in.h (log1pf): New declaration.
5834         * lib/log1pf.c: New file.
5835         * m4/log1pf.m4: New file.
5836         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
5837         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
5838         REPLACE_LOG1PF.
5839         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
5840         REPLACE_LOG1PF.
5841         * modules/log1pf: New file.
5842         * tests/test-math-c++.cc: Check the declaration of log1pf.
5843         * doc/posix-functions/log1pf.texi: Mention the new module.
5844
5845 2012-03-10  Bruno Haible  <bruno@clisp.org>
5846
5847         log1p tests: More tests.
5848         * tests/test-log1p.h: New file.
5849         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
5850         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
5851         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
5852         (main): Invoke test_function.
5853
5854         log1p: Provide replacement for Minix and MSVC.
5855         * lib/math.in.h (log1p): New declaration.
5856         * lib/log1p.c: New file.
5857         * m4/log1p.m4: New file.
5858         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
5859         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
5860         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
5861         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
5862         (Depends-on): Add math, isnand, log, round.
5863         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
5864         HAVE_LOG1P is 0.
5865         * tests/test-math-c++.cc: Check the declaration of log1p.
5866         * doc/posix-functions/log1p.texi: Mention the replacement.
5867
5868 2012-03-10  Bruno Haible  <bruno@clisp.org>
5869
5870         math tests: Small simplification.
5871         * tests/test-exp.h (test_function): Use the same err_bound for
5872         'double' on platforms with sizeof (long double) == sizeof (double)
5873         than on platforms with sizeof (long double) > sizeof (double).
5874         * tests/test-exp2.h (test_function): Likewise.
5875         * tests/test-expm1.h (test_function): Likewise.
5876         * tests/test-log.h (test_function): Likewise.
5877
5878 2012-03-10  Bruno Haible  <bruno@clisp.org>
5879
5880         Fix some comments.
5881         * lib/expl.c: Fix an ambiguous comment.
5882         * lib/expm1.c: Likewise.
5883         * lib/expm1l.c: Likewise.
5884         * lib/exp2.c: Likewise.
5885         * lib/exp2l.c: Likewise.
5886
5887 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
5888
5889         regex: allow inclusion of <regex.h> before <limits.h>
5890         Without this patch, portable programs had to include <limits.h> before
5891         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
5892         I ran into this problem with a test version of GNU grep on Solaris 8.
5893         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
5894         This is done conditionally so that this change can be merged
5895         back to glibc.
5896         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
5897         using the included regex.
5898
5899         fts: depend on fdopendir
5900         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
5901         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
5902         problem was introduced when fdopendir was split out.
5903
5904 2012-03-10  Bruno Haible  <bruno@clisp.org>
5905
5906         Remove unused variables.
5907         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
5908         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5909
5910 2012-03-10  Bruno Haible  <bruno@clisp.org>
5911
5912         isnanf-nolibm: Fix last commit.
5913         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
5914
5915         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
5916         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
5917
5918 2012-03-10  Bruno Haible  <bruno@clisp.org>
5919
5920         logf-ieee: Work around test failure on NetBSD 5.1.
5921         * m4/logf-ieee.m4: New file.
5922         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
5923         whether logf works with a negative argument. Replace it if not.
5924         * lib/logf.c (logf): For negative arguments, return NaN.
5925         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
5926         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
5927         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
5928
5929         logf-ieee: Work around test failure on Solaris 9.
5930         * modules/logf-ieee (Depends-on): Add log-ieee.
5931         (configure.ac): Require gl_FUNC_LOGF.
5932
5933         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5934         * m4/log-ieee.m4: New file.
5935         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
5936         log works with a negative argument. Replace it if not.
5937         * lib/log.c (log): For negative arguments, return NaN.
5938         * modules/log-ieee (Files): Add m4/log-ieee.m4.
5939         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
5940         * doc/posix-functions/log.texi: Mention the log-ieee module.
5941
5942         Tests for module 'logl-ieee'.
5943         * modules/logl-ieee-tests: New file.
5944         * tests/test-logl-ieee.c: New file.
5945
5946         New module 'logl-ieee'.
5947         * modules/logl-ieee: New file.
5948
5949         Tests for module 'log-ieee'.
5950         * modules/log-ieee-tests: New file.
5951         * tests/test-log-ieee.c: New file.
5952
5953         New module 'log-ieee'.
5954         * modules/log-ieee: New file.
5955
5956         Tests for module 'logf-ieee'.
5957         * modules/logf-ieee-tests: New file.
5958         * tests/test-logf-ieee.c: New file.
5959         * tests/test-log-ieee.h: New file.
5960
5961         New module 'logf-ieee'.
5962         * modules/logf-ieee: New file.
5963
5964 2012-03-10  Bruno Haible  <bruno@clisp.org>
5965
5966         log: Fix bug introduced on 2012-03-09.
5967         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
5968
5969 2012-03-10  Pádraig Brady  <P@draigBrady.com>
5970
5971         timer-time: link explicitly with pthreads on glibc
5972         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
5973         to support static linking, when newer glibc is
5974         detected, as that contains pthread emulation of
5975         POSIX timer functions where required.
5976         * modules/timer-time: Depend on threadlib to
5977         pull in the appropriate library to link.
5978
5979 2012-03-10  Bruno Haible  <bruno@clisp.org>
5980
5981         log* tests: More tests.
5982         * tests/test-log.h: New file.
5983         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
5984         (main): Invoke test_function.
5985         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
5986         (main): Invoke test_function.
5987         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
5988         (main): Invoke test_function.
5989         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5990         tests/randomd.c.
5991         (Makefile.am): Add randomd.c to test_log_SOURCES.
5992         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5993         tests/randomf.c.
5994         (Makefile.am): Add randomf.c to test_logf_SOURCES.
5995         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5996         tests/randoml.c.
5997         (Depends-on): Add 'float'.
5998         (Makefile.am): Add randoml.c to test_logl_SOURCES.
5999
6000 2012-03-09  Bruno Haible  <bruno@clisp.org>
6001
6002         logl: Work around OSF/1 5.1 bug.
6003         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
6004         * lib/logl.c (logl): If logl exists, use it and provide just the
6005         workaround.
6006         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
6007         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
6008         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
6009         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
6010         * modules/logl (configure.ac): Consider REPLACE_LOGL.
6011         (Depends-on): Update conditions.
6012         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
6013
6014 2012-03-09  Bruno Haible  <bruno@clisp.org>
6015
6016         logf: Work around OSF/1 5.1 bug.
6017         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
6018         * lib/logf.c (logf): If logf exists, use it and provide just the
6019         workaround.
6020         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
6021         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
6022         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
6023         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
6024         * modules/logf (configure.ac): Consider REPLACE_LOGF.
6025         (Depends-on): Update conditions.
6026         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
6027
6028 2012-03-09  Bruno Haible  <bruno@clisp.org>
6029
6030         log: Work around OSF/1 5.1 bug.
6031         * lib/math.in.h (log): New declaration.
6032         * lib/log.c: New file.
6033         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
6034         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
6035         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
6036         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
6037         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
6038         * modules/log (Files): Add lib/log.c.
6039         (Depends-on): Add math.
6040         (configure.ac): If REPLACE_LOG is 1, compile an override.
6041         * tests/test-math-c++.cc: Check the declaration of log.
6042         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
6043
6044 2012-03-09  Jim Meyering  <meyering@redhat.com>
6045
6046         readtokens.c: adjust wording in a comment
6047         * lib/readtokens.c: Insert omitted "that" in a comment.
6048
6049 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
6050
6051         modechange: add notations +40, 00440, etc.
6052         * lib/modechange.c (mode_compile): Support new notations
6053         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
6054
6055 2012-03-08  Bruno Haible  <bruno@clisp.org>
6056
6057         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
6058         * m4/exp2l-ieee.m4: New file.
6059         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
6060         test whether exp2l works with a NaN argument and with a negative
6061         infinity argument. Replace it if not.
6062         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
6063         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
6064         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
6065         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
6066         (Depends-on): Update conditions.
6067         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
6068         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
6069         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
6070
6071         Tests for module 'exp2l-ieee'.
6072         * modules/exp2l-ieee-tests: New file.
6073         * tests/test-exp2l-ieee.c: New file.
6074
6075         New module 'exp2l-ieee'.
6076         * modules/exp2l-ieee: New file.
6077
6078         Tests for module 'exp2-ieee'.
6079         * modules/exp2-ieee-tests: New file.
6080         * tests/test-exp2-ieee.c: New file.
6081
6082         New module 'exp2-ieee'.
6083         * modules/exp2-ieee: New file.
6084
6085         Tests for module 'exp2f-ieee'.
6086         * modules/exp2f-ieee-tests: New file.
6087         * tests/test-exp2f-ieee.c: New file.
6088         * tests/test-exp2-ieee.h: New file.
6089
6090         New module 'exp2f-ieee'.
6091         * modules/exp2f-ieee: New file.
6092
6093 2012-03-08  Bruno Haible  <bruno@clisp.org>
6094
6095         Tests for module 'exp2l'.
6096         * modules/exp2l-tests: New file.
6097         * tests/test-exp2l.c: New file.
6098
6099         New module 'exp2l'.
6100         * lib/math.in.h (exp2l): New declaration.
6101         * lib/exp2l.c: New file.
6102         * lib/expl-table.c: New file, extracted from lib/expl.c.
6103         * lib/expl.c (gl_expl_table): New declaration.
6104         (expl): Remove expl_table. Update reference.
6105         * m4/exp2l.m4: New file.
6106         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
6107         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
6108         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
6109         * modules/exp2l: New file.
6110         * modules/expl (Files): Add lib/expl-table.c.
6111         (configure.ac): Compile also expl-table.c.
6112         * tests/test-math-c++.cc: Check the declaration of exp2l.
6113         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
6114         problem.
6115
6116 2012-03-08  Bruno Haible  <bruno@clisp.org>
6117
6118         Tests for module 'exp2f'.
6119         * modules/exp2f-tests: New file.
6120         * tests/test-exp2f.c: New file.
6121
6122         New module 'exp2f'.
6123         * lib/math.in.h (exp2f): New declaration.
6124         * lib/exp2f.c: New file.
6125         * m4/exp2f.m4: New file.
6126         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
6127         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
6128         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
6129         * modules/exp2f: New file.
6130         * tests/test-math-c++.cc: Check the declaration of exp2f.
6131         * doc/posix-functions/exp2f.texi: Mention the new module and the
6132         IRIX problem.
6133
6134 2012-03-08  Bruno Haible  <bruno@clisp.org>
6135
6136         Tests for module 'exp2'.
6137         * modules/exp2-tests: New file.
6138         * tests/test-exp2.c: New file.
6139         * tests/test-exp2.h: New file.
6140
6141         New module 'exp2'.
6142         * lib/math.in.h (exp2): New declaration.
6143         * lib/exp2.c: New file.
6144         * m4/exp2.m4: New file.
6145         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
6146         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
6147         REPLACE_EXP2.
6148         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
6149         REPLACE_EXP2.
6150         * modules/exp2: New file.
6151         * tests/test-math-c++.cc: Check the declaration of exp2.
6152         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
6153         and OpenBSD problems.
6154
6155 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
6156
6157         savedir: fix comment typo
6158         * lib/savedir.c (savedirstream): Fix typo in comment.
6159
6160 2012-03-08  Bruno Haible  <bruno@clisp.org>
6161
6162         test-readtokens.c: use const; remove unwarranted cast
6163         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
6164
6165 2012-03-08  Bruno Haible  <bruno@clisp.org>
6166
6167         fmal: Avoid compilation error on AIX.
6168         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
6169         AIX 5.2..7.1.
6170
6171 2012-03-08  Bruno Haible  <bruno@clisp.org>
6172
6173         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
6174         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
6175         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
6176         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
6177         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
6178         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
6179         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
6180
6181 2012-03-08  Bruno Haible  <bruno@clisp.org>
6182
6183         remainderf: Override buggy system function on IRIX 6.5.
6184         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
6185         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
6186         when it exists.
6187         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
6188
6189 2012-03-08  Jim Meyering  <meyering@redhat.com>
6190
6191         test-readtokens.c: avoid const-related compilation warnings
6192         * tests/test-readtokens.c: Avoid const-related compilation warnings.
6193
6194 2012-03-07  Jim Meyering  <meyering@redhat.com>
6195             Bruno Haible  <bruno@clisp.org>
6196
6197         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
6198         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
6199         tests/randomd.c.
6200         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
6201         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
6202         tests/randoml.c.
6203         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
6204
6205 2012-03-07  Bruno Haible  <bruno@clisp.org>
6206
6207         expm1l: Avoid compilation error on AIX.
6208         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
6209         AIX 5.2..7.1.
6210
6211 2012-03-07  Bruno Haible  <bruno@clisp.org>
6212
6213         expm1l: Don't override undeclared system function on IRIX 6.5.
6214         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
6215         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
6216         it exists. Set HAVE_DECL_EXPM1L.
6217         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
6218         HAVE_EXPM1L.
6219         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
6220         HAVE_EXPM1L.
6221         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
6222
6223 2012-03-07  Bruno Haible  <bruno@clisp.org>
6224
6225         remainderl: Don't override undeclared system function on IRIX 6.5.
6226         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
6227         HAVE_REMAINDERL.
6228         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
6229         declared when it exists. Set HAVE_DECL_REMAINDERL.
6230         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
6231         not HAVE_REMAINDERL.
6232         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
6233         HAVE_REMAINDERL.
6234         * doc/posix-functions/remainderl.texi: Mention missing declaration
6235         problem.
6236
6237 2012-03-07  Bruno Haible  <bruno@clisp.org>
6238
6239         rintf: Don't override undeclared system function on IRIX 6.5.
6240         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
6241         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
6242         exists. Set HAVE_DECL_RINTF.
6243         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
6244         HAVE_RINTF.
6245         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
6246         HAVE_RINTF.
6247         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
6248
6249 2012-03-07  Bruno Haible  <bruno@clisp.org>
6250
6251         roundl: Avoid compilation error on AIX.
6252         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
6253         AIX 5.2..7.1.
6254
6255 2012-03-07  Bruno Haible  <bruno@clisp.org>
6256
6257         roundl: Don't override undeclared system function on IRIX 6.5.
6258         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
6259         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
6260         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
6261         * modules/roundl (configure.ac): For replacement code, test
6262         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
6263         (Depends-on): Update conditions.
6264         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
6265
6266 2012-03-07  Bruno Haible  <bruno@clisp.org>
6267
6268         roundf: Don't override undeclared system function on IRIX 6.5.
6269         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
6270         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
6271         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
6272         * modules/roundf (configure.ac): For replacement code, test
6273         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
6274         (Depends-on): Update conditions.
6275         * modules/roundf-ieee (Depends-on): Update conditions.
6276         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
6277
6278 2012-03-07  Bruno Haible  <bruno@clisp.org>
6279
6280         round: Don't override undeclared system function on IRIX 6.5.
6281         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
6282         argument.
6283         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
6284         also when it is not declared. Set HAVE_ROUND. For replacement code,
6285         test HAVE_ROUND, not HAVE_DECL_ROUND.
6286         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
6287         not HAVE_DECL_ROUND.
6288         (Depends-on): Update conditions.
6289         * modules/round-ieee (Depends-on): Update conditions.
6290         * doc/posix-functions/round.texi: Mention the IRIX problem.
6291
6292 2012-03-07  Bruno Haible  <bruno@clisp.org>
6293
6294         copysignf: Don't override undeclared system function on IRIX 6.5.
6295         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
6296         HAVE_COPYSIGNF.
6297         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
6298         declared when it exists. Set HAVE_DECL_COPYSIGNF.
6299         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
6300         not HAVE_COPYSIGNF.
6301         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
6302         HAVE_COPYSIGNF.
6303         * doc/posix-functions/copysignf.texi: Mention missing declaration
6304         problem.
6305
6306 2012-03-07  Jim Meyering  <meyering@redhat.com>
6307
6308         readtokens: add tests
6309         * modules/readtokens-tests: New file.
6310         * tests/test-readtokens.c: New file.
6311
6312 2012-03-07  Jim Meyering  <meyering@redhat.com>
6313
6314         quotearg: the module must now include quote.h
6315         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
6316         So must the module.
6317         * modules/quotearg (Files): Add quote.h.
6318
6319 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
6320
6321         readtokens: avoid core dumps with unusual calling patterns
6322         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
6323         * lib/readtokens.c: Include limits.h.
6324         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
6325         (readtoken): Don't cache the delimiters; the cache code was buggy
6326         if !delim && saved_delim, or if the new n_delim differs from the old.
6327         Also, it wasn't thread-safe.
6328
6329 2012-03-07  Bruno Haible  <bruno@clisp.org>
6330
6331         quote: Adhere to common module description layout.
6332         * modules/quote (Makefile.am): Add back empty section.
6333
6334 2012-03-06  Akim Demaille  <demaille@gostai.com>
6335
6336         quote: fuse into quotearg
6337         This patch is made for the benefit of Bison.
6338         quote does not leave the choice of the quoting style to the user.
6339         quoting_style provides poor customizability, yet quoting_options,
6340         which is very rich, is hidden inside quotearg.c.  So in order to
6341         allow quote customization, move its implementation to quotearg.c.
6342         * lib/quote.c: Remove.
6343         * modules/quote: Adjust.
6344         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
6345         warning: provide all the members of literal structs.
6346         (quote_quoting_options): New.
6347         (quote, quote_n): Import implementation from quote.c.
6348         * lib/quote.h: Import the comments from quote.c.
6349         (quote_quoting_options): New.
6350
6351 2012-03-06  Bruno Haible  <bruno@clisp.org>
6352
6353         Tests for module 'expm1l-ieee'.
6354         * modules/expm1l-ieee-tests: New file.
6355         * tests/test-expm1l-ieee.c: New file.
6356
6357         New module 'expm1l-ieee'.
6358         * modules/expm1l-ieee: New file.
6359
6360         Tests for module 'expm1f-ieee'.
6361         * modules/expm1f-ieee-tests: New file.
6362         * tests/test-expm1f-ieee.c: New file.
6363
6364         New module 'expm1f-ieee'.
6365         * modules/expm1f-ieee: New file.
6366
6367         Tests for module 'expm1-ieee'.
6368         * modules/expm1-ieee-tests: New file.
6369         * tests/test-expm1-ieee.c: New file.
6370         * tests/test-expm1-ieee.h: New file.
6371
6372         New module 'expm1-ieee'.
6373         * modules/expm1-ieee: New file.
6374         * m4/expm1-ieee.m4: New file.
6375         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
6376         whether expm1 works with a minus zero argument. Replace it if not.
6377         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
6378         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
6379         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
6380         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
6381         (Depends-on): Update conditions.
6382         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
6383         AIX problem.
6384
6385 2012-03-06  Bruno Haible  <bruno@clisp.org>
6386
6387         Work around expm1f bug on IRIX 6.5.
6388         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
6389         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
6390         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
6391         not work.
6392         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
6393         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
6394         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
6395         (Depends-on): Update conditions.
6396         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
6397
6398 2012-03-06  Bruno Haible  <bruno@clisp.org>
6399
6400         Tests for module 'expm1l'.
6401         * modules/expm1l-tests: New file.
6402         * tests/test-expm1l.c: New file.
6403
6404         New module 'expm1l'.
6405         * lib/math.in.h (expm1l): New declaration.
6406         * lib/expm1l.c: New file.
6407         * m4/expm1l.m4: New file.
6408         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
6409         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
6410         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
6411         * modules/expm1l: New file.
6412         * tests/test-math-c++.cc: Check the declaration of expm1l.
6413         * doc/posix-functions/expm1l.texi: Mention the new module.
6414
6415 2012-03-06  Bruno Haible  <bruno@clisp.org>
6416
6417         Tests for module 'expm1f'.
6418         * modules/expm1f-tests: New file.
6419         * tests/test-expm1f.c: New file.
6420
6421         New module 'expm1f'.
6422         * lib/math.in.h (expm1f): New declaration.
6423         * lib/expm1f.c: New file.
6424         * m4/expm1f.m4: New file.
6425         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
6426         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
6427         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
6428         * modules/expm1f: New file.
6429         * tests/test-math-c++.cc: Check the declaration of expm1f.
6430         * doc/posix-functions/expm1f.texi: Mention the new module.
6431
6432 2012-03-06  Bruno Haible  <bruno@clisp.org>
6433
6434         Tests for module 'expm1'.
6435         * modules/expm1-tests: New file.
6436         * tests/test-expm1.c: New file.
6437         * tests/test-expm1.h: New file.
6438
6439         New module 'expm1'.
6440         * lib/math.in.h (expm1): New declaration.
6441         * lib/expm1.c: New file.
6442         * m4/expm1.m4: New file.
6443         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
6444         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
6445         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
6446         * modules/expm1: New file.
6447         * tests/test-math-c++.cc: Check the declaration of expm1.
6448         * doc/posix-functions/expm1.texi: Mention the new module.
6449
6450 2012-03-06  Bruno Haible  <bruno@clisp.org>
6451
6452         math: Ensure declarations of math functions.
6453         * modules/acosf (Depends-on): Add 'extensions'.
6454         * modules/asinf (Depends-on): Likewise.
6455         * modules/atan2f (Depends-on): Likewise.
6456         * modules/atanf (Depends-on): Likewise.
6457         * modules/cbrt (Depends-on): Likewise.
6458         * modules/cbrtf (Depends-on): Likewise.
6459         * modules/cbrtl (Depends-on): Likewise.
6460         * modules/copysignf (Depends-on): Likewise.
6461         * modules/copysignl (Depends-on): Likewise.
6462         * modules/cosf (Depends-on): Likewise.
6463         * modules/coshf (Depends-on): Likewise.
6464         * modules/expf (Depends-on): Likewise.
6465         * modules/fabsf (Depends-on): Likewise.
6466         * modules/fabsl (Depends-on): Likewise.
6467         * modules/fmaf (Depends-on): Likewise.
6468         * modules/fmal (Depends-on): Likewise.
6469         * modules/fmodf (Depends-on): Likewise.
6470         * modules/fmodl (Depends-on): Likewise.
6471         * modules/frexpf (Depends-on): Likewise.
6472         * modules/frexpl (Depends-on): Likewise.
6473         * modules/hypot (Depends-on): Likewise.
6474         * modules/hypotf (Depends-on): Likewise.
6475         * modules/hypotl (Depends-on): Likewise.
6476         * modules/ldexpf (Depends-on): Likewise.
6477         * modules/ldexpl (Depends-on): Likewise.
6478         * modules/log10f (Depends-on): Likewise.
6479         * modules/log10l (Depends-on): Likewise.
6480         * modules/log1p (Depends-on): Likewise.
6481         * modules/logb (Depends-on): Likewise.
6482         * modules/logf (Depends-on): Likewise.
6483         * modules/modff (Depends-on): Likewise.
6484         * modules/modfl (Depends-on): Likewise.
6485         * modules/powf (Depends-on): Likewise.
6486         * modules/remainderf (Depends-on): Likewise.
6487         * modules/remainderl (Depends-on): Likewise.
6488         * modules/rintf (Depends-on): Likewise.
6489         * modules/rintl (Depends-on): Likewise.
6490         * modules/sinf (Depends-on): Likewise.
6491         * modules/sinhf (Depends-on): Likewise.
6492         * modules/sqrtf (Depends-on): Likewise.
6493         * modules/tanf (Depends-on): Likewise.
6494         * modules/tanhf (Depends-on): Likewise.
6495         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
6496         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
6497         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
6498         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
6499         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
6500         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
6501         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
6502         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
6503         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
6504         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
6505         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
6506         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
6507         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
6508         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
6509         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
6510         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
6511         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
6512         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6513         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
6514         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
6515         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
6516         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
6517         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
6518         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
6519         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6520         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
6521         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
6522         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6523         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
6524         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
6525         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6526         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
6527         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
6528         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6529         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
6530         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
6531         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
6532         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
6533         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
6534         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
6535         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
6536
6537 2012-03-06  Bruno Haible  <bruno@clisp.org>
6538
6539         math: Update module names in warnings.
6540         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
6541         tanl): Use specific module name in warn-on-use warning.
6542
6543 2012-03-06  Bruno Haible  <bruno@clisp.org>
6544
6545         expl: Simplify computation.
6546         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
6547
6548 2012-03-05  Bruno Haible  <bruno@clisp.org>
6549
6550         exp* tests: More tests.
6551         * tests/test-exp.h: New file.
6552         * tests/test-exp.c: Include <float.h> and test-exp.h.
6553         (main): Invoke test_function.
6554         * tests/test-expf.c: Include <float.h> and test-exp.h.
6555         (main): Invoke test_function.
6556         * tests/test-expl.c: Include <float.h> and test-exp.h.
6557         (main): Invoke test_function.
6558         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
6559         (Makefile.am): Add randomd.c to test_exp_SOURCES.
6560         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
6561         (Makefile.am): Add randomf.c to test_expf_SOURCES.
6562         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
6563         (Depends-on): Add 'float'.
6564         (Makefile.am): Add randoml.c to test_expl_SOURCES.
6565
6566         expl: Fix precision of computed result.
6567         * lib/expl.c: Completely rewritten.
6568         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
6569         (Maintainer): Add me.
6570         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
6571
6572 2012-03-05  Bruno Haible  <bruno@clisp.org>
6573
6574         cbrt* tests: More tests.
6575         * tests/test-cbrt.h: New file.
6576         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
6577         (main): Invoke test_function.
6578         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
6579         (main): Invoke test_function.
6580         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
6581         (main): Invoke test_function.
6582         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
6583         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
6584         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
6585         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
6586         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
6587         (Depends-on): Add 'float'.
6588         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
6589
6590 2012-03-05  Bruno Haible  <bruno@clisp.org>
6591
6592         hypot* tests: More tests.
6593         * tests/test-hypot.h: New file, partially extracted from
6594         tests/test-hypotl.c.
6595         * tests/test-hypot.c: Include test-hypot.h.
6596         (main): Invoke test_function.
6597         * tests/test-hypotf.c: Include test-hypot.h.
6598         (main): Invoke test_function.
6599         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
6600         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
6601         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
6602         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
6603         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
6604         tests/randomf.c.
6605         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
6606         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
6607         tests/randoml.c.
6608         (Depends-on): Add 'fpucw', 'float'.
6609         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
6610
6611 2012-03-05  Bruno Haible  <bruno@clisp.org>
6612
6613         fpucw: Doc about FreeBSD.
6614         * lib/fpucw.h: Mention FreeBSD in comments.
6615
6616 2012-03-04  Bruno Haible  <bruno@clisp.org>
6617
6618         sqrt* tests: More tests.
6619         * tests/test-sqrt.h: New file.
6620         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
6621         (main): Invoke test_function.
6622         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
6623         (main): Invoke test_function.
6624         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
6625         (main): Invoke test_function.
6626         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
6627         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
6628         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
6629         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
6630         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
6631         (Depends-on): Add 'float'.
6632         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
6633
6634 2012-03-04  Bruno Haible  <bruno@clisp.org>
6635
6636         remainder* tests: More tests.
6637         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
6638         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
6639         (main): Invoke test_function.
6640         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
6641         (main): Invoke test_function.
6642         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
6643         (main): Invoke test_function.
6644         * modules/remainder-tests (Files): Add tests/test-remainder.h,
6645         tests/randomd.c.
6646         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
6647         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
6648         tests/randomf.c.
6649         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
6650         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
6651         tests/randoml.c.
6652         (Depends-on): Add 'float'.
6653         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
6654
6655 2012-03-04  Bruno Haible  <bruno@clisp.org>
6656
6657         remainder, remainderf, remainderl: Fix computation for large quotients.
6658         * lib/remainder.c: Completely rewritten.
6659         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
6660         USE_FLOAT.
6661         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
6662         USE_LONG_DOUBLE.
6663         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
6664         isnand, isinf. Remove round, fma.
6665         * modules/remainderf (Files): Add lib/remainder.c.
6666         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
6667         Remove roundf, fmaf.
6668         * modules/remainderl (Files): Add lib/remainder.c.
6669         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
6670         isinf. Remove roundl, fmal.
6671         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
6672         REMAINDER_LIBM.
6673         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
6674         REMAINDERF_LIBM.
6675         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
6676         REMAINDERL_LIBM.
6677
6678 2012-03-04  Bruno Haible  <bruno@clisp.org>
6679
6680         fmod* tests: More tests.
6681         * tests/test-fmod.h (my_ldexp): New function.
6682         (test_function): Reduce amount of random numbers to test. Add tests
6683         of very large quotients x / y.
6684         * tests/test-fmod.c (MAX_EXP): New macro.
6685         * tests/test-fmodf.c (MAX_EXP): Likewise.
6686         * tests/test-fmodl.c (MAX_EXP): Likewise.
6687
6688 2012-03-04  Bruno Haible  <bruno@clisp.org>
6689
6690         fmod, fmodl: Fix computation for large quotients x / y.
6691         * lib/fmod.c: Completely rewritten.
6692         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
6693         USE_LONG_DOUBLE.
6694         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
6695         isnand. Remove fma.
6696         * modules/fmodl (Files): Add lib/fmod.c.
6697         (Depends-on): Add float, isfinite, signbit, fabsl,
6698         frexpl, ldexpl, isnanl. Remove fma.
6699         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
6700         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
6701
6702 2012-03-03  Bruno Haible  <bruno@clisp.org>
6703
6704         fmod* tests: More tests.
6705         * tests/test-fmod.h: New file.
6706         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
6707         (main): Invoke test_function.
6708         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
6709         (main): Invoke test_function.
6710         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
6711         (main): Invoke test_function.
6712         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
6713         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
6714         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
6715         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
6716         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
6717         (Depends-on): Add 'float'.
6718         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
6719
6720 2012-03-03  Bruno Haible  <bruno@clisp.org>
6721
6722         rint* tests: More tests.
6723         * tests/test-rint.h: New file, partially extracted from
6724         tests/test-rintl.c.
6725         * tests/test-rint.c: Include test-rint.h.
6726         (main): Invoke test_function.
6727         * tests/test-rintf.c: Include test-rint.h.
6728         (main): Invoke test_function.
6729         * tests/test-rintl.c: Include test-rint.h.
6730         (main): Invoke test_function.
6731         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
6732         (Makefile.am): Add randomd.c to test_rint_SOURCES.
6733         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
6734         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
6735         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
6736         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
6737
6738 2012-03-03  Bruno Haible  <bruno@clisp.org>
6739
6740         modf* tests: More tests.
6741         * tests/test-modf.h: New file.
6742         * tests/test-modf.c: Include <float.h> and test-modf.h.
6743         (main): Invoke test_function.
6744         * tests/test-modff.c: Include <float.h> and test-modf.h.
6745         (main): Invoke test_function.
6746         * tests/test-modfl.c: Include <float.h> and test-modf.h.
6747         (main): Invoke test_function.
6748         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
6749         (Makefile.am): Add randomd.c to test_modf_SOURCES.
6750         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
6751         (Makefile.am): Add randomf.c to test_modff_SOURCES.
6752         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
6753         (Depends-on): Add 'float'.
6754         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
6755
6756 2012-03-03  Bruno Haible  <bruno@clisp.org>
6757
6758         fabs* tests: More tests.
6759         * tests/test-fabs.h: New file, partially extracted from
6760         tests/test-fabsl.c.
6761         * tests/test-fabs.c (RANDOM): New macro.
6762         * tests/test-fabsf.c (RANDOM): New macro.
6763         * tests/test-fabsl.c (RANDOM): New macro.
6764         * modules/fabs-tests (Files): Add tests/randomd.c.
6765         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
6766         * modules/fabsf-tests (Files): Add tests/randomf.c.
6767         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
6768         * modules/fabsl-tests (Files): Add tests/randoml.c.
6769         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
6770
6771 2012-03-03  Bruno Haible  <bruno@clisp.org>
6772
6773         ldexp* tests: More tests.
6774         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
6775         * tests/test-ldexp.c (RANDOM): New macro.
6776         * tests/test-ldexpf.c (RANDOM): New macro.
6777         * tests/test-ldexpl.c (RANDOM): New macro.
6778         * modules/ldexp-tests (Files): Add tests/randomd.c.
6779         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
6780         * modules/ldexpf-tests (Files): Add tests/randomf.c.
6781         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
6782         * modules/ldexpl-tests (Files): Add tests/randoml.c.
6783         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
6784
6785 2012-03-03  Bruno Haible  <bruno@clisp.org>
6786
6787         frexp* tests: More tests.
6788         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
6789         * tests/test-frexp.c (RANDOM): New macro.
6790         * tests/test-frexpf.c (RANDOM): New macro.
6791         * tests/test-frexpl.c (RANDOM): New macro.
6792         * modules/frexp-tests (Files): Add tests/randomd.c.
6793         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
6794         * modules/frexpf-tests (Files): Add tests/randomf.c.
6795         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
6796         * modules/frexpl-tests (Files): Add tests/randoml.c.
6797         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
6798
6799 2012-03-03  Bruno Haible  <bruno@clisp.org>
6800
6801         Support for pseudo-random numbers in tests.
6802         * tests/randomf.c: New file.
6803         * tests/randomd.c: New file.
6804         * tests/randoml.c: New file.
6805         * tests/macros.h (randomf, randomd, randoml): New declarations.
6806
6807 2012-03-03  Bruno Haible  <bruno@clisp.org>
6808
6809         frexp* tests: Refactor.
6810         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
6811         * tests/test-frexp.c: Include and use it.
6812         * tests/test-frexpf.c: Likewise.
6813         * tests/test-frexpl.c: Likewise.
6814         * modules/frexp-tests (Files): Add tests/test-frexp.h.
6815         * modules/frexpf-tests (Files): Likewise.
6816         * modules/frexpl-tests (Files): Likewise.
6817
6818 2012-03-02  Jim Meyering  <meyering@redhat.com>
6819
6820         maint: don't specify XZ_OPT=-9ev in dist-related rule
6821         Using xz's -9 option is warranted only if you have a very large
6822         tarball (see xz's documentation for the sizes vs. presets), and
6823         requires 64MiB of memory at decompression time.
6824         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
6825         Automake's default of just "-e" is fine.  Override on a
6826         per-package basis by setting XZ_OPT e.g., in cfg.mk.
6827
6828 2012-03-01  Eric Blake  <eblake@redhat.com>
6829
6830         maint.mk: allow announcement for non-gnulib project
6831         * maint.mk (announcement): Skip gnulib version if not used.
6832
6833 2012-03-01  Jim Meyering  <meyering@redhat.com>
6834
6835         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
6836         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
6837         envvar settings cannot interfere.  Otherwise, setting envvars like
6838         prohibit=foo require=bar, etc. would cause spurious test failures.
6839
6840 2012-03-01  Eric Blake  <eblake@redhat.com>
6841
6842         maint.mk: add per-line exclusions to prohibitions
6843         * maint.mk (_sc_search_regexp): Add $exclude parameter.
6844         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
6845         (sc_const_long_option): Use it.
6846
6847 2012-03-01  Bruno Haible  <bruno@clisp.org>
6848
6849         Tests for module 'expl-ieee'.
6850         * modules/expl-ieee-tests: New file.
6851         * tests/test-expl-ieee.c: New file.
6852
6853         New module 'expl-ieee'.
6854         * modules/expl-ieee: New file.
6855
6856         Tests for module 'exp-ieee'.
6857         * modules/exp-ieee-tests: New file.
6858         * tests/test-exp-ieee.c: New file.
6859
6860         New module 'exp-ieee'.
6861         * modules/exp-ieee: New file.
6862
6863         Tests for module 'expf-ieee'.
6864         * modules/expf-ieee-tests: New file.
6865         * tests/test-expf-ieee.c: New file.
6866         * tests/test-exp-ieee.h: New file.
6867
6868         New module 'expf-ieee'.
6869         * modules/expf-ieee: New file.
6870
6871 2012-02-29  Bruno Haible  <bruno@clisp.org>
6872
6873         cbrtl-ieee: Work around test failure on IRIX 6.5.
6874         * m4/cbrtl-ieee.m4: New file.
6875         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
6876         test whether cbrtl works with a minus zero argument. Replace it if not.
6877         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
6878         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
6879         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
6880         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
6881         (Depends-on): Update conditions.
6882         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
6883         m4/signbit.m4.
6884         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
6885         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
6886         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
6887
6888         Tests for module 'cbrtl-ieee'.
6889         * modules/cbrtl-ieee-tests: New file.
6890         * tests/test-cbrtl-ieee.c: New file.
6891
6892         New module 'cbrtl-ieee'.
6893         * modules/cbrtl-ieee: New file.
6894
6895         Tests for module 'cbrt-ieee'.
6896         * modules/cbrt-ieee-tests: New file.
6897         * tests/test-cbrt-ieee.c: New file.
6898
6899         New module 'cbrt-ieee'.
6900         * modules/cbrt-ieee: New file.
6901
6902         Tests for module 'cbrtf-ieee'.
6903         * modules/cbrtf-ieee-tests: New file.
6904         * tests/test-cbrtf-ieee.c: New file.
6905         * tests/test-cbrt-ieee.h: New file.
6906
6907         New module 'cbrtf-ieee'.
6908         * modules/cbrtf-ieee: New file.
6909
6910 2012-02-29  Bruno Haible  <bruno@clisp.org>
6911
6912         cbrtf: Work around bug in IRIX 6.5 system function.
6913         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
6914         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
6915         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
6916         work.
6917         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
6918         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
6919         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
6920         (Depends-on): Update conditions.
6921         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
6922
6923 2012-02-29  Bruno Haible  <bruno@clisp.org>
6924
6925         Tests for module 'cbrtl'.
6926         * modules/cbrtl-tests: New file.
6927         * tests/test-cbrtl.c: New file.
6928
6929         New module 'cbrtl'.
6930         * lib/math.in.h (cbrtl): New declaration.
6931         * lib/cbrtl.c: New file.
6932         * m4/cbrtl.m4: New file.
6933         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
6934         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
6935         HAVE_DECL_CBRTL.
6936         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
6937         HAVE_DECL_CBRTL.
6938         * modules/cbrtl: New file.
6939         * tests/test-math-c++.cc: Check the declaration of cbrtl.
6940         * doc/posix-functions/cbrtl.texi: Mention the new module.
6941
6942 2012-02-29  Bruno Haible  <bruno@clisp.org>
6943
6944         Tests for module 'cbrtf'.
6945         * modules/cbrtf-tests: New file.
6946         * tests/test-cbrtf.c: New file.
6947
6948         New module 'cbrtf'.
6949         * lib/math.in.h (cbrtf): New declaration.
6950         * lib/cbrtf.c: New file.
6951         * m4/cbrtf.m4: New file.
6952         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
6953         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
6954         HAVE_DECL_CBRTF.
6955         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
6956         HAVE_DECL_CBRTF.
6957         * modules/cbrtf: New file.
6958         * tests/test-math-c++.cc: Check the declaration of cbrtf.
6959         * doc/posix-functions/cbrtf.texi: Mention the new module.
6960
6961 2012-02-29  Bruno Haible  <bruno@clisp.org>
6962
6963         cbrt: Provide replacement on MSVC and Minix.
6964         * lib/math.in.h (cbrt): New declaration.
6965         * lib/cbrt.c: New file.
6966         * m4/cbrt.m4: New file.
6967         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
6968         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
6969         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
6970         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
6971         (Depends-on): Add dependencies.
6972         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
6973         * tests/test-math-c++.cc: Check the declaration of cbrt.
6974         * doc/posix-functions/cbrt.texi: Mention that the module provides a
6975         replacement.
6976
6977 2012-02-29  Bruno Haible  <bruno@clisp.org>
6978
6979         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
6980         * m4/hypotl-ieee.m4: New file.
6981         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
6982         test whether hypotl works with mixed NaN and Infinity arguments.
6983         Replace it if not.
6984         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
6985         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
6986         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
6987         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
6988         (Depends-on): Update conditions.
6989         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
6990         (Depends-on): Add hypot-ieee.
6991         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
6992         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
6993
6994         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
6995         * m4/hypotf-ieee.m4: New file.
6996         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
6997         test whether hypotf works with mixed NaN and Infinity arguments.
6998         Replace it if not.
6999         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
7000         (Depends-on): Add hypot-ieee.
7001         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
7002         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
7003
7004         hypot-ieee: Work around test failure on OSF/1 and native Windows.
7005         * lib/math.in.h (hypot): New declaration.
7006         * lib/hypot.c: New file.
7007         * m4/hypot-ieee.m4: New file.
7008         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
7009         whether hypot works with mixed NaN and Infinity arguments. Replace it
7010         if not.
7011         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
7012         REPLACE_HYPOT.
7013         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
7014         * modules/hypot (Files): Add lib/hypot.c.
7015         (Depends-on): Add dependencies.
7016         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
7017         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
7018         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
7019         * tests/test-math-c++.cc: Check the declaration of hypot.
7020         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
7021
7022         Tests for module 'hypotl-ieee'.
7023         * modules/hypotl-ieee-tests: New file.
7024         * tests/test-hypotl-ieee.c: New file.
7025
7026         New module 'hypotl-ieee'.
7027         * modules/hypotl-ieee: New file.
7028
7029         Tests for module 'hypot-ieee'.
7030         * modules/hypot-ieee-tests: New file.
7031         * tests/test-hypot-ieee.c: New file.
7032
7033         New module 'hypot-ieee'.
7034         * modules/hypot-ieee: New file.
7035
7036         Tests for module 'hypotf-ieee'.
7037         * modules/hypotf-ieee-tests: New file.
7038         * tests/test-hypotf-ieee.c: New file.
7039         * tests/test-hypot-ieee.h: New file.
7040
7041         New module 'hypotf-ieee'.
7042         * modules/hypotf-ieee: New file.
7043
7044 2012-02-29  Bruno Haible  <bruno@clisp.org>
7045
7046         Remove unused variables.
7047         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
7048         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
7049         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
7050         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
7051
7052 2012-02-29  Eric Blake  <eblake@redhat.com>
7053
7054         termios: fix pid_t always, not just for tcgetsid
7055         * doc/posix-headers/termios.texi (termios.h): Mention problem.
7056         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
7057         just when building tcgetsid.
7058
7059 2012-02-29  Bruno Haible  <bruno@clisp.org>
7060
7061         Tests for module 'hypotl'.
7062         * modules/hypotl-tests: New file.
7063         * tests/test-hypotl.c: New file.
7064
7065         New module 'hypotl'.
7066         * lib/math.in.h (hypotl): New declaration.
7067         * lib/hypotl.c: New file.
7068         * m4/hypotl.m4: New file.
7069         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
7070         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
7071         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
7072         * modules/hypotl: New file.
7073         * tests/test-math-c++.cc: Check the hypotl declaration.
7074         * doc/posix-functions/hypotl.texi: Mention the new module.
7075
7076 2012-02-29  Eric Blake  <eblake@redhat.com>
7077
7078         tcgetsid: fix cygwin header bug
7079         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
7080
7081         docs: update cygwin progress
7082         * doc/posix-functions/llround.texi (llround): Added in cygwin
7083         1.7.8.
7084         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
7085         * doc/glibc-functions/program_invocation_name.texi
7086         (program_invocation_name): Likewise.
7087         * doc/glibc-functions/program_invocation_short_name.texi
7088         (program_invocation_short_name): Likewise.
7089         * doc/glibc-functions/madvise.texi (madvise): Likewise.
7090         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
7091         Likewise.
7092         * doc/posix-functions/pthread_spin_destroy.texi
7093         (pthread_spin_destroy): Added in cygwin 1.7.10.
7094         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
7095         Likewise.
7096         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
7097         Likewise.
7098         * doc/posix-functions/pthread_spin_trylock.texi
7099         (pthread_spin_trylock): Likewise.
7100         * doc/posix-functions/pthread_spin_unlock.texi
7101         (pthread_spin_unlock): Likewise.
7102         * doc/posix-functions/pthread_setschedprio.texi
7103         (pthread_setschedprio): Likewise.
7104         * doc/posix-functions/pthread_attr_getstack.texi
7105         (pthread_attr_getstack): Likewise.
7106         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
7107         (pthread_attr_getstackaddr): Likewise.
7108         * doc/glibc-functions/pthread_getattr_np.texi
7109         (pthread_getattr_np): Likewise.
7110         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
7111         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
7112         * doc/posix-functions/clock_settime.texi (clock_settime):
7113         Likewise.
7114         * doc/posix-functions/pthread_attr_getguardsize.texi
7115         (pthread_attr_getguardsize): Likewise.
7116         * doc/posix-functions/pthread_attr_setguardsize.texi
7117         (pthread_attr_setguardsize): Likewise.
7118         * doc/posix-functions/pthread_attr_setstack.texi
7119         (pthread_attr_setstack): Likewise.
7120         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
7121         (pthread_attr_setstackaddr): Likewise.
7122         * doc/posix-functions/clock_getcpuclockid.texi
7123         (clock_getcpuclockid): Likewise.
7124         * doc/posix-functions/pthread_getcpuclockid.texi
7125         (pthread_getcpuclockid): Likewise.
7126         * doc/glibc-functions/error.texi (error): Likewise.
7127         * doc/glibc-functions/error_at_line.texi (error_at_line):
7128         Likewise.
7129         * doc/glibc-functions/error_message_count.texi
7130         (error_message_count): Likewise.
7131         * doc/glibc-functions/error_one_per_line.texi
7132         (error_one_per_line): Likewise.
7133         * doc/glibc-functions/error_print_progname.texi
7134         (error_print_progname): Likewise.
7135         * doc/posix-functions/pthread_condattr_getclock.texi
7136         (pthread_condattr_getclock): Likewise.
7137         * doc/posix-functions/pthread_condattr_setclock.texi
7138         (pthread_condattr_setclock): Likewise.
7139         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
7140         Likewise.
7141         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
7142         * doc/glibc-functions/getpt.texi (getpt): Likewise.
7143         * doc/glibc-functions/get_current_dir_name.texi
7144         (get_current_dir_name): Likewise.
7145         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
7146         Likewise.
7147         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
7148         wrong return type.
7149         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
7150         1.7.11.
7151
7152 2012-02-29  Bruno Haible  <bruno@clisp.org>
7153
7154         Tests for module 'hypotf'.
7155         * modules/hypotf-tests: New file.
7156         * tests/test-hypotf.c: New file.
7157
7158         New module 'hypotf'.
7159         * lib/math.in.h (hypotf): New declaration.
7160         * lib/hypotf.c: New file.
7161         * m4/hypotf.m4: New file.
7162         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
7163         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
7164         REPLACE_HYPOTF.
7165         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
7166         REPLACE_HYPOTF.
7167         * modules/hypotf: New file.
7168         * tests/test-math-c++.cc: Check the hypotf declaration.
7169         * doc/posix-functions/hypotf.texi: Mention the new module.
7170
7171         hypot: Prepare for hypotf module.
7172         * m4/hypot.m4: New file.
7173         * modules/hypot (Files): Add m4/hypot.m4.
7174         (configure.ac): Invoke gl_FUNC_HYPOT.
7175
7176 2012-02-29  Bruno Haible  <bruno@clisp.org>
7177
7178         hypot tests: More tests.
7179         * tests/test-hypot.c: Include <float.h>.
7180         (main): Add tests about overflow and underflow.
7181
7182 2012-02-29  Bruno Haible  <bruno@clisp.org>
7183
7184         math code: Add comments.
7185         * lib/acosl.c: Add comment about related glibc source files.
7186         * lib/asinl.c: Likewise.
7187         * lib/atanl.c: Likewise.
7188         * lib/expl.c: Likewise.
7189         * lib/logl.c: Likewise.
7190         * lib/sincosl.c: Likewise.
7191         * lib/sinl.c: Likewise.
7192         * lib/tanl.c: Likewise.
7193         * lib/trigl.c: Likewise.
7194         * lib/cosl.c: Likewise. Fix comments.
7195
7196 2012-02-28  Bruno Haible  <bruno@clisp.org>
7197
7198         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
7199         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
7200         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
7201         HUGE_VALL are defined.
7202         (numeric_equald): Renamed from numeric_equal.
7203         (numeric_equalf, numeric_equall): New functions.
7204         (main): Check also HUGE_VALF, HUGE_VALL.
7205         * modules/math-tests (Files): Add tests/macros.h.
7206         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
7207         HUGE_VALL.
7208
7209 2012-02-28  Bruno Haible  <bruno@clisp.org>
7210
7211         doc: Move ISO C11 feature notes into POSIX chapters.
7212         * doc/posix-functions/aligned_alloc.texi: Renamed from
7213         doc/glibc-functions/aligned_alloc.texi.
7214         * doc/posix-functions/quick_exit.texi: Renamed from
7215         doc/glibc-functions/quick_exit.texi.
7216         * doc/posix-headers/uchar.texi: Renamed from
7217         doc/glibc-headers/uchar.texi.
7218         * doc/posix-functions/c16rtomb.texi: Renamed from
7219         doc/glibc-functions/c16rtomb.texi.
7220         * doc/posix-functions/c32rtomb.texi: Renamed from
7221         doc/glibc-functions/c32rtomb.texi.
7222         * doc/posix-functions/mbrtoc16.texi: Renamed from
7223         doc/glibc-functions/mbrtoc16.texi.
7224         * doc/posix-functions/mbrtoc32.texi: Renamed from
7225         doc/glibc-functions/mbrtoc32.texi.
7226         * doc/gnulib.texi: Update.
7227         (Glibc uchar.h): Remove section.
7228         Suggested by Eric Blake.
7229
7230 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
7231
7232         stdnoreturn: port to MSVC better
7233         MSVC standard headers use __declspec(noreturn), so #define noreturn
7234         to empty on that platform.  Reported by Bruno Haible in
7235         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
7236         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
7237         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
7238
7239 2012-02-28  Bruno Haible  <bruno@clisp.org>
7240
7241         doc: Mention new glibc headers and functions.
7242         * doc/glibc-headers/uchar.texi: New file.
7243         * doc/glibc-functions/aligned_alloc.texi: New file.
7244         * doc/glibc-functions/c16rtomb.texi: New file.
7245         * doc/glibc-functions/c32rtomb.texi: New file.
7246         * doc/glibc-functions/clock_adjtime.texi: New file.
7247         * doc/glibc-functions/fanotify_init.texi: New file.
7248         * doc/glibc-functions/fanotify_mark.texi: New file.
7249         * doc/glibc-functions/inet6_opt_append.texi: New file.
7250         * doc/glibc-functions/inet6_opt_find.texi: New file.
7251         * doc/glibc-functions/inet6_opt_finish.texi: New file.
7252         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
7253         * doc/glibc-functions/inet6_opt_init.texi: New file.
7254         * doc/glibc-functions/inet6_opt_next.texi: New file.
7255         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
7256         * doc/glibc-functions/inet6_rth_add.texi: New file.
7257         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
7258         * doc/glibc-functions/inet6_rth_init.texi: New file.
7259         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
7260         * doc/glibc-functions/inet6_rth_segments.texi: New file.
7261         * doc/glibc-functions/inet6_rth_space.texi: New file.
7262         * doc/glibc-functions/login.texi: New file.
7263         * doc/glibc-functions/mbrtoc16.texi: New file.
7264         * doc/glibc-functions/mbrtoc32.texi: New file.
7265         * doc/glibc-functions/name_to_handle_at.texi: New file.
7266         * doc/glibc-functions/ntp_gettimex.texi: New file.
7267         * doc/glibc-functions/open_by_handle_at.texi: New file.
7268         * doc/glibc-functions/prlimit.texi: New file.
7269         * doc/glibc-functions/process_vm_readv.texi: New file.
7270         * doc/glibc-functions/process_vm_writev.texi: New file.
7271         * doc/glibc-functions/recvmmsg.texi: New file.
7272         * doc/glibc-functions/scandirat.texi: New file.
7273         * doc/glibc-functions/sendmmsg.texi: New file.
7274         * doc/glibc-functions/setns.texi: New file.
7275         * doc/glibc-functions/timespec_get.texi: New file.
7276         * doc/gnulib.texi: Include them.
7277         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
7278         sections.
7279         Reported by Eric Blake.
7280
7281 2012-02-28  Bruno Haible  <bruno@clisp.org>
7282
7283         Avoid compilation errors with MSVC option -fp:strict.
7284         * lib/floor.c: Use MSVC specific pragma fenv_access.
7285         * lib/ceil.c: Likewise.
7286         * lib/trunc.c: Likewise.
7287         * lib/round.c: Likewise.
7288         * lib/rint.c: Likewise.
7289         * lib/fma.c: Likewise.
7290         * lib/integer_length.c: Likewise.
7291         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
7292         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7293         * tests/test-floor2.c: Likewise.
7294         * tests/test-floorf2.c: Likewise.
7295         * tests/test-ceil2.c: Likewise.
7296         * tests/test-ceilf2.c: Likewise.
7297         * tests/test-trunc2.c: Likewise.
7298         * tests/test-truncf2.c: Likewise.
7299         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7300
7301 2012-02-27  Bruno Haible  <bruno@clisp.org>
7302
7303         Tests for module 'sqrtl-ieee'.
7304         * modules/sqrtl-ieee-tests: New file.
7305         * tests/test-sqrtl-ieee.c: New file.
7306
7307         New module 'sqrtl-ieee'.
7308         * modules/sqrtl-ieee: New file.
7309
7310         Tests for module 'sqrt-ieee'.
7311         * modules/sqrt-ieee-tests: New file.
7312         * tests/test-sqrt-ieee.c: New file.
7313
7314         New module 'sqrt-ieee'.
7315         * modules/sqrt-ieee: New file.
7316
7317         Tests for module 'sqrtf-ieee'.
7318         * modules/sqrtf-ieee-tests: New file.
7319         * tests/test-sqrtf-ieee.c: New file.
7320         * tests/test-sqrt-ieee.h: New file.
7321
7322         New module 'sqrtf-ieee'.
7323         * modules/sqrtf-ieee: New file.
7324
7325 2012-02-27  Bruno Haible  <bruno@clisp.org>
7326
7327         remainderl-ieee: Work around test failure on OSF/1.
7328         * m4/remainderl-ieee.m4: New file.
7329         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
7330         present, test whether remainderl works with a zero second argument.
7331         Replace it if not.
7332         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
7333         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
7334         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
7335         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
7336         (Depends-on): Update conditions.
7337         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
7338         (Depends-on): Add remainder-ieee.
7339         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
7340         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
7341         module.
7342
7343         remainderf-ieee: Work around test failure on OSF/1.
7344         * m4/remainderf-ieee.m4: New file.
7345         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
7346         present, test whether remainderf works with a zero second argument.
7347         Replace it if not.
7348         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
7349         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
7350         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
7351         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
7352         (Depends-on): Update conditions.
7353         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
7354         (Depends-on): Add remainder-ieee.
7355         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
7356         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
7357         module.
7358
7359         remainder-ieee: Work around test failure on OSF/1.
7360         * m4/remainder-ieee.m4: New file.
7361         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
7362         present, test whether remainder works with a zero second argument.
7363         Replace it if not.
7364         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
7365         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
7366         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
7367         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
7368         (Depends-on): Update dependencies.
7369         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
7370         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
7371         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
7372
7373         Tests for module 'remainderl-ieee'.
7374         * modules/remainderl-ieee-tests: New file.
7375         * tests/test-remainderl-ieee.c: New file.
7376
7377         New module 'remainderl-ieee'.
7378         * modules/remainderl-ieee: New file.
7379
7380         Tests for module 'remainder-ieee'.
7381         * modules/remainder-ieee-tests: New file.
7382         * tests/test-remainder-ieee.c: New file.
7383
7384         New module 'remainder-ieee'.
7385         * modules/remainder-ieee: New file.
7386
7387         Tests for module 'remainderf-ieee'.
7388         * modules/remainderf-ieee-tests: New file.
7389         * tests/test-remainderf-ieee.c: New file.
7390         * tests/test-remainder-ieee.h: New file.
7391
7392         New module 'remainderf-ieee'.
7393         * modules/remainderf-ieee: New file.
7394
7395 2012-02-27  Bruno Haible  <bruno@clisp.org>
7396
7397         modff, modfl: Fix configure syntax error.
7398         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
7399         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
7400
7401 2012-02-27  Bruno Haible  <bruno@clisp.org>
7402
7403         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
7404         * m4/fmodl-ieee.m4: New file.
7405         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
7406         whether fmodl works with zero arguments. Replace it if not.
7407         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
7408         (Depends-on): Add fmod-ieee.
7409         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
7410         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
7411
7412         fmodf-ieee: Work around test failure on OSF/1.
7413         * m4/fmodf-ieee.m4: New file.
7414         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
7415         whether fmodf works with zero arguments. Replace it if not.
7416         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
7417         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
7418         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
7419         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
7420         (Depends-on): Update dependencies.
7421         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
7422         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
7423         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
7424
7425         fmodf-ieee: Work around test failure on MSVC 9.
7426         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
7427         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
7428
7429         fmod-ieee: Work around test failures on OSF/1, mingw.
7430         * m4/fmod-ieee.m4: New file.
7431         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
7432         whether fmod works with zero arguments. Replace it if not.
7433         * lib/math.in.h (fmod): New declaration.
7434         * lib/fmod.c: New file.
7435         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
7436         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
7437         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
7438         * modules/fmod (Files): Add lib/fmod.c.
7439         (Depends-on): Add math, isinf, trunc, fma.
7440         (configure.ac): Arrange to compile lib/fmod.c if needed.
7441         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
7442         m4/signbit.m4.
7443         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
7444         * tests/test-math-c++.cc: Check the declaration of fmod.
7445         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
7446
7447         fmodl-ieee: Fix test failures.
7448         * lib/fmodl.c (fmodl): Treat Inf specially.
7449         * modules/fmodl (Depends-on): Add isinf.
7450
7451         Tests for module 'fmodl-ieee'.
7452         * modules/fmodl-ieee-tests: New file.
7453         * tests/test-fmodl-ieee.c: New file.
7454
7455         New module 'fmodl-ieee'.
7456         * modules/fmodl-ieee: New file.
7457
7458         Tests for module 'fmod-ieee'.
7459         * modules/fmod-ieee-tests: New file.
7460         * tests/test-fmod-ieee.c: New file.
7461
7462         New module 'fmod-ieee'.
7463         * modules/fmod-ieee: New file.
7464
7465         Tests for module 'fmodf-ieee'.
7466         * modules/fmodf-ieee-tests: New file.
7467         * tests/test-fmodf-ieee.c: New file.
7468         * tests/test-fmod-ieee.h: New file.
7469
7470         New module 'fmodf-ieee'.
7471         * modules/fmodf-ieee: New file.
7472
7473 2012-02-27  Bruno Haible  <bruno@clisp.org>
7474
7475         Tests for module 'rintl-ieee'.
7476         * modules/rintl-ieee-tests: New file.
7477         * tests/test-rintl-ieee.c: New file.
7478
7479         New module 'rintl-ieee'.
7480         * modules/rintl-ieee: New file.
7481
7482         Tests for module 'rint-ieee'.
7483         * modules/rint-ieee-tests: New file.
7484         * tests/test-rint-ieee.c: New file.
7485
7486         New module 'rint-ieee'.
7487         * modules/rint-ieee: New file.
7488
7489         Tests for module 'rintf-ieee'.
7490         * modules/rintf-ieee-tests: New file.
7491         * tests/test-rintf-ieee.c: New file.
7492         * tests/test-rint-ieee.h: New file.
7493
7494         New module 'rintf-ieee'.
7495         * modules/rintf-ieee: New file.
7496
7497 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
7498
7499         regex: re_search etc. should return -2 when memory exhausted
7500         This bug was uncovered when testing 'grep'.  Without the fix,
7501         re_search and friends return -1 when memory is exhausted, but -1
7502         means no match, and this causes grep to falsely report no-match
7503         instead of memory-exhaustion.  See
7504         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
7505         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
7506         trouble; this can occur if re_search_internal ran out of memory.
7507
7508 2012-02-26  Bruno Haible  <bruno@clisp.org>
7509
7510         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
7511         * m4/modfl-ieee.m4: New file.
7512         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
7513         whether modfl works with Inf. Replace it if not.
7514         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
7515         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
7516         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
7517         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
7518         (Depends-on): Update dependencies.
7519         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
7520         m4/signbit.m4.
7521         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
7522         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
7523
7524         modfl-ieee: Fix dependencies.
7525         * modules/modfl-ieee (Depends-on): Add modf-ieee.
7526
7527         modfl-ieee: Fix test failures.
7528         * lib/modfl.c (modfl): Treat NaN and Inf specially.
7529         * modules/modfl (Depends-on): Add isfinite, isinf.
7530
7531         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
7532         * m4/modff-ieee.m4: New file.
7533         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
7534         whether modff works with NaN and Inf. Replace it if not.
7535         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
7536         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
7537         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
7538         * modules/modff (configure.ac): Consider REPLACE_MODFF.
7539         (Depends-on): Update dependencies.
7540         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
7541         m4/signbit.m4.
7542         (Depends-on): Add modf-ieee.
7543         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
7544         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
7545
7546         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
7547         * m4/modf-ieee.m4: New file.
7548         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
7549         whether modf works with NaN and Inf. Replace it if not.
7550         * lib/math.in.h (modf): New declaration.
7551         * lib/modf.c: New file.
7552         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
7553         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
7554         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
7555         * modules/modf (Files): Add lib/modf.c.
7556         (Depends-on): Add math, isfinite, trunc, isinf.
7557         (configure.ac): Addrange to compile lib/modf.c if needed.
7558         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
7559         m4/signbit.m4.
7560         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
7561         * tests/test-math-c++.cc: Check the declaration of modf.
7562         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
7563
7564         Tests for module 'modfl-ieee'.
7565         * modules/modfl-ieee-tests: New file.
7566         * tests/test-modfl-ieee.c: New file.
7567
7568         New module 'modfl-ieee'.
7569         * modules/modfl-ieee: New file.
7570
7571         Tests for module 'modf-ieee'.
7572         * modules/modf-ieee-tests: New file.
7573         * tests/test-modf-ieee.c: New file.
7574
7575         New module 'modf-ieee'.
7576         * modules/modf-ieee: New file.
7577
7578         Tests for module 'modff-ieee'.
7579         * modules/modff-ieee-tests: New file.
7580         * tests/test-modff-ieee.c: New file.
7581         * tests/test-modf-ieee.h: New file.
7582
7583         New module 'modff-ieee'.
7584         * modules/modff-ieee: New file.
7585
7586 2012-02-26  Bruno Haible  <bruno@clisp.org>
7587
7588         Tests for module 'fabsl-ieee'.
7589         * modules/fabsl-ieee-tests: New file.
7590         * tests/test-fabsl-ieee.c: New file.
7591
7592         New module 'fabsl-ieee'.
7593         * modules/fabsl-ieee: New file.
7594
7595         Tests for module 'fabs-ieee'.
7596         * modules/fabs-ieee-tests: New file.
7597         * tests/test-fabs-ieee.c: New file.
7598
7599         New module 'fabs-ieee'.
7600         * modules/fabs-ieee: New file.
7601
7602         Tests for module 'fabsf-ieee'.
7603         * modules/fabsf-ieee-tests: New file.
7604         * tests/test-fabsf-ieee.c: New file.
7605         * tests/test-fabs-ieee.h: New file.
7606
7607         New module 'fabsf-ieee'.
7608         * modules/fabsf-ieee: New file.
7609
7610 2012-02-26  Bruno Haible  <bruno@clisp.org>
7611
7612         Tests for module 'fmal-ieee'.
7613         * modules/fmal-ieee-tests: New file.
7614         * tests/test-fmal-ieee.c: New file.
7615
7616         New module 'fmal-ieee'.
7617         * modules/fmal-ieee: New file.
7618
7619         Tests for module 'fma-ieee'.
7620         * modules/fma-ieee-tests: New file.
7621         * tests/test-fma-ieee.c: New file.
7622
7623         New module 'fma-ieee'.
7624         * modules/fma-ieee: New file.
7625
7626         Tests for module 'fmaf-ieee'.
7627         * modules/fmaf-ieee-tests: New file.
7628         * tests/test-fmaf-ieee.c: New file.
7629         * tests/test-fma-ieee.h: New file.
7630
7631         New module 'fmaf-ieee'.
7632         * modules/fmaf-ieee: New file.
7633
7634 2012-02-26  Bruno Haible  <bruno@clisp.org>
7635
7636         Tests for module 'ldexpl-ieee'.
7637         * modules/ldexpl-ieee-tests: New file.
7638         * tests/test-ldexpl-ieee.c: New file.
7639
7640         New module 'ldexpl-ieee'.
7641         * modules/ldexpl-ieee: New file.
7642
7643         Tests for module 'ldexp-ieee'.
7644         * modules/ldexp-ieee-tests: New file.
7645         * tests/test-ldexp-ieee.c: New file.
7646
7647         New module 'ldexp-ieee'.
7648         * modules/ldexp-ieee: New file.
7649
7650         Tests for module 'ldexpf-ieee'.
7651         * modules/ldexpf-ieee-tests: New file.
7652         * tests/test-ldexpf-ieee.c: New file.
7653         * tests/test-ldexp-ieee.h: New file.
7654
7655         New module 'ldexpf-ieee'.
7656         * modules/ldexpf-ieee: New file.
7657
7658 2012-02-26  Bruno Haible  <bruno@clisp.org>
7659
7660         Refactor frexp*-ieee tests.
7661         * tests/test-frexp-ieee.h: New file.
7662         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
7663         (main): Just call test_function.
7664         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
7665         (main): Just call test_function.
7666         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
7667         (main): Just call test_function.
7668         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
7669         * modules/frexp-ieee-tests (Files): Likewise.
7670         * modules/frexpl-ieee-tests (Files): Likewise.
7671
7672         Tests for module 'frexpl-ieee'.
7673         * modules/frexpl-ieee-tests: New file.
7674         * tests/test-frexpl-ieee.c: New file.
7675
7676         New module 'frexpl-ieee'.
7677         * modules/frexpl-ieee: New file.
7678
7679         Tests for module 'frexp-ieee'.
7680         * modules/frexp-ieee-tests: New file.
7681         * tests/test-frexp-ieee.c: New file.
7682
7683         New module 'frexp-ieee'.
7684         * modules/frexp-ieee: New file.
7685
7686         Tests for module 'frexpf-ieee'.
7687         * modules/frexpf-ieee-tests: New file.
7688         * tests/test-frexpf-ieee.c: New file.
7689
7690         New module 'frexpf-ieee'.
7691         * modules/frexpf-ieee: New file.
7692
7693 2012-02-26  Bruno Haible  <bruno@clisp.org>
7694
7695         roundl-ieee tests: More tests.
7696         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7697         (main): Add tests for [MX] shaded specification in POSIX.
7698         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7699         (Depends-on): Add isnanl-nolibm.
7700
7701         round-ieee tests: More tests.
7702         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7703         (main): Add tests for [MX] shaded specification in POSIX.
7704         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7705         (Depends-on): Add isnand-nolibm.
7706
7707         roundf-ieee tests: More tests.
7708         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7709         (main): Add tests for [MX] shaded specification in POSIX.
7710         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7711         (Depends-on): Add isnanf-nolibm.
7712
7713         truncl-ieee tests: More tests.
7714         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7715         (main): Add tests for [MX] shaded specification in POSIX.
7716         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7717         (Depends-on): Add isnanl-nolibm.
7718
7719         trunc-ieee tests: More tests.
7720         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7721         (main): Add tests for [MX] shaded specification in POSIX.
7722         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7723         (Depends-on): Add isnand-nolibm.
7724
7725         truncf-ieee tests: More tests.
7726         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7727         (main): Add tests for [MX] shaded specification in POSIX.
7728         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7729         (Depends-on): Add isnanf-nolibm.
7730
7731         ceill-ieee tests: More tests.
7732         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7733         (main): Add tests for [MX] shaded specification in POSIX.
7734         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7735         (Depends-on): Add isnanl-nolibm.
7736
7737         ceil-ieee tests: More tests.
7738         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7739         (main): Add tests for [MX] shaded specification in POSIX.
7740         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7741         (Depends-on): Add isnand-nolibm.
7742
7743         ceilf-ieee tests: More tests.
7744         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7745         (main): Add tests for [MX] shaded specification in POSIX.
7746         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7747         (Depends-on): Add isnanf-nolibm.
7748
7749         floorl-ieee tests: More tests.
7750         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7751         (main): Add tests for [MX] shaded specification in POSIX.
7752         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7753         (Depends-on): Add isnanl-nolibm.
7754
7755         floor-ieee tests: More tests.
7756         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7757         (main): Add tests for [MX] shaded specification in POSIX.
7758         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7759         (Depends-on): Add isnand-nolibm.
7760
7761         floorf-ieee tests: More tests.
7762         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7763         (main): Add tests for [MX] shaded specification in POSIX.
7764         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7765         (Depends-on): Add isnanf-nolibm.
7766
7767 2012-02-26  Bruno Haible  <bruno@clisp.org>
7768
7769         fpieee: More comments.
7770         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
7771
7772 2012-02-25  Bruno Haible  <bruno@clisp.org>
7773
7774         Tests for module 'log10l'.
7775         * modules/log10l-tests: New file.
7776         * tests/test-log10l.c: New file.
7777         * tests/test-math-c++.cc: Check the declaration of log10l.
7778
7779         New module 'log10l'.
7780         * lib/math.in.h (log10l): New declaration.
7781         * lib/log10l.c: New file.
7782         * m4/log10l.m4: New file.
7783         * modules/log10l: New file.
7784         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
7785         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
7786         HAVE_DECL_LOG10L.
7787         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
7788         HAVE_DECL_LOG10L.
7789         * doc/posix-functions/log10l.texi: Mention the new module.
7790
7791 2012-02-25  Bruno Haible  <bruno@clisp.org>
7792
7793         fmodl, remainder*: Avoid wrong results due to rounding errors.
7794         * lib/fmodl.c (fmodl): Correct the result if it is not within the
7795         expected bounds.
7796         * lib/remainderf.c (remainderf): Likewise.
7797         * lib/remainder.c (remainder): Likewise.
7798         * lib/remainderl.c (remainderl): Likewise.
7799
7800 2012-02-25  Bruno Haible  <bruno@clisp.org>
7801
7802         Tests for module 'remainderl'.
7803         * modules/remainderl-tests: New file.
7804         * tests/test-remainderl.c: New file.
7805         * tests/test-math-c++.cc: Check the declaration of remainderl.
7806
7807         New module 'remainderl'.
7808         * lib/math.in.h (remainderl): New declaration.
7809         * lib/remainderl.c: New file.
7810         * m4/remainderl.m4: New file.
7811         * modules/remainderl: New file.
7812         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
7813         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
7814         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
7815         HAVE_REMAINDERL.
7816         * doc/posix-functions/remainderl.texi: Mention the new module.
7817
7818 2012-02-25  Bruno Haible  <bruno@clisp.org>
7819
7820         Tests for module 'remainderf'.
7821         * modules/remainderf-tests: New file.
7822         * tests/test-remainderf.c: New file.
7823         * tests/test-math-c++.cc: Check the declaration of remainderf.
7824
7825         New module 'remainderf'.
7826         * lib/math.in.h (remainderf): New declaration.
7827         * lib/remainderf.c: New file.
7828         * m4/remainderf.m4: New file.
7829         * modules/remainderf: New file.
7830         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
7831         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
7832         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
7833         HAVE_REMAINDERF.
7834         * doc/posix-functions/remainderf.texi: Mention the new module.
7835
7836 2012-02-25  Bruno Haible  <bruno@clisp.org>
7837
7838         remainder: Support for MSVC.
7839         * lib/math.in.h (remainder): New declaration.
7840         * lib/remainder.c: New file.
7841         * m4/remainder.m4: New file.
7842         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
7843         (Depends-on): Add math, round, fma.
7844         (configure.ac): Use results of gl_FUNC_REMAINDER.
7845         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
7846         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
7847         HAVE_DECL_REMAINDER.
7848         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
7849         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
7850         * tests/test-math-c++.cc: Check the declaration of remainder.
7851         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
7852         problems are fixed.
7853
7854 2012-02-25  Bruno Haible  <bruno@clisp.org>
7855
7856         Tests for module 'fmodl'.
7857         * modules/fmodl-tests: New file.
7858         * tests/test-fmodl.c: New file.
7859         * tests/test-math-c++.cc: Check the declaration of fmodl.
7860
7861         New module 'fmodl'.
7862         * lib/math.in.h (fmodl): New declaration.
7863         * lib/fmodl.c: New file.
7864         * m4/fmodl.m4: New file.
7865         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
7866         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
7867         REPLACE_FMODL.
7868         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
7869         REPLACE_FMODL.
7870         * modules/fmodl: New file.
7871         * doc/posix-functions/fmodl.texi: Mention the new module.
7872
7873 2012-02-25  Bruno Haible  <bruno@clisp.org>
7874
7875         Tests for module 'modfl'.
7876         * modules/modfl-tests: New file.
7877         * tests/test-modfl.c: New file.
7878         * tests/test-math-c++.cc: Check the declaration of modfl.
7879
7880         New module 'modfl'.
7881         * lib/math.in.h (modfl): New declaration.
7882         * lib/modfl.c: New file.
7883         * m4/modfl.m4: New file.
7884         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
7885         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
7886         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
7887         * modules/modfl: New file.
7888         * doc/posix-functions/modfl.texi: Mention the new module.
7889
7890 2012-02-25  Bruno Haible  <bruno@clisp.org>
7891
7892         Tests for module 'fabsl'.
7893         * modules/fabsl-tests: New file.
7894         * tests/test-fabsl.c: New file.
7895         * tests/test-math-c++.cc: Check the declaration of fabsl.
7896
7897         New module 'fabsl'.
7898         * lib/math.in.h (fabsl): New declaration.
7899         * lib/fabsl.c: New file.
7900         * m4/fabsl.m4: New file.
7901         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
7902         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
7903         REPLACE_FABSL.
7904         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
7905         REPLACE_FABSL.
7906         * modules/fabsl: New file.
7907         * doc/posix-functions/fabsl.texi: Mention the new module.
7908
7909 2012-02-25  Bruno Haible  <bruno@clisp.org>
7910
7911         fabs tests: More tests.
7912         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
7913         (zero): New variable.
7914         (main): Add tests for signed zero.
7915         * modules/fabs-tests (Files): Add tests/minus-zero.h.
7916
7917         fabsf tests: More tests.
7918         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
7919         (zero): New variable.
7920         (main): Add tests for signed zero.
7921         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
7922
7923 2012-02-24  Bruno Haible  <bruno@clisp.org>
7924
7925         atanl: Provide function definition on MSVC.
7926         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
7927         function pointer.
7928         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
7929
7930 2012-02-24  Bruno Haible  <bruno@clisp.org>
7931
7932         acosl: Provide function definition on MSVC.
7933         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
7934         function pointer.
7935         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
7936
7937 2012-02-24  Bruno Haible  <bruno@clisp.org>
7938
7939         asinl: Provide function definition on MSVC.
7940         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
7941         function pointer.
7942         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
7943
7944 2012-02-24  Bruno Haible  <bruno@clisp.org>
7945
7946         tanl: Provide function definition on MSVC.
7947         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
7948         function pointer.
7949         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
7950
7951 2012-02-24  Bruno Haible  <bruno@clisp.org>
7952
7953         cosl: Provide function definition on MSVC.
7954         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
7955         function pointer.
7956         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
7957
7958 2012-02-24  Bruno Haible  <bruno@clisp.org>
7959
7960         sinl: Provide function definition on MSVC.
7961         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
7962         function pointer.
7963         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
7964
7965 2012-02-24  Bruno Haible  <bruno@clisp.org>
7966
7967         logl: Provide function definition on MSVC.
7968         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
7969         function pointer.
7970         * lib/math.in.h (logl): Undefine if it does not exist as a function.
7971
7972 2012-02-24  Bruno Haible  <bruno@clisp.org>
7973
7974         expl: Provide function definition on MSVC.
7975         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
7976         function pointer.
7977         * lib/math.in.h (expl): Undefine if it does not exist as a function.
7978
7979 2012-02-24  Bruno Haible  <bruno@clisp.org>
7980
7981         sqrtl: Provide function definition on MSVC.
7982         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
7983         a function pointer.
7984         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
7985
7986 2012-02-24  Bruno Haible  <bruno@clisp.org>
7987
7988         ceill: Provide function definition on MSVC.
7989         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
7990         used as a function pointer.
7991         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
7992
7993 2012-02-24  Bruno Haible  <bruno@clisp.org>
7994
7995         floorl: Provide function definition on MSVC.
7996         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
7997         used as a function pointer.
7998         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
7999
8000 2012-02-24  Bruno Haible  <bruno@clisp.org>
8001
8002         ceilf: Provide function definition on MSVC.
8003         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
8004         used as a function pointer.
8005         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
8006
8007 2012-02-24  Bruno Haible  <bruno@clisp.org>
8008
8009         floorf: Provide function definition on MSVC.
8010         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
8011         used as a function pointer.
8012         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
8013
8014 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8015
8016         stdnoreturn: new module
8017         This implements a replacement for C11's <stdnoreturn.h>.
8018         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
8019         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
8020         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
8021         * tests/test-stdnoreturn.c: New files.
8022
8023 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
8024
8025         regex: fix false multibyte matches in some regular expressions
8026         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
8027         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
8028         * lib/regex_internal.c (re_string_skip_chars):
8029         Fix miscomputation of remain_len that may cause incomplete
8030         multi-byte character and false match.
8031
8032 2012-02-24  Jim Meyering  <meyering@redhat.com>
8033
8034         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
8035         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
8036         uses with "==" *before* the call, e.g., 0 == strcmp (...)
8037         Remove now-unnecessary str''cmp obfuscation.
8038         Suggested by Akim Demaille.
8039
8040 2012-02-24  Bruno Haible  <bruno@clisp.org>
8041
8042         streq: Rename macro.
8043         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
8044         * NEWS: Mention the change.
8045         * lib/mbrtowc.c (mbrtowc): Update.
8046         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
8047         * lib/wcwidth.c (wcwidth): Update.
8048         Suggested by Akim Demaille and Jim Meyering.
8049
8050 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
8051
8052         regex: fix typo in definition of MIN
8053         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
8054         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
8055
8056 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
8057             Bruno Haible  <bruno@clisp.org>
8058
8059         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
8060         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
8061         entries into a stack-allocated buffer directly.
8062         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
8063
8064 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
8065             Bruno Haible  <bruno@clisp.org>
8066
8067         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
8068
8069          - There were several instances of this pattern:
8070
8071              for (;;) {
8072                n = acl (f, GETACLCNT, 0, NULL);
8073                [ allocate an array A of size N ]
8074                if (acl (f, GETACL, n, a) == n)
8075                  break;
8076              }
8077
8078            This loop might never terminate if some other process is constantly
8079            manipulating the file's ACL.  The loop should be rewritten to
8080            terminate.
8081
8082          - The acl (... GETACLNT ...) call is merely an optimization; its value
8083            is merely a hint as to how big to make the array.  A better
8084            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
8085            and just guess a reasonably-big size, growing the size and trying
8086            again if it's not large enough.  This guarantees termination, and
8087            saves a system call.
8088
8089         * lib/acl-internal.h: Include <limits.h>.
8090         (MIN, SIZE_MAX): New macros.
8091         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
8092         a stack-allocated buffer, and use malloc if it does not fit. Don't
8093         use GETACLCNT.
8094         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
8095
8096 2012-02-19  Bruno Haible  <bruno@clisp.org>
8097
8098         acl: Fix endless loop on Solaris with vxfs.
8099         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
8100         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
8101         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
8102         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
8103         * tests/test-sameacls.c (main)[Solaris]: Likewise.
8104         Reported by Bill Jones in
8105         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
8106
8107 2012-02-19  Bruno Haible  <bruno@clisp.org>
8108
8109         acl: Fix copy-acl test failure on Solaris 11 2011-11.
8110         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
8111         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
8112         that this function returns 0 in some more cases.
8113
8114 2012-02-19  Bruno Haible  <bruno@clisp.org>
8115
8116         acl: Update doc references.
8117         * doc/acl-resources.txt: Update links to Solaris documentation.
8118
8119 2012-02-19  Bruno Haible  <bruno@clisp.org>
8120
8121         Fix test failure in many locales on Solaris 11.
8122         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
8123         'tr' arguments.
8124         * tests/test-pipe-filter-ii1.c (main): Likewise.
8125         * build-aux/bootstrap (check_versions): Run 'tr' command with range
8126         expressions in the C locale.
8127         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
8128         * m4/host-os.m4 (gl_HOST_OS): Likewise.
8129
8130 2012-02-19  Bruno Haible  <bruno@clisp.org>
8131
8132         gnulib-tool: Improve usage message.
8133         * gnulib-tool (func_usage): Move doc of --help and --version to the
8134         section "Operation modes".
8135
8136 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
8137
8138         README-release: make it easier to execute commands
8139         * top/README-release: break commands out on to separate lines.
8140
8141 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
8142
8143         GNUmakefile: simplify detection of unconfigured trees
8144         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
8145         whether the tree make is being run from is already configured or
8146         not.  Related simplifications.
8147
8148 2012-02-13  Simon Josefsson  <simon@josefsson.org>
8149
8150         * gnulib-tool (func_usage): Document --help and --version.
8151
8152 2012-02-11  Jim Meyering  <meyering@redhat.com>
8153
8154         bootstrap: don't exit 0 upon gnulib-tool failure
8155         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
8156         its exit status, not 0.
8157
8158 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
8159
8160         README-release: various improvements
8161         * top/README-release: Give a command to push changes for the
8162         release.  Add "distcheck" to list of other pre-release checks.
8163         Fix instance of "make stable" which should be "make TYPE".
8164
8165 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
8166
8167         maint: replace FSF snail-mail addresses with URLs
8168         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
8169         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
8170         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
8171         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
8172         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
8173         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
8174         * lib/check-version.c, lib/check-version.h, lib/config.charset:
8175         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
8176         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
8177         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
8178         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
8179         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
8180         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
8181         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
8182         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
8183         * lib/glthread/thread.c, lib/glthread/thread.h:
8184         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
8185         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
8186         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
8187         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
8188         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
8189         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
8190         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
8191         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
8192         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
8193         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
8194         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
8195         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
8196         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
8197         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
8198         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
8199         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
8200         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
8201         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
8202         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
8203         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
8204         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
8205         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
8206         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
8207         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
8208         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
8209         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
8210         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
8211         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
8212         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
8213         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
8214         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
8215         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
8216         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
8217         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
8218         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
8219         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
8220         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
8221         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
8222         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
8223         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
8224         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
8225         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
8226         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
8227         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
8228         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
8229         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
8230         * tests/test-poll.c, tests/test-quotearg-simple.c:
8231         * tests/test-quotearg.c, tests/test-quotearg.h:
8232         * tests/test-round-ieee.c, tests/test-round1.c:
8233         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
8234         * tests/test-roundl-ieee.c, tests/test-roundl.c:
8235         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
8236         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
8237         * tests/test-strerror.c, tests/test-strerror_r.c:
8238         * tests/test-strsignal.c, tests/test-strverscmp.c:
8239         * tests/test-xmemdup0.c:
8240         Replace FSF snail mail addresses with URLs, as per GNU coding
8241         standards.  See glibc bug
8242         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
8243
8244 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
8245
8246         README-release: capitalize a word and split a line
8247         * top/README-release: Fix punctuation and spacing.
8248
8249 2012-02-08  Akim Demaille  <demaille@gostai.com>
8250
8251         fatal-signal: use C prototypes (with explicit void).
8252         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
8253         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
8254
8255 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8256
8257         regex: spelling fix
8258         * lib/regexec.c: spelling fix
8259
8260         regex: rely on stdint.h for SIZE_MAX
8261         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
8262
8263 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8264
8265         regex: merge glibc changes
8266
8267         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
8268         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
8269         (init_word_char): Work even if bitset words are not exactly 32 or
8270         64 bits wide.  Don't assume there are no padding bits.
8271         * lib/regex.c [_LIBC]: Do not include <config.h>.
8272         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
8273         and -Wtype-limits.
8274         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
8275         needless disagreement with glibc.  All uses changed.  Define it to
8276         1 only if _GNU_SOURCE, to match glibc.
8277         (_REG_RM_NAME): Remove; no longer needed, since the names in
8278         question are now all protected by __USE_GNU.
8279         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
8280         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
8281         * lib/regex_internal.h (MIN): New macro.
8282
8283         2012-01-03 Ulrich Drepper <drepper@gmail.com>
8284         * lib/regcomp.c (init_word_char): Optimize regex a bit.
8285
8286         2011-12-30 Jakub Jelinek <jakub@redhat.com>
8287         * lib/regex_internal.c (re_string_fetch_byte_case):
8288         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
8289         is miscompiled, and it turns out it is because of an incorrect
8290         attribute on re_string_fetch_byte_case.  Unlike
8291         re_string_peek_byte_case, this one is really not pure, it modifies
8292         memory (increments pstr->cur_idx), and with the pure attribute GCC
8293         assumed it doesn't and it cached the presumed value of
8294         regexp->cur_idx in a variable across the
8295          for (;; ++i)
8296            {
8297              if (i >= BRACKET_NAME_BUF_SIZE)
8298                return REG_EBRACK;
8299              if (token->type == OP_OPEN_CHAR_CLASS)
8300                ch = re_string_fetch_byte_case (regexp);
8301              else
8302                ch = re_string_fetch_byte (regexp);
8303              if (re_string_eoi(regexp))
8304                return REG_EBRACK;
8305              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
8306                break;
8307              elem->opr.name[i] = ch;
8308            }
8309
8310         2011-11-29 Andreas Schwab <schwab@redhat.com>
8311         * lib/regcomp.c (build_equiv_class):
8312         Fix access after end of search string in regex matcher.
8313
8314         2011-11-12 Ulrich Drepper <drepper@redhat.com>
8315         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
8316
8317         2011-10-12 Ulrich Drepper <drepper@redhat.com>
8318         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
8319
8320         2011-10-11 Ulrich Drepper <drepper@redhat.com>
8321         * lib/regcomp.c (parse_branch, parse_sub_exp):
8322         More regex memory leak fixes and tests.
8323         (parse_sub_exp, parse_bracket_exp):
8324         Fix memory leak for some invalid regular expressions.
8325
8326         2011-05-28 Ulrich Drepper <drepper@gmail.com>
8327         * lib/regex_internal.c, lib/regexec.c:
8328         Fix unnecessary overallocation due to incomplete character.  When
8329         incomplete characters are found at the end of a string the code
8330         ran amok and allocated lots of memory.  Stricter limits are now in
8331         place.
8332
8333         2011-05-20 Reuben Thomas <rrt@sc3d.org>
8334         * lib/regex.h: Update documentation.
8335
8336         2011-05-16 Aharon Robbins <arnold@skeeve.com>
8337         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
8338
8339         2010-05-05 Andreas Schwab <schwab@redhat.com>
8340         * lib/regexec.c (find_collation_sequence_value):
8341         Fix lookup of collation sequence value during regexp matching.
8342
8343         2010-01-22 Ulrich Drepper <drepper@redhat.com>
8344         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
8345
8346         2008-01-16 Ulrich Drepper <drepper@redhat.com>
8347         * lib/regex.h: Cleanup namespace.
8348
8349         2007-11-26 Ulrich Drepper <drepper@redhat.com>
8350         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
8351
8352         2007-08-26 Ulrich Drepper <drepper@redhat.com>
8353         * lib/regex_internal.h: Prevent some declarations and definitions
8354         to be seen when used in tests.
8355
8356         2005-05-06 Ulrich Drepper <drepper@redhat.com>
8357         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
8358         __libc_lock_* macros if not _LIBC.
8359         (struct re_dfa_t): Add lock.
8360
8361 2012-02-07  Eric Blake  <eblake@redhat.com>
8362
8363         maint.mk: also prohibit lower-case @var@
8364         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
8365         lower case, like @top_srcdir@.
8366
8367 2012-02-04  Eric Blake  <eblake@redhat.com>
8368
8369         canonicalize: avoid uninitialized memory use
8370         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
8371         random '/' left in dest.
8372         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
8373
8374 2012-02-04  Bruno Haible  <bruno@clisp.org>
8375
8376         isatty: Fix test failure of ptsname_r on native Windows.
8377         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
8378         and don't set errno.
8379         (isatty): Test first whether fd is valid. Set errno when returning 0.
8380
8381 2012-02-04  Bruno Haible  <bruno@clisp.org>
8382
8383         spawn-pipe tests: Fix a NULL program name in a diagnostic.
8384         * tests/test-spawn-pipe-main.c: Include progname.h.
8385         (main): Invoke set_program_name.
8386         * modules/spawn-pipe-tests (Depends-on): Add progname.
8387
8388         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
8389         * tests/test-nonblocking-socket-main.c: Include progname.h.
8390         (main): Invoke set_program_name.
8391         * modules/nonblocking-socket-tests (Depends-on): Add progname.
8392
8393         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
8394         * tests/test-nonblocking-pipe-main.c: Include progname.h.
8395         (main): Invoke set_program_name.
8396         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
8397
8398 2012-02-04  Eric Blake  <eblake@redhat.com>
8399
8400         canonicalize-lgpl: fix // handling
8401         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
8402
8403         canonicalize: fix // handling
8404         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
8405         /// to //, since only // is special.
8406
8407 2012-02-04  Bruno Haible  <bruno@clisp.org>
8408
8409         ioctl: Fix test failure on native Windows.
8410         * lib/ioctl.c: Include msvc-nothrow.h.
8411         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
8412
8413 2012-02-04  Bruno Haible  <bruno@clisp.org>
8414
8415         fsync: Avoid test failure on native Windows.
8416         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
8417         read-only.
8418
8419 2012-02-04  Bruno Haible  <bruno@clisp.org>
8420
8421         sys_select: Avoid syntax error on OpenBSD 5.0.
8422         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
8423         currently being included, just include the system's <sys/select.h>.
8424
8425 2012-02-04  Bruno Haible  <bruno@clisp.org>
8426
8427         sys_select: Avoid syntax error on OpenBSD 5.0.
8428         * lib/sys_select.in.h: Include <signal.h> only after the include_next
8429         <sys/select.h>, not before.
8430         Reported by Jiri B <jirib@devio.us>.
8431
8432 2012-02-04  Bruno Haible  <bruno@clisp.org>
8433
8434         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
8435         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
8436         global variables.
8437         * tests/test-get-rusage-data.c (main): Likewise.
8438         Reported by Jim Meyering.
8439
8440 2012-02-04  Bruno Haible  <bruno@clisp.org>
8441
8442         stdioext: Fix last commit.
8443         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
8444
8445 2012-02-03  Bruno Haible  <bruno@clisp.org>
8446
8447         stdioext: Add tentative support for Plan9.
8448         * lib/stdio-impl.h: Include <errno.h>.
8449         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
8450         * lib/freadable.c (freadable): Likewise.
8451         * lib/fwritable.c (fwritable): Likewise.
8452         * lib/fbufmode.c (fbufmode): Likewise.
8453         * lib/freading.c (freading): Likewise.
8454         * lib/fwriting.c (fwriting): Likewise.
8455         * lib/freadptr.c (freadptr): Likewise.
8456         * lib/freadseek.c (freadptrinc): Likewise.
8457         * lib/freadahead.c (freadahead): Likewise.
8458         * lib/fpurge.c (fpurge): Likewise.
8459         * lib/fseeko.c (rpl_fseeko): Likewise.
8460         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
8461         Reported by Jens Staal <staal1978@gmail.com>.
8462
8463 2012-02-02  Jim Meyering  <meyering@redhat.com>
8464
8465         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
8466         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
8467         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
8468         not even to try to add the attribute.  Instead, add a pragma to suppress
8469         the suggestion/warning.
8470
8471 2012-01-31  Karl Berry  <karl@gnu.org>
8472
8473         setstate doc: typo.
8474         * doc/posix-functions/setstate.texi (setstate): { not (.
8475
8476 2012-01-31  Bruno Haible  <bruno@clisp.org>
8477
8478         popen: Make more robust on Windows.
8479         * lib/popen.c: On native Windows, use the _popen based code even if
8480         HAVE_POPEN is set.
8481         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
8482         environment variable on native Windows.
8483
8484 2012-01-30  Bruno Haible  <bruno@clisp.org>
8485
8486         pclose: Fix typo.
8487         * lib/stdio.in.h (pclose): Fix typo in warning message.
8488
8489 2012-01-30  Bruno Haible  <bruno@clisp.org>
8490
8491         doc about getlogin_r, setstate.
8492         * doc/posix-functions/getlogin_r.texi: List the incompatible
8493         declaration problem under "not fixed by gnulib".
8494         * doc/posix-functions/setstate.texi: Mention incompatible declaration
8495         problem on Solaris 11 and other platforms.
8496
8497 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
8498             Bruno Haible  <bruno@clisp.org>
8499
8500         poll tests: Make test more robust.
8501         * tests/test-poll.c: Include macros.h.
8502         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
8503         return value of various I/O operations.
8504         * modules/poll-tests (Files): Add tests/macros.h.
8505
8506 2012-01-30  Bruno Haible  <bruno@clisp.org>
8507
8508         sys_stat: Fix support for mingw64 and MSVC.
8509         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
8510         header files already do it.
8511         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
8512         stat itself.
8513         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8514
8515 2012-01-30  Bruno Haible  <bruno@clisp.org>
8516
8517         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
8518         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
8519         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
8520
8521 2012-01-29  Bruno Haible  <bruno@clisp.org>
8522
8523         quotearg: Fix test failure on MacOS X 10.5.
8524         * tests/test-quotearg-simple.c: Include localcharset.h.
8525         (main): If the locale encoding is not ASCII, bypass the tests of
8526         locale_quoting_style and clocale_quoting_style.
8527         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
8528
8529 2012-01-29  Jim Meyering  <meyering@redhat.com>
8530
8531         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
8532         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
8533         detect uses of canonicalize_file_name.
8534
8535 2012-01-28  Bruno Haible  <bruno@clisp.org>
8536
8537         test-framework-sh: Fix test failure with AIX 7.1 diff.
8538         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
8539         in column 1, like 'diff -c' does.
8540         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
8541         whether 'diff -u' is used. Instead, test whether the output contains
8542         some '@' character.
8543
8544 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
8545
8546         strtoimax: eliminate need for stdint.h, inttypes.h checks
8547         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
8548         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
8549         the prerequisites for a recently-introduced strtoimax test.
8550         I guess this might cause strtoimax to be replaced when not
8551         strictly necessary on older hosts, but this shouldn't introduce
8552         any bugs and it should make Emacs 'configure' faster on typical
8553         modern hosts.  Problem discovered when importing the latest gnulib
8554         to an Emacs test version.
8555         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
8556
8557 2012-01-28  Bruno Haible  <bruno@clisp.org>
8558
8559         sys_time: Override 'struct timeval' on some native Windows platforms.
8560         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
8561         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
8562         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
8563         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
8564         needs to be overridden.
8565         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
8566         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
8567         * tests/test-sys_select.c: Check that the tv_sec member has the same
8568         size as a 'time_t'.
8569         * tests/test-sys_time.c: Likewise.
8570         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
8571         is set, set also REPLACE_GETTIMEOFDAY.
8572         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
8573         convert the resulting 'struct timeval' before returning.
8574         * lib/select.c: Include <sys/time.h>.
8575         (select, timeval): Undefine at the right place.
8576         * modules/select (Depends-on): Add sys_time.
8577         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
8578         some Windows platforms.
8579         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8580
8581 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8582
8583         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
8584         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
8585         an integer.
8586         * lib/fcntl.c (dupfd): Likewise.
8587         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
8588
8589 2012-01-28  Bruno Haible  <bruno@clisp.org>
8590
8591         fcntl: Avoid compilation error on native Windows.
8592         * modules/fcntl (Depends-on): Add 'close'.
8593
8594 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8595
8596         select, poll, isatty: Avoid warnings on x86_64 mingw64.
8597         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
8598         pointer to an integer.
8599         * lib/poll.c (IsConsoleHandle): Likewise.
8600         * lib/isatty.c (IsConsoleHandle): Likewise.
8601
8602 2012-01-28  Jim Meyering  <meyering@redhat.com>
8603
8604         doc: clarify README-release
8605         * top/README-release: Clarify: you should make a point to have
8606         the latest stable versions of build tools in your PATH, and the
8607         reference to buildreq is solely for its list of tool names, not
8608         for its minimal-functional version numbers.
8609         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
8610
8611         maint.mk: use more readable (yet functionally equivalent) quoting
8612         It is common to quote a single quote in a single quoted string like
8613         this:  '...'\''...'.  Unless you know the idiom, that looks like
8614         gibberish, so prefer to double-quote the string when possible.
8615         Then you can use a more readable, lone single quote: "...'..."
8616         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
8617         "don't" is more readable than the equivalent 'don'\''t'.
8618         (sc_cast_of_x_alloc_return_value): Likewise.
8619         (sc_cast_of_alloca_return_value): Likewise.
8620         (sc_makefile_path_separator_check): Similar: use ":" in '...',
8621         rather than '\'':'\''.
8622
8623 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8624
8625         stdalign: relax _Alignof and tighten _Alignas test
8626         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
8627         as it was too strict: alignof must divide offsetof, but it need
8628         not equal offsetof.  Inspired by Joseph S. Myers's comment
8629         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
8630         Conversely, tighten the _Alignas test a bit, as the resulting
8631         alignment must be exactly 8.
8632
8633 2012-01-27  Bruno Haible  <bruno@clisp.org>
8634
8635         stdalign: Document the last change.
8636         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
8637
8638 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8639
8640         stdalign: check that alignof and offsetof are consistent
8641         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
8642         Problem reported for gnulib by Richard W.M. Jones in
8643         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
8644
8645 2012-01-27  Jim Meyering  <meyering@redhat.com>
8646
8647         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
8648         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
8649         convert a sequence with gaps to the minimal containing range.
8650         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
8651         * tests/test-update-copyright.sh: Test for this.
8652         The FSF confirmed it is ok to do this, assuming there is at
8653         least one significant change per year in the affected range:
8654         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
8655
8656 2012-01-26  Bruno Haible  <bruno@clisp.org>
8657
8658         pipe2: refine doc about thread-safety
8659         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
8660         multithread-safety problem.
8661         * doc/glibc-functions/accept4.texi: Likewise.
8662
8663 2012-01-26  Bruno Haible  <bruno@clisp.org>
8664
8665         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
8666         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
8667         In the test program, include <fcntl.h>, for O_RDONLY.
8668
8669 2012-01-26  Eric Blake  <eblake@redhat.com>
8670
8671         pipe2: document lack of thread-safety in replacement
8672         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
8673         issue in replacement.
8674         * doc/glibc-functions/accept4.texi (accept4): Likewise.
8675         Based on a report by Eric Wong.
8676
8677 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8678             Bruno Haible  <bruno@clisp.org>
8679
8680         malloca: Avoid warnings on x86_64 mingw64.
8681         * lib/malloca.c: Include <stdint.h>.
8682         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
8683         * modules/malloca (Depends-on): Add stdint.
8684         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
8685
8686 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
8687
8688         obstack: remove __STDC__ conditionals
8689         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
8690         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
8691         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
8692         m4/include_next.m4 as the only gnulib-maintained places that still
8693         refer to __STDC__.
8694
8695 2012-01-24  Bruno Haible  <bruno@clisp.org>
8696
8697         havelib: Modern quoting.
8698         * build-aux/config.rpath: Quote 'like this', not `like this', as per
8699         the recent change to the GNU coding standards.
8700
8701 2012-01-24  Bruno Haible  <bruno@clisp.org>
8702
8703         stdint: Improve support for Android.
8704         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
8705         Reported by Simon Josefsson <simon@josefsson.org>.
8706
8707 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8708
8709         doc: omit trailing empty lines from INSTALL etc.
8710         * doc/Makefile (INSTALL): Omit trailing empty lines.
8711         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
8712         omit trailing empty lines.  This simplifies the build procedure.
8713
8714 2012-01-23  Jim Meyering  <meyering@redhat.com>
8715
8716         tests: avoid spurious warnings about gl_sockets_startup
8717         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
8718         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
8719         reporting a "statement with no effect".
8720         * tests/test-accept.c (main): Mark as "(void)".
8721         * tests/test-accept4.c (main): Likewise.
8722         * tests/test-bind.c (main): Likewise.
8723         * tests/test-connect.c (main): Likewise.
8724         * tests/test-getpeername.c (main): Likewise.
8725         * tests/test-getsockname.c (main): Likewise.
8726         * tests/test-getsockopt.c (main): Likewise.
8727         * tests/test-listen.c (main): Likewise.
8728         * tests/test-recv.c (main): Likewise.
8729         * tests/test-recvfrom.c (main): Likewise.
8730         * tests/test-send.c (main): Likewise.
8731         * tests/test-sendto.c (main): Likewise.
8732         * tests/test-setsockopt.c (main): Likewise.
8733         * tests/test-shutdown.c (main): Likewise.
8734
8735 2012-01-21  Bruno Haible  <bruno@clisp.org>
8736
8737         locale-fr.m4: Fix for Android.
8738         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
8739         failure of the test program on Bionic libc.
8740
8741 2012-01-21  Jim Meyering  <meyering@redhat.com>
8742
8743         bootstrap: fail when bootstrap_post_import_hook fails
8744         Otherwise, it's far too easy to miss diagnostics emitted
8745         between gnulib-tool's output and that of running configure.
8746         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
8747
8748 2012-01-17  Jim Meyering  <meyering@redhat.com>
8749
8750         maint: enable sc_trailing_blank
8751         * build-aux/pmccabe.css: Remove trailing blanks.
8752         * doc/acl-cygwin.txt: Likewise.
8753         * doc/gnu-oids.texi: Likewise
8754         * cfg.mk: Enable sc_trailing_blank.
8755         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
8756
8757 2012-01-17  Jim Meyering  <meyering@redhat.com>
8758
8759         maint: enable sc_prohibit_openat_without_use
8760         * cfg.mk: Enable sc_prohibit_openat_without_use.
8761         Exempt lib/selinux-at.c.
8762
8763 2012-01-17  Jim Meyering  <meyering@redhat.com>
8764
8765         maint: enable sc_prohibit_cloexec_without_use
8766         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
8767         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
8768
8769 2012-01-17  Jim Meyering  <meyering@redhat.com>
8770
8771         maint: enable sc_prohibit_intprops_without_use
8772         * cfg.mk: Enable sc_prohibit_intprops_without_use
8773         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
8774
8775 2012-01-17  Jim Meyering  <meyering@redhat.com>
8776
8777         maint: enable sc_prohibit_hash_pjw_without_use
8778         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
8779         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
8780         to match any use of \<hash_pjw\>, i.e., not necessarily with a
8781         following " (".
8782
8783 2012-01-17  Jim Meyering  <meyering@redhat.com>
8784
8785         maint: enable double-word-prohibiting rule
8786         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
8787         Exempt three files.
8788
8789 2012-01-17  Jim Meyering  <meyering@redhat.com>
8790
8791         maint: remove empty lines at EOF, but excluding modules/*
8792         Apply syntax rules at home as well as abroad.  Most changes
8793         were induced by running this:
8794           make srcdir=. _build-aux=build-aux -f top/maint.mk \
8795             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
8796             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
8797         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
8798         Exempt modules/* and two binary files.
8799         Also exempt doc/INSTALL*, per request from Bruno Haible.
8800         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
8801         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
8802         * doc/Copyright/request-assign.future: Likewise.
8803         * doc/Copyright/request-disclaim.changes: Likewise.
8804         * doc/INSTALL: Likewise.
8805         * doc/INSTALL.ISO: Likewise.
8806         * doc/INSTALL.UTF-8: Likewise.
8807         * doc/acl-cygwin.txt: Likewise.
8808         * doc/acl-resources.txt: Likewise.
8809         * doc/fdl-1.2.texi: Likewise.
8810         * doc/fdl-1.3.texi: Likewise.
8811         * doc/fdl.texi: Likewise.
8812         * lib/argp-pin.c: Likewise.
8813         * lib/round.c: Likewise.
8814         * lib/unicase/u16-totitle.c: Likewise.
8815         * lib/unictype/block_test.c: Likewise.
8816         * lib/uninorm/canonical-decomposition.c: Likewise.
8817         * m4/README: Likewise.
8818         * m4/relocatable-lib.m4: Likewise.
8819         * tests/test-isnand-nolibm.c: Likewise.
8820         * tests/test-isnand.c: Likewise.
8821         * tests/uninorm/NormalizationTest.txt: Likewise.
8822
8823 2012-01-17  Jim Meyering  <meyering@redhat.com>
8824
8825         maint: add framework to run syntax-check rules against gnulib sources
8826         * cfg.mk: New file, to disable all currently-failing tests.
8827         We'll enable them one by one, as they are made to pass.
8828         * Makefile (sc_maint): New rule.
8829
8830 2012-01-21  Bruno Haible  <bruno@clisp.org>
8831
8832         stdint: Add support for Android.
8833         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
8834         include the system's <stdint.h>.
8835         Reported by Simon Josefsson <simon@josefsson.org>.
8836
8837 2012-01-19  Jim Meyering  <meyering@redhat.com>
8838
8839         bootstrap: add bootstrap_post_import_hook
8840         Bison does still need something like the gnulib_mk_hook whose
8841         invocation I had to remove along with slurp in commit 767ccd40.
8842         Technically, we could get along without it, but doing so would
8843         have required living with a warning and a mandatory post-bootstrap
8844         automake rerun.
8845         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
8846         (bootstrap_post_import_hook): New function.
8847         Invoke it after gnulib-tool --import and before autoreconf.
8848
8849 2012-01-18  Jim Meyering  <meyering@redhat.com>
8850
8851         gitlog-to-changelog: don't use "no_"-prefixed variable name
8852         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
8853         to enable both --cluster and --no-cluster.  Change variable name,
8854         s/\$no_cluster/$cluster/, and reverse usage to match.
8855
8856         gitlog-to-changelog: use "||", not "or" in expressions
8857         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
8858         expressions.
8859
8860 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
8861
8862         gitlog-to-changelog: new option --no-cluster
8863         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
8864         clustering of adjacent commit messages.
8865
8866 2012-01-17  Jim Meyering  <meyering@redhat.com>
8867
8868         maint: spell file systems with two words, not one
8869         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
8870         two words, not one.
8871
8872 2012-01-16  Jim Meyering  <meyering@redhat.com>
8873
8874         bootstrap: add a FIXME comment to ensure we eventually remove the hack
8875         * build-aux/bootstrap (gnulib_tool_options): Add comment.
8876
8877 2012-01-16  Eric Blake  <eblake@redhat.com>
8878
8879         bootstrap: cater to autoconf 2.59
8880         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
8881         is not available.
8882
8883         bootstrap: properly check for libtool
8884         * build-aux/bootstrap (libtoolize): Also run libtool when older
8885         usage is detected.
8886
8887 2012-01-15  Bruno Haible  <bruno@clisp.org>
8888
8889         Improve support for MSVC 9.
8890         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
8891         clashes on MSVC.
8892         * lib/fcntl.in.h: Likewise.
8893         * lib/stdlib.in.h: Likewise.
8894         * lib/sys_stat.in.h: Likewise.
8895
8896 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8897
8898         gnupload: we hold the master copy of this script now
8899         For motivation and more information, see:
8900         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
8901         * build-aux/gnupload: Make it clear in the heading comments that the
8902         master copy of this file is maintained by gnulib.  Since we are at
8903         it, bump its copyright year and ...
8904         ($scriptversion): ... the date in its version.
8905         ($usage): Patches and bug reports should be sent to the gnulib list,
8906         not the automake one.
8907         * config/srclist.txt: Don't try to sync 'gnupload' from automake
8908         anymore.
8909
8910 2012-01-15  Bruno Haible  <bruno@clisp.org>
8911
8912         Fix module 'random'.
8913         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
8914         initstate, setstate are declared.
8915
8916 2012-01-14  Bruno Haible  <bruno@clisp.org>
8917
8918         Tests for module 'random'.
8919         * modules/random-tests: New file.
8920         * tests/test-random.c: New file, based on tests/test-random_r.c.
8921
8922         New module 'random'.
8923         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
8924         declarations.
8925         * lib/random.c: New file, based on glibc/stdlib/random.c.
8926         * m4/random.m4: New file.
8927         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
8928         HAVE_RANDOM.
8929         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
8930         * modules/random: New file.
8931         * config/srclist.txt: Add an entry for random.c.
8932         * doc/posix-functions/random.texi: Mention the 'random' module.
8933         * doc/posix-functions/initstate.texi: Likewise.
8934         * doc/posix-functions/setstate.texi: Likewise.
8935         * doc/posix-functions/srandom.texi: Likewise.
8936
8937 2012-01-12  Bruno Haible  <bruno@clisp.org>
8938
8939         random_r: Use common idioms.
8940         * lib/random_r.c: Include <stdlib.h> first.
8941
8942         random_r: Override incompatible API on AIX, OSF/1.
8943         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
8944         Override the system function if REPLACE_RANDOM_R is 1.
8945         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
8946         and OSF/1, set REPLACE_RANDOM_R.
8947         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
8948         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
8949         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
8950         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
8951         * doc/glibc-functions/random_r.texi: Likewise.
8952         * doc/glibc-functions/setstate_r.texi: Likewise.
8953
8954         random_r: Support for MSVC 9.
8955         * lib/random_r.c: Include stdint.h, not inttypes.h.
8956
8957 2012-01-12  Eric Blake  <eblake@redhat.com>
8958
8959         inet_ntop: guard extra work by IF_LINT
8960         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
8961         better code generation when not checking for warnings.
8962         Suggested by Paul Eggert and Jim Meyering.
8963
8964         strptime: fix regression on mingw
8965         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
8966         Fix regression.  Reported by Bruno Haible.
8967
8968 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
8969             Bruno Haible  <bruno@clisp.org>
8970
8971         copy-file: add error-code-returning variant.
8972         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
8973         (qcopy_file_preserving): New declaration.
8974         * lib/copy-file.c (qcopy_file_preserving): Renamed from
8975         copy_file_preserving. Change return type to 'int'. Don't emit an error
8976         message here.
8977         (copy_file_preserving): New function.
8978         * tests/test-copy-file.c: Include <stdlib.h>.
8979         (main): Test qcopy_file_preserving if the environment variable
8980         NO_STDERR_OUTPUT is set.
8981         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
8982         with NO_STDERR_OUTPUT
8983         * tests/test-copy-file-2.sh: Likewise.
8984
8985 2012-01-10  Bruno Haible  <bruno@clisp.org>
8986
8987         copy-file: Use 'quote' module consistently.
8988         * lib/copy-file.c (copy_file_preserving): Use quote().
8989
8990         copy-file: Refactor.
8991         * lib/copy-file.c: Include quote.h.
8992         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
8993         message here.
8994         * modules/copy-file (Depends-on): Add quote.
8995
8996         acl: Export qcopy_acl.
8997         * lib/acl.h (qcopy_acl): New declaration.
8998         * lib/copy-acl.c (qcopy_acl): Make non-static.
8999
9000         acl: Rename a local variable.
9001         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
9002
9003         acl: Align return values of copy_acl and qcopy_acl.
9004         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
9005         maybe < -1.
9006
9007 2012-01-11  Eric Blake  <eblake@redhat.com>
9008
9009         strptime: silence gcc warnings
9010         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
9011         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
9012         Reported by Daniel P. Berrange.
9013
9014         inet_ntop: silence gcc warning
9015         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
9016         Reported by Daniel P. Berrange.
9017
9018 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
9019
9020         getloadavg test: skip the test on GNU/Linux without /proc mounted
9021         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
9022         file.  When /proc is not mounted, it always fails with ENOENT.
9023         * tests/test-getloadavg.c (main): Treat ENOENT return code from
9024         getloadavg(3) the same way as ENOSYS and ENOTSUP.
9025
9026 2012-01-10  Bruno Haible  <bruno@clisp.org>
9027
9028         regex: Avoid link error on MSVC 9.
9029         * modules/regex (Depends-on): Add wctype.
9030
9031 2012-01-10  Bruno Haible  <bruno@clisp.org>
9032
9033         doc: Mention --with-tests option.
9034         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
9035         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
9036         --with-tests.
9037         Reported by Reuben Thomas.
9038
9039 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
9040
9041         users.txt: order package names lexicographically.
9042         * users.txt: Order package names lexicographically.
9043
9044 2012-01-10  Jim Meyering  <meyering@redhat.com>
9045
9046         maint.mk: fix description in comment
9047         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
9048
9049         ignore-value: remove deprecated ignore_ptr function
9050         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
9051         * NEWS: Note this.
9052
9053 2012-01-09  Jim Meyering  <meyering@redhat.com>
9054
9055         test-init.sh: avoid a subshell
9056         * tests/test-init.sh: Remove protective subshell.
9057         Suggested by Bernhard Voelker.  While a subshell is normally
9058         required to protect against older shells (Solaris, FreeBSD) that
9059         warn about a missing program before performing redirection, the
9060         shell-selection tests performed by init.sh probably exclude any
9061         offending shell.
9062
9063 2012-01-08  Bruno Haible  <bruno@clisp.org>
9064
9065         setlocale tests: Avoid test failure on Solaris 11 2011-11.
9066         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
9067         variable.
9068
9069 2012-01-08  Bruno Haible  <bruno@clisp.org>
9070
9071         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
9072         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9073         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
9074         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
9075         macro.
9076         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
9077         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
9078         * lib/spawn_faction_addopen.c: Add workaround implementation if
9079         HAVE_WORKING_POSIX_SPAWN.
9080         * modules/spawn (Makefile): Substitute
9081         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
9082         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
9083         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
9084         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
9085         (Depends-on): Update conditions.
9086         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
9087         the Solaris 11 bug.
9088
9089 2012-01-08  Bruno Haible  <bruno@clisp.org>
9090
9091         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
9092         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9093         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
9094         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
9095         macro.
9096         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
9097         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
9098         * lib/spawn_faction_adddup2.c: Add workaround implementation if
9099         HAVE_WORKING_POSIX_SPAWN.
9100         * modules/spawn (Makefile): Substitute
9101         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
9102         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
9103         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
9104         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
9105         (Depends-on): Update conditions.
9106         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
9107         the Solaris 11 bug.
9108
9109 2012-01-08  Bruno Haible  <bruno@clisp.org>
9110
9111         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
9112         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9113         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
9114         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
9115         HAVE_WORKING_POSIX_SPAWN.
9116         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
9117         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
9118         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
9119         * lib/spawn_faction_addclose.c: Add workaround implementation if
9120         HAVE_WORKING_POSIX_SPAWN.
9121         * modules/spawn (Makefile): Substitute
9122         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
9123         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
9124         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
9125         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
9126         (Depends-on): Update conditions.
9127         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
9128         the Solaris 11 bug.
9129
9130 2012-01-08  Bruno Haible  <bruno@clisp.org>
9131
9132         doc: Update for Solaris 11 2011-11.
9133         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
9134         * m4/printf.m4: Update comments.
9135
9136 2012-01-08  Bruno Haible  <bruno@clisp.org>
9137
9138         mktime: Avoid compilation error on Solaris 11.
9139         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
9140
9141 2012-01-08  Bruno Haible  <bruno@clisp.org>
9142
9143         doc: Small fix.
9144         * doc/posix-headers/nl_types.texi: Correct platforms list.
9145
9146 2012-01-08  Simon Josefsson  <simon@josefsson.org>
9147
9148         Add lgpl-3.0 module.
9149         * MODULES.html.sh (Support for building documentation): Add
9150         lgpl-3.0.
9151         * modules/lgpl-3.0: New file.
9152
9153 2012-01-08  Jim Meyering  <meyering@redhat.com>
9154
9155         select.c: indent with spaces, not TABs
9156         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
9157
9158 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9159
9160         quotearg: do not use grave accent for left quote
9161         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
9162         locale_quoting_style.
9163         (quotearg_buffer_restyled): Fix example.
9164         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
9165
9166 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9167
9168         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
9169         Most programs do not have translation catalogs for English and much
9170         less separate catalogs for British and American English.  Drop the
9171         suggestion to translators about these two, and provide it
9172         automatically for Unicode locales.  Like most programs, even those
9173         using American English, we use single quotation marks.  This conflicts
9174         with the American typographic convention, but works better when you
9175         cite the entire error message within double quotes.  It also tries not
9176         to clash with established practice and with what non-gnulib programs
9177         will usually do.
9178         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
9179         using an UTF-8 or GB-18030 locale.  The list of other locales with
9180         quotes was provided by Bruno Haible.
9181         (quotearg_buffer_restyled): Adjust instructions to translators.
9182         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
9183         text, since this would be wrong when using Unicode.
9184         * modules/quotearg: Depend on c-strcaseeq.
9185
9186 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9187
9188         quotearg: fix Wikipedia link
9189         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
9190
9191 2012-01-07  Simon Josefsson  <simon@josefsson.org>
9192
9193         Fix for mingw with MSVC9.
9194         * m4/ld-version-script.m4: Check that compiler rejects version
9195         scripts with syntax errors.  Reported by Bruno Haible
9196         <bruno@clisp.org>.
9197
9198 2012-01-06  Bruno Haible  <bruno@clisp.org>
9199
9200         Talk about "native Windows API", not "Woe32".
9201         * lib/accept4.c: Update comments to mention native Windows.
9202         * lib/execute.c: Likewise.
9203         * lib/fatal-signal.c: Likewise.
9204         * lib/localcharset.c: Likewise.
9205         * lib/nanosleep.c: Likewise.
9206         * lib/nl_langinfo.c: Likewise.
9207         * lib/pclose.c: Likewise.
9208         * lib/pipe-filter-gi.c: Likewise.
9209         * lib/pipe-filter-ii.c: Likewise.
9210         * lib/pipe.c: Likewise.
9211         * lib/pipe2.c: Likewise.
9212         * lib/popen.c: Likewise.
9213         * lib/progreloc.c: Likewise.
9214         * lib/relocatable.c: Likewise.
9215         * lib/sigaction.c: Likewise.
9216         * lib/sigprocmask.c: Likewise.
9217         * lib/spawn-pipe.h: Likewise.
9218         * lib/spawn-pipe.c: Likewise.
9219         * lib/spawni.c: Likewise.
9220         * lib/stat-time.h: Likewise.
9221         * lib/w32spawn.h: Likewise.
9222         * tests/test-isatty.c: Likewise.
9223         * lib/config.charset: More comments.
9224         * doc/gnulib-intro.texi: Mention native Windows.
9225         * doc/posix-functions/_Exit_C99.texi: Likewise.
9226         * doc/posix-headers/fcntl.texi: Likewise.
9227
9228 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
9229
9230         argp: Avoid crash if translator uses % characters in a translation.
9231         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
9232         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9233
9234 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
9235
9236         doc: C11 and C++11 are now official
9237         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
9238         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
9239         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
9240         * modules/stdalign:
9241         Replace references to draft C1X to C11, and to draft C++0X to C++11.
9242
9243 2012-01-06  Bruno Haible  <bruno@clisp.org>
9244
9245         uc-is-grapheme-break tests: Tweak.
9246         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
9247         message.
9248
9249 2012-01-06  Bruno Haible  <bruno@clisp.org>
9250
9251         test-init.sh: correct the test for diff -u
9252         * tests/test-init.sh: Also redirect stdout to /dev/null.
9253
9254 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
9255
9256         Use ', not `, for quoting output.
9257         * build-aux/announce-gen (usage, sizes, print_news_deltas)
9258         (print_changelog_deltas, get_tool_versions, main program):
9259         * build-aux/git-version-gen:
9260         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
9261         * build-aux/move-if-change (help):
9262         * build-aux/useless-if-before-free (usage, main program):
9263         * check-module (parse_module_file, usage)
9264         (find_included_lib_files, check_module):
9265         * lib/argmatch.c (main) [TEST]:
9266         * lib/argp-help.c (_help):
9267         * lib/getopt1.c (main) [TEST]:
9268         * lib/git-merge-changelog.c (usage):
9269         * lib/xstrtol-error.c (xstrtol_error):
9270         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
9271         * m4/argz.m4 (gl_FUNC_ARGZ):
9272         * m4/bison.m4 (gl_BISON):
9273         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
9274         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
9275         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
9276         * m4/fpending.m4 (gl_PREREQ_FPENDING):
9277         * m4/gc-random.m4 (gl_GC_RANDOM):
9278         * m4/intl.m4 (gt_CHECK_DECL):
9279         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
9280         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
9281         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
9282         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
9283         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
9284         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
9285         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
9286         * tests/test-dirname.c (main):
9287         * tests/test-getpass.c (main):
9288         * tests/test-iconvme.c (main):
9289         * tests/test-parse-datetime.c (LOG):
9290         * tests/test-xstrtoimax.sh:
9291         * tests/test-xstrtol.sh:
9292         * tests/test-xstrtoll.sh:
9293         * tests/test-xstrtoumax.sh:
9294         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
9295         * top/GNUmakefile (abort-due-to-no-makefile):
9296         Quote 'like this', not `like this', as per the recent change to
9297         the GNU coding standards.
9298
9299 2012-01-05  Bruno Haible  <bruno@clisp.org>
9300
9301         strtoimax: Don't force a replacement on systems where intmax_t is int.
9302         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
9303         'intmax_t' is not larger than 'int'.
9304         Reported by Pádraig Brady <P@draigBrady.com>.
9305
9306 2012-01-05  Bruno Haible  <bruno@clisp.org>
9307
9308         doc: Mention NetBSD bugs.
9309         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
9310         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
9311
9312 2012-01-05  Bruno Haible  <bruno@clisp.org>
9313
9314         strtoumax tests: Enhance tests.
9315         * tests/test-strtoumax.c (main): Add tests for large values.
9316
9317 2012-01-05  Bruno Haible  <bruno@clisp.org>
9318
9319         strtoimax: Work around AIX 5.1 bug.
9320         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
9321         definition.
9322         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
9323         Set HAVE_STRTOIMAX.
9324         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
9325         REPLACE_STRTOIMAX.
9326         * modules/inttypes-incomplete (Makefile.am): Substitute
9327         REPLACE_STRTOIMAX.
9328         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
9329         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
9330         (Depends-on): Update conditions.
9331         * tests/test-strtoimax.c (main): Add tests for large values.
9332         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
9333
9334 2012-01-05  Bruno Haible  <bruno@clisp.org>
9335
9336         inttypes: Modernize.
9337         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
9338         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
9339         (Makefile.am): Update inttypes.h rule.
9340
9341 2012-01-05  Jim Meyering  <meyering@redhat.com>
9342
9343         init.sh: don't waste a subshell just to redirect stderr
9344         * tests/init.sh: In testing for diff -u and diff -c, use a
9345         stderr-redirecting exec inside `...` rather than a subshell.
9346
9347         test-init.sh: avoid failure on HP-UX 11.00
9348         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
9349         resolves to diff -c or cmp.  Reported by Bruno Haible.
9350
9351 2012-01-05  Bruno Haible  <bruno@clisp.org>
9352
9353         Tests for module 'strtoull'.
9354         * modules/strtoull-tests: New file.
9355         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
9356
9357 2012-01-05  Bruno Haible  <bruno@clisp.org>
9358
9359         Tests for module 'strtoll'.
9360         * modules/strtoll-tests: New file.
9361         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
9362
9363 2012-01-05  Bruno Haible  <bruno@clisp.org>
9364
9365         Tests for module 'strtoul'.
9366         * modules/strtoul-tests: New file.
9367         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
9368
9369 2012-01-05  Bruno Haible  <bruno@clisp.org>
9370
9371         Tests for module 'strtol'.
9372         * modules/strtol-tests: New file.
9373         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
9374
9375 2012-01-04  Jim Meyering  <meyering@redhat.com>
9376
9377         test-init.sh: accommodate Solaris 5.10's different diff -u output
9378         * tests/test-init.sh: Also exempt @@ lines from the comparison
9379         of diff output, since Solaris 5.10 and GNU diff formats differ.
9380         Reported by Stefano Lattarini.
9381
9382 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9383
9384         test-posixtm: don't assume signed integer wraparound
9385         * tests/test-posixtm.c (main): Don't assume wraparound semantics
9386         after signed integer overflow.  Inspired by (though it may not
9387         fix) Bruno Haible's bug report in
9388         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
9389
9390         Spell out "Windows 9x" and "Windows XP".
9391         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
9392         "Windows 9x" and "WinXP" with "Windows XP".
9393
9394 2012-01-04  Jim Meyering  <meyering@redhat.com>
9395
9396         test-vc-list-files-cvs.sh: remove obsolete comment
9397         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
9398         double exit.  Now that's all encapsulated via skip_ and Exit.
9399
9400 2012-01-04  Bruno Haible  <bruno@clisp.org>
9401
9402         Talk about "native Windows API", not "Win32".
9403         * lib/classpath.c: Update comments to mention native Windows.
9404         * lib/csharpexec.c: Likewise.
9405         * lib/dup2.c: Likewise.
9406         * lib/error.c: Likewise.
9407         * lib/fcntl.c: Likewise.
9408         * lib/filename.h: Likewise.
9409         * lib/findprog.c: Likewise.
9410         * lib/get-rusage-as.c: Likewise.
9411         * lib/get-rusage-data.c: Likewise.
9412         * lib/getpagesize.c: Likewise.
9413         * lib/javaexec.c: Likewise.
9414         * lib/msvc-inval.c: Likewise.
9415         * lib/msvc-nothrow.c: Likewise.
9416         * lib/nanosleep.c: Likewise.
9417         * lib/nonblocking.c: Likewise.
9418         * lib/printf-parse.c: Likewise.
9419         * lib/setlocale.c: Likewise.
9420         * lib/sigaction.c: Likewise.
9421         * lib/strerror_r.c: Likewise.
9422         * lib/tmpdir.c: Likewise.
9423         * lib/vasnprintf.c: Likewise.
9424         * lib/w32spawn.h: Likewise.
9425         * lib/waitpid.c: Likewise.
9426         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
9427         * m4/locale-ar.m4: Likewise.
9428         * m4/locale-fr.m4: Likewise.
9429         * m4/locale-ja.m4: Likewise.
9430         * m4/locale-tr.m4: Likewise.
9431         * m4/locale-zh.m4: Likewise.
9432         * m4/printf.m4: Likewise.
9433         * tests/test-cloexec.c: Likewise.
9434         * tests/test-copy-acl.sh: Likewise.
9435         * tests/test-copy-file.sh: Likewise.
9436         * tests/test-file-has-acl.sh: Likewise.
9437         * tests/test-set-mode-acl.sh: Likewise.
9438         * tests/test-dup-safer.c: Likewise.
9439         * tests/test-dup2.c: Likewise.
9440         * tests/test-dup3.c: Likewise.
9441         * tests/test-fcntl.c: Likewise.
9442         * tests/test-nonblocking-pipe.h: Likewise.
9443         * tests/test-nonblocking-socket.h: Likewise.
9444         * tests/test-pipe.c: Likewise.
9445         * tests/test-pipe2.c: Likewise.
9446         * tests/test-spawn-pipe-child.c: Likewise.
9447         * doc/acl-resources.txt: Likewise.
9448         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9449         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
9450         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
9451         * lib/localcharset.c: Update comments to mention native Windows.
9452         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9453         * lib/localename.c: Likewise.
9454         * lib/progreloc.c: Likewise.
9455         * lib/relocatable.c: Likewise.
9456         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9457         (windows_compute_revents): Renamed from win32_compute_revents.
9458         (windows_compute_revents_socket): Renamed from
9459         win32_compute_revents_socket.
9460         * lib/select.c: Update comments to mention native Windows.
9461         (windows_poll_handle): Renamed from win32_poll_handle.
9462         * m4/threadlib.m4: Update comments to mention native Windows.
9463         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
9464         --enable-threads=windows instead of --enable-threads=win32. Set
9465         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
9466         * lib/glthread/lock.h: Update comments to mention native Windows.
9467         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
9468         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
9469         USE_WIN32_THREADS.
9470         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
9471         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
9472         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
9473         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
9474         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
9475         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
9476         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
9477         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
9478         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
9479         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
9480         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
9481         * tests/test-tls.c: Likewise.
9482         Rationale:
9483         Microsoft renamed the "Win32 API" to "Windows API", as it is available
9484         on both 32-bit and 64-bit Windows systems.
9485         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
9486         line of distinction is between "native Windows" on one side and Unix/
9487         POSIX systems on the other side. More details in
9488         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
9489         Suggested by Paul Eggert.
9490
9491 2012-01-03  Bruno Haible  <bruno@clisp.org>
9492
9493         isatty: Support for MSVC 9.
9494         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
9495         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
9496         (_isatty_nothrow): New function.
9497         (isatty): Use it instead of _isatty.
9498         (IsConsoleHandle): Add comment, from Paolo Bonzini.
9499         * lib/poll.c (IsConsoleHandle): Likewise.
9500         * lib/select.c (IsConsoleHandle): Likewise.
9501         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
9502         (gl_PREREQ_ISATTY): New macro.
9503         * modules/isatty (Depends-on): Add msvc-inval.
9504         (configure.ac): Invoke gl_PREREQ_ISATTY.
9505
9506 2012-01-03  Jim Meyering  <meyering@redhat.com>
9507
9508         maint.mk: remove temporary transition aid from over 1.5 years ago
9509         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
9510         purpose was to aid in the transition (avoiding silent malfunction)
9511         from that old name to the new _sc_search_regexp.  This shim was
9512         added by commit 219c504b.
9513
9514         init.sh: do not try to accommodate compare arguments starting with "-"
9515         * tests/init.sh (compare_dev_null_): Do not try to accommodate
9516         compare arguments that start with "-".  Besides, we do not worry
9517         about this when invoking diff or cmp; why start now with sed?
9518         Using "--" to separate options from argument would trigger sed
9519         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
9520         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
9521
9522 2012-01-02  Bruno Haible  <bruno@clisp.org>
9523
9524         Enhance tests for module 'isatty'.
9525         * modules/isatty-tests (Depends-on): Add pipe-posix.
9526         * tests/test-isatty.c: Include <fcntl.h>.
9527         (DEV_NULL): New macro.
9528         (main): Test the resut of isatty() also on regular files, pipes, and
9529         /dev/null.
9530
9531         New module 'isatty'.
9532         * lib/unistd.in.h (isatty): New declaration.
9533         * lib/isatty.c: New file, based on an idea of
9534         Bastien Roucariès <roucaries.bastien@gmail.com>.
9535         * m4/isatty.m4: New file.
9536         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
9537         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
9538         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
9539         REPLACE_ISATTY.
9540         * modules/isatty: New file.
9541         * doc/posix-functions/isatty.texi: Mention the new module.
9542         Suggested by Paolo Bonzini.
9543
9544 2012-01-02  Bruno Haible  <bruno@clisp.org>
9545
9546         canonicalize: Tweak 2011-12-29 commit.
9547         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
9548         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
9549
9550 2012-01-02  Jim Meyering  <meyering@redhat.com>
9551
9552         gitlog-to-changelog: describe input syntax in --help output
9553         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
9554
9555         gitlog-to-changelog: fix typo in --help: show backslash before email @
9556         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
9557         in sources, but not in actual output.
9558
9559 2011-12-30  Jim Meyering  <meyering@redhat.com>
9560
9561         gitlog-to-changelog: don't malfunction when name contains %-directive
9562         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
9563         in a name string cause trouble.  E.g., with a user name of "%s",
9564         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
9565
9566 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
9567
9568         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
9569         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
9570         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
9571         the "  (tiny change)" notation that is appended to the standard
9572         ChangeLog "date  name  email" header line.
9573
9574 2012-01-01  Jim Meyering  <meyering@redhat.com>
9575
9576         test-framework-sh: init.sh: fix "make dist" failure
9577         When using gnulib-tool's --with-tests option and any module that
9578         depends on test-framework-sh, "make dist" would fail due to the
9579         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
9580         in the gltests directory, and not in the gllib/ directory.
9581         One way to work around that is to move the EXTRA_DIST += init.sh
9582         from the primary module to the -tests one:
9583         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
9584         * modules/test-framework-sh (Makefile.am): ...not here.
9585         Reported by Tom G. Christensen in
9586         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
9587
9588         version-etc: update copyright year reported by --version
9589         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
9590
9591 2011-12-31  Pádraig Brady  <P@draigBrady.com>
9592
9593         canonicalize: only stat() if required
9594         * lib/canonicalize.c (canonicalize_filename_mode):
9595         Avoid calling l?stat() when both CAN_MISSING,
9596         and CAN_NOLINKS are set, as we neither need
9597         to resolve symlinks or test component existence.
9598
9599 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
9600
9601         doc: cover st_ino issues once; add OpenVMS etc.
9602         * doc/posix-functions/stat.texi (stat):
9603         * doc/posix-functions/lstat.texi (lstat):
9604         * doc/posix-functions/fstatat.texi (fstatat):
9605         * doc/posix-functions/fstat.texi (fstat):
9606         Move general 'struct stat' stuff to sys_stat.texi,
9607         leaving behind a pointer.
9608         * doc/posix-headers/sys_stat.texi (sys/stat.h):
9609         Merge duplicate info about 'struct stat' problems into here.
9610         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
9611         and suggest partial workarounds.
9612
9613         same-inode: port to OpenVMS
9614         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
9615         three st_ino values.
9616
9617 2011-12-30  Pádraig Brady  <P@draigBrady.com>
9618
9619         canonicalize: fix references to stat() and lstat()
9620         * lib/canonicalize.c (canonicalize_filename_mode):
9621         Ensure references always resolve to a replacement
9622         function if required (even via a macro).
9623
9624 2011-12-30  Jim Meyering  <meyering@redhat.com>
9625
9626         gitlog-to-changelog: remove a little duplication
9627         * build-aux/gitlog-to-changelog (main): Grep @lines once,
9628         rather than twice.
9629
9630 2011-12-29  Pádraig Brady  <P@draigBrady.com>
9631
9632         canonicalize: add support for not resolving symlinks
9633         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
9634         indicate we don't want to follow symlinks.  Also
9635         provide CAN_MODE_MASK to aid setting these existing
9636         mutually exclusive values.
9637         * lib/canonicalize.c (canonicalize_filename_mode):
9638         Extract the flags from can_mode parameter, which
9639         are currently just used to select between stat()
9640         and lstat().  Also ensure that mutually exclusive
9641         values are flagged immediately as invalid.
9642         * tests/test-canonicalize.c: Verify symlinks are
9643         not followed, and that invalid flag combinations
9644         are diagnosed.
9645
9646 2011-12-25  Jim Meyering  <meyering@redhat.com>
9647
9648         gitlog-to-changelog: do not clump multi-paragraph entries
9649         Identical header lines (date,name,email+coauthors) are suppressed,
9650         thus putting all entries with those same characteristics under
9651         a single header.  However, when a log entry consists of two or
9652         more paragraphs, it may not be clear where it starts and ends.
9653         This change makes it so that such an entry is always separated
9654         from others by a header line, even when that header would
9655         otherwise be suppressed.
9656         * build-aux/gitlog-to-changelog: Implement the above.
9657         Inspired by a related request from Stefano Lattarini in
9658         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
9659
9660 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
9661
9662         announce-gen: fix `cmd' typo in diagnostic
9663         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
9664         diagnostic: a missing '$' meant that the command was not output.
9665
9666 2011-12-23  Jim Meyering  <meyering@redhat.com>
9667
9668         test-framework-sh: distribute init.sh
9669         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
9670         Otherwise, "make -C gnulib-tests check" (at least in grep) would
9671         fail due to the lack of init.sh.
9672
9673         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
9674         * modules/atexit-tests: Rather than listing tests/init.sh,
9675         now that there's a module for it, simply depend on that new module.
9676         * modules/closein-tests: Likewise.
9677         * modules/exclude-tests: Likewise.
9678         * modules/getcwd-tests: Likewise.
9679         * modules/perror-tests: Likewise.
9680         * modules/pread-tests: Likewise.
9681         * modules/pwrite-tests: Likewise.
9682         * modules/vc-list-files-tests: Likewise.
9683         * modules/verify-tests: Likewise.
9684         * modules/xalloc-die-tests: Likewise.
9685         * modules/xstrtoimax-tests: Likewise.
9686         * modules/xstrtol-tests: Likewise.
9687         * modules/xstrtoll-tests: Likewise.
9688         * modules/xstrtoumax-tests: Likewise.
9689         * modules/yesno-tests: Likewise.
9690
9691 2011-12-22  Jim Meyering  <meyering@redhat.com>
9692
9693         test-framework-sh: add minimal tests of init.sh's compare function
9694         * modules/test-framework-sh-tests: New file.
9695         * tests/test-init.sh: New file.
9696
9697         test-framework-sh: new module
9698         * modules/test-framework-sh: New file.
9699         * MODULES.html.sh (Support for maintaining and releasing projects):
9700         List it.
9701
9702         init.sh: do not emit simulated diff output to stderr
9703         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
9704
9705 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
9706
9707         .gitignore: ignore gnulib.dvi and regex.info
9708         * doc/.gitignore:add gnulib.dvi and regex.info
9709
9710 2011-12-22  Jim Meyering  <meyering@redhat.com>
9711
9712         init.sh: correct previous change
9713         * tests/init.sh (compare): My previous change was wrong.
9714         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
9715
9716         init.sh: avoid unwarranted test failure when using "set -e"
9717         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
9718         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
9719         a use like "compare exp out" would get evoke an unconditional failure.
9720
9721 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
9722
9723         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
9724         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
9725         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
9726         autoreconf that did not.
9727         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
9728         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9729
9730 2011-12-17  Jim Meyering  <meyering@redhat.com>
9731
9732         bootstrap: remove some now-unneeded code
9733         This script arose back when gnulib-tool was young.
9734         Since then, it has seen improvements that render much of this
9735         script unnecessary.  In particular, it can now make symlinks
9736         to the files it uses.  Also, I no longer see as much value in
9737         marking files as read-only via comments.
9738         If you relied on the symlink-creation feature of the preceding
9739         version of this script, you can get most of that functionality
9740         by adding the --symlink option to the definition of
9741         gnulib_tool_option_extras in your bootstrap.conf file.
9742         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
9743         Run autopoint and libtoolize *before* gnulib-tool.
9744         After it, run an abbreviated autoreconf, rather than a loop around
9745         all tools.
9746         (slirp, bt_mark_as_generated): Remove functions.
9747
9748 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9749
9750         ftoastr: fix typo
9751         * lib/ftoastr.h: Fix misspelling in comment.
9752
9753 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
9754
9755         * top/README-release: fix punctuation.
9756
9757 2011-12-17  Jim Meyering  <meyering@redhat.com>
9758
9759         bootstrap: correct the recent buildreq change
9760         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
9761         had no effect.
9762         * build-aux/bootstrap (buildreq): Bracket each search term with
9763         "*...*", so that the shell "case" statement works as intended.
9764         Add comments.
9765
9766 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
9767
9768         build: let bootstrap resort to wget when downloading .po files
9769         * build-aux/bootstrap (download_po_files): Fallback to wget when
9770         downloading the .po files via rsync fails.  This is necessary to
9771         bootstrap from behind a strict firewall.
9772
9773 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9774
9775         stdint: don't assume C++11 when compiling with g++
9776         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
9777         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
9778         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
9779         work also in C++ before C++11, as that improperly inhibits
9780         generating a substitute stdint.h for that case.
9781
9782 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9783
9784         alloca: protect comment from gnulib-tool
9785         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
9786         that gnulib-tool doesn't think it's a license, and munge it to
9787         say "GCC version 3".
9788
9789 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
9790
9791         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
9792         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
9793         $(abs_top_builddir) instead of $(top_builddir).
9794
9795 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
9796
9797         strftime-tests: also test nanoseconds
9798         * tests/test-strftime.c (T): Add a test of %N.
9799
9800 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
9801
9802         inttypes, stdint: add C++11 support
9803         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
9804         when including inttypes.h and stdint.h.  Support this change to
9805         the standard.
9806         * doc/posix-headers/inttypes.texi (inttypes.h):
9807         * doc/posix-headers/stdint.texi (stdint.h): Document this.
9808         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
9809         Define if not defined already, for the benefit of pre-C++11 hosts.
9810         Define the standard format macros (e.g., PRId8) always.
9811         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
9812         Likewise, if __cpluspus.  Define the standard constant and limit
9813         macros (e.g., INT8_C, INT8_MAX) always.
9814         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
9815         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
9816         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
9817         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
9818         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
9819         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
9820         Likewise.
9821
9822 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
9823
9824         nonblocking tests: Fix test failure on Linux/PPC.
9825         Suggested by Prerna Saxena in
9826         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
9827         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
9828         Set to 1100000.
9829
9830 2011-12-12  Jim Meyering  <meyering@redhat.com>
9831
9832         argmatch: don't hard-code `' when listing valid option arguments
9833         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
9834         use the quote function to add quotes.  Use fputs rather than
9835         fprintf for the format string with no format directive.
9836
9837 2011-12-07  Eric Blake  <eblake@redhat.com>
9838
9839         bootstrap: detect tools required by gnulib-tool
9840         * build-aux/bootstrap (buildreq): Provide minimum implicit
9841         dependencies.
9842         * DEPENDENCIES: Mention patch as a prereq.
9843
9844 2011-12-04  Bruno Haible  <bruno@clisp.org>
9845
9846         sethostname: Port to Windows platforms.
9847         * lib/sethostname.c: Provide an alternate implementation for Windows
9848         platforms.
9849         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
9850         (main): Skip the test if sethostname() fails with EPERM. On Windows
9851         platforms, don't check the result of gethostname().
9852
9853 2011-12-04  Bruno Haible  <bruno@clisp.org>
9854             Jim Meyering  <meyering@redhat.com>
9855
9856         tests: Avoid spurious error message on platforms without mktemp program.
9857         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
9858
9859 2011-12-04  Bruno Haible  <bruno@clisp.org>
9860
9861         sethostname: Fix documentation.
9862         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
9863         "not fixed" section.
9864
9865 2011-12-03  Bruno Haible  <bruno@clisp.org>
9866
9867         gnulib-tool: Verify that the License field is present and non-empty.
9868         * gnulib-tool (func_get_license_raw): New function, extracted from
9869         func_get_license.
9870         (func_get_license): Use it. Warn if the module is not a test module and
9871         has no license.
9872         Suggested by Jim Meyering.
9873
9874 2011-12-03  Bruno Haible  <bruno@clisp.org>
9875
9876         sethostname tests: Fix link error on mingw.
9877         * tests/test-sethostname1.c: New file, extracted from
9878         tests/test-sethostname.c.
9879         * tests/test-sethostname2.c: New file, extracted from
9880         tests/test-sethostname.c.
9881         * tests/test-sethostname.c: Remove file.
9882         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
9883         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
9884         (Depends-on): Add gethostname.
9885         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
9886         Link the latter with $(GETHOSTNAME_LIB).
9887
9888         sethostname tests: Fix compilation error on mingw.
9889         * tests/test-sethostname.c: Don't include <sys/types.h>.
9890         (geteuid): Use a dummy value without uid_t.
9891         * modules/sethostname-tests (Depends-on): Remove sys_types.
9892
9893         sethostname tests: Avoid a gcc warning.
9894         * tests/test-sethostname.c (main): Remove an unused variable.
9895
9896         Tweak last commit.
9897         * modules/sethostname-tests (Files): Sort by decreasing importance.
9898         (configure.ac): Check for geteuid.
9899         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
9900         the test when there's nothing to test. Drop an unnecessary cast.
9901         Improve an error message. Verify that the final sethostname() call
9902         succeeds.
9903
9904 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9905
9906         Add a test suite for the sethostname module.
9907         * modules/sethostname-tests: New file.  A test program
9908         for the sethostname module.
9909         * tests/test-sethostname.c: Likewise.
9910
9911 2011-12-03  Bruno Haible  <bruno@clisp.org>
9912
9913         Tweak last commit.
9914         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
9915         Fix preprocessor directives indentation. Fix typos.
9916         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
9917         * modules/unistd (Makefile): Likewise.
9918
9919 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9920
9921         Integrate the sethostname module into unistd.
9922         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
9923         into the unistd.h header.
9924         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
9925         preprocessor directives.
9926         * modules/unistd: Setup the Makefile substitutions of the
9927         SETHOSTNAME preprocessor directives.
9928
9929 2011-12-03  Bruno Haible  <bruno@clisp.org>
9930
9931         Tweak last commit.
9932         * lib/sethostname.c: Don't include <string.h>.
9933         (sethostname): No need to copy the argument string to the stack. Don't
9934         call clearerr. Preserve errno when fprintf failed.
9935         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
9936         Don't invoke AC_REPLACE_FUNCS.
9937         * modules/sethostname (Link): Remove empty section.
9938         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
9939         failure problem.
9940
9941 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9942
9943         New module 'sethostname'.
9944         * lib/sethostname.c (sethostname): New file.  Provide sethostname
9945         for systems that lack it.
9946         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
9947         sethostname declaration and function.
9948         * modules/sethostname: New file.  Define the sethostname module.
9949
9950 2011-12-03  Bruno Haible  <bruno@clisp.org>
9951
9952         Tweak last commit.
9953         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
9954
9955 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9956
9957         Split the HOST_NAME_MAX detection into a separate m4 macro.
9958         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
9959         macro so it can be used by the pending sethostname module.
9960
9961 2011-12-03  Bruno Haible  <bruno@clisp.org>
9962
9963         Fix module descriptions syntax.
9964         * modules/argv-iter (License): Fix syntax.
9965         * modules/di-set (License): Likewise.
9966         * modules/ino-map (License): Likewise.
9967         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
9968
9969 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
9970
9971         stdalign: port to Clang 3.0
9972         Problem reported by Simon Josefsson in
9973         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
9974         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
9975         which has <stdalign.h> but which does not define alignof.
9976         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
9977
9978 2011-12-01  Eric Blake  <eblake@redhat.com>
9979
9980         mktempd: silence dd usage
9981         * build-aux/mktempd (rand_bytes): Silence dd.
9982
9983 2011-11-30  Simon Josefsson  <simon@josefsson.org>
9984
9985         manywarnings: Don't mention gcc version in docstring.
9986         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
9987         Jim Meyering <meyering@redhat.com>.
9988
9989 2011-11-30  Jim Meyering  <meyering@redhat.com>
9990
9991         hash: mark a few floating point constants with "f" suffix
9992         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
9993         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
9994         floating point constants with "f", since they're destined to be
9995         saved/used as "float"s.
9996
9997 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
9998
9999         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
10000         * tests/test-float.c (test_long_double): Correct and re-enable the
10001         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
10002
10003 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
10004
10005         Avoid subtracting two pointers that don't point into the same block.
10006         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
10007         only pointers into the same memory block are subtracted. We cannot
10008         assume that sizeof (ptrdiff_t) == sizeof (void *).
10009
10010 2011-11-29  Eric Blake  <eblake@redhat.com>
10011
10012         maint.mk: add syntax check for use of compare from init.sh
10013         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
10014         moved here from coreutils.
10015
10016         manywarnings: drop -Wunsuffixed-float-constants
10017         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
10018         '1.0D', which is the only way to silence this warning for 'double'.
10019
10020 2011-11-29  Jim Meyering  <meyering@redhat.com>
10021
10022         hash: mark compute_bucket_size with the pure attribute
10023         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
10024
10025         quotearg, propername: correct pragma guard expression
10026         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
10027         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
10028
10029 2011-11-28  Jim Meyering  <meyering@redhat.com>
10030
10031         propername: do not mark proper_name with the const attribute
10032         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
10033         since it examines data pointed to by its parameter.
10034         * lib/propername.c (proper_name): Instead, add a pragma to suppress
10035         the suggestion from -Wsuggest-attribute=const.
10036
10037         propername: mark one more function as const
10038         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
10039
10040 2011-11-27  Jim Meyering  <meyering@redhat.com>
10041
10042         mark functions with const and pure attributes
10043
10044         Mark functions per suggestions from gcc-4.6 when using these options:
10045         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
10046         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
10047         Follow these guidelines: when possible, apply the attribute to
10048         an extern declaration, not to its definition.  Apply it to the
10049         definition only when the definition is static.
10050         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
10051         * lib/argv-iter.h (argv_iter_n_args): Likewise.
10052         * lib/base64.h (isbase64): Likewise.
10053         * lib/basename-lgpl.c (last_component, base_len): Likewise.
10054         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
10055         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
10056         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
10057         (c_tolower, c_toupper): Likewise.
10058         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
10059         * lib/chdir-long.c (find_non_slash): Likewise.
10060         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
10061         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
10062         * lib/file-type.h (file_type): Likewise.
10063         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
10064         * lib/filevercmp.c (verrevcmp): Likewise.
10065         * lib/freadahead.h (freadahead): Likewise.
10066         * lib/fts.c (fts_maxarglen): Likewise.
10067         * lib/hash-pjw.h (hash_pjw): Likewise.
10068         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
10069         * lib/hash.c (is_prime, next_prime): Likewise.
10070         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
10071         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
10072         (hash_table_ok, hash_get_first, hash_string): Likewise.
10073         (compute_bucket_size): Likewise.
10074         * lib/i-ring.h (i_ring_empty): Likewise.
10075         * lib/isnan.c (isnanl): Likewise.
10076         * lib/math.h (isnanl, rpl_isnanl): Likewise.
10077         * lib/memcasecmp.h (memcasecmp): Likewise.
10078         * lib/memchr2.h (memchr2): Likewise.
10079         * lib/memcmp2.h (memcmp2): Likewise.
10080         * lib/parse-datetime.y (lookup_zone): Likewise.
10081         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
10082         [!WINDOWS_SOCKETS]: Likewise.
10083         * lib/strnlen1.h (strnlen1): Likewise.
10084         * lib/uniwidth.in.h (uc_width): Likewise.
10085         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
10086         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
10087         (quoting_options_from_style): Add a comment.
10088         * lib/propername.h (proper_name): Add a comment.
10089
10090 2011-11-27  Bruno Haible  <bruno@clisp.org>
10091
10092         Remove unused macros from !_LIBC code in glibc-borrowed files.
10093         * lib/fnmatch.c (STRCOLL): Remove macro.
10094         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
10095         * lib/glob.c (__stat, __readdir64): Remove macros.
10096         * lib/tempname.c (__open64, __xstat64): Remove macros.
10097         Suggested by Paul Eggert.
10098
10099 2011-11-27  Bruno Haible  <bruno@clisp.org>
10100
10101         getcwd: Fix link error on MSVC 9.
10102         * modules/getcwd (Depends-on): Add readdir, rewinddir.
10103
10104 2011-11-27  Bruno Haible  <bruno@clisp.org>
10105
10106         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
10107         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
10108         HAVE_OPENDIR is 0.
10109         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
10110         HAVE_CLOSEDIR is 0.
10111         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
10112         is 0.
10113         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
10114
10115 2011-11-27  Bruno Haible  <bruno@clisp.org>
10116
10117         getcwd: Fix bug from 2011-08-17.
10118         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
10119         platforms that need it.
10120         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
10121         code of 4 to be a failure, not a success. This ensures that
10122         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
10123
10124 2011-11-27  Bruno Haible  <bruno@clisp.org>
10125
10126         binary-io tests: Avoid test failure on mingw when libtool is used.
10127         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
10128         Don't verify the size of t-bin-out1.tmp here.
10129         * tests/test-binary-io.sh: Verify it here.
10130         Reported by Simon Josefsson.
10131
10132 2011-11-26  Bruno Haible  <bruno@clisp.org>
10133
10134         Fix conflict between two instantiations of module 'unistd'.
10135         * gnulib-tool (func_emit_autoconf_snippet): Substitute
10136         ${include_guard_prefix} also in the autoconf snippet.
10137         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
10138         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
10139         GNULIB_UNISTD_H_GETOPT.
10140         * modules/getopt-posix (configure.ac): Set the
10141         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
10142         * modules/getopt-gnu (configure.ac): Likewise.
10143         * modules/unistd (Makefile.am): Change the substitution value of
10144         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
10145         Reported by Simon Josefsson.
10146
10147 2011-11-25  Bruno Haible  <bruno@clisp.org>
10148
10149         pagealign_alloc: Doc and comments.
10150         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
10151         module.
10152         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
10153
10154 2011-11-25  Jim Meyering  <meyering@redhat.com>
10155
10156         test-update-copyright.sh: avoid false-positive failure
10157         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
10158         around false positive failure on Cygwin/Windows.  The latter was
10159         matching erroneously-created files with names like
10160         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
10161
10162 2011-11-25  Simon Josefsson  <simon@josefsson.org>
10163
10164         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
10165         * m4/valgrind-tests.m4: Check that the parameters that will be
10166         used works, not just a subset of them.  Reported by Bruno Haible
10167         <bruno@clisp.org>.
10168
10169 2011-11-24  Jim Meyering  <meyering@redhat.com>
10170
10171         test-stdalign.c: comment out long double tests
10172         * tests/test-stdalign.c: Don't try to reduce alignment of long double
10173         variables.  That provokes errors like this from gcc-4.7.0 20111124:
10174         error: '_Alignas' specifiers cannot reduce alignment of \
10175         'static_longdouble_alignas'.
10176
10177 2011-11-22  Jim Meyering  <meyering@redhat.com>
10178
10179         init.sh: make "compare /dev/null FILE" output more readable
10180         * tests/init.sh (compare_): Document the preferred order of arguments.
10181         (emit_diff_u_header_): New function.
10182         (compare_dev_null_): Emit a simulated diff, rather than just the
10183         contents of the unexpected file.  Suggestion from Bruno Haible.
10184
10185 2011-11-21  Jim Meyering  <meyering@redhat.com>
10186             Eric Blake  <eblake@redhat.com>
10187
10188         init.sh: work around OSF/1 5.1's mishandling of /dev/null
10189         * tests/init.sh: Make our compare function slightly more portable.
10190         Reported by Bruno Haible in
10191         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
10192
10193 2011-11-21  Simon Josefsson  <simon@josefsson.org>
10194
10195         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
10196         before using it, in code that ends up in config.h.
10197
10198 2011-11-20  Bruno Haible  <bruno@clisp.org>
10199
10200         getcwd: Work around getcwd bug on AIX 5..7.
10201         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
10202         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
10203         Use a different value for gl_cv_func_getcwd_path_max. Move the
10204         definition of HAVE_PARTLY_WORKING_GETCWD from here...
10205         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
10206         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
10207         Define HAVE_MINIMALLY_WORKING_GETCWD.
10208         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
10209         where it is not even minimally working, that is, on AIX.
10210         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
10211         m4/getcwd-path-max.m4.
10212         (main): Update exit code computation.
10213         * doc/posix-functions/getcwd.texi: Mention list of platforms where
10214         getcwd does not handle long file names.
10215
10216 2011-11-20  Bruno Haible  <bruno@clisp.org>
10217
10218         getcwd: Fix bug from 2009-09-10.
10219         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
10220         like "no".
10221
10222 2011-11-20  Simon Josefsson  <simon@josefsson.org>
10223
10224         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
10225
10226 2011-11-20  Bruno Haible  <bruno@clisp.org>
10227
10228         fma tests: Avoid shadowing local variables.
10229         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
10230         expected.
10231
10232 2011-11-20  Bruno Haible  <bruno@clisp.org>
10233
10234         copysignf tests: Fix.
10235         * tests/test-copysignf.c: Fix signature check.
10236
10237 2011-11-20  Bruno Haible  <bruno@clisp.org>
10238
10239         fma: Remove unused code.
10240         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
10241         unused macros.
10242
10243 2011-11-20  Bruno Haible  <bruno@clisp.org>
10244
10245         sethostname: Fix doc about AIX.
10246         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
10247         sethostname; it has it.
10248
10249         sethostname: Mention more portability problems.
10250         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
10251         problem.
10252         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
10253
10254 2011-11-19  Bruno Haible  <bruno@clisp.org>
10255
10256         Depend on module fcntl-h when AT_FDCWD is used.
10257         * modules/utimens (Depends-on): Add fcntl-h.
10258         * modules/areadlinkat (Depends-on): Likewise.
10259         * modules/areadlinkat-with-size (Depends-on): Likewise.
10260         * modules/faccessat (Depends-on): Likewise.
10261         * modules/fchmodat (Depends-on): Likewise.
10262         * modules/fchownat (Depends-on): Likewise.
10263         * modules/getcwd (Depends-on): Likewise.
10264         * modules/mkdirat (Depends-on): Likewise.
10265         * modules/mkfifoat (Depends-on): Likewise.
10266         * modules/readlinkat (Depends-on): Likewise.
10267         * modules/symlinkat (Depends-on): Likewise.
10268         * modules/dup2-tests (Depends-on): Likewise.
10269         * modules/fdutimensat-tests (Depends-on): Likewise.
10270         * modules/futimens-tests (Depends-on): Likewise.
10271
10272 2011-11-19  Bruno Haible  <bruno@clisp.org>
10273
10274         euidaccess: Update a comment.
10275         * lib/euidaccess.c: Update comment about platforms with faccessat.
10276
10277 2011-11-19  Bruno Haible  <bruno@clisp.org>
10278
10279         openat: Fix file list.
10280         * modules/openat (Files): Remove lib/at-func.c.
10281
10282 2011-11-19  Bruno Haible  <bruno@clisp.org>
10283
10284         fstatat: Simplify.
10285         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
10286         gnulib should define rpl_fstatat, there is a
10287         "#define fstatat rpl_fstatat" in <sys/stat.h>.
10288
10289 2011-11-19  Bruno Haible  <bruno@clisp.org>
10290
10291         Ensure 'inline' can be used in tests/test-utimens-common.h.
10292         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
10293         * modules/futimens-tests (configure.ac): Likewise.
10294         * modules/utimens-tests (configure.ac): Likewise.
10295         * modules/utimensat-tests (configure.ac): Likewise.
10296
10297 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10298
10299         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
10300         not hash_insert0.
10301         (hash_insert_if_absent): Doc fix.
10302
10303 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10304
10305         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
10306
10307 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
10308
10309         test-getcwd: disambiguate exit status
10310         * tests/test-getcwd.c (test_long_name): Return 0..7.
10311         (main): Exit with an unambiguous exit status.  The old
10312         code yielded a mysterious mixture of two failure codes.
10313
10314         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
10315         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
10316         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
10317         rpl_fstatat or fstatat.  This should fix the other problem
10318         reported by Kai Habel in
10319         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10320         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
10321         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
10322         and I reproduced it on a Solaris 8 host we still have in production.
10323
10324 2011-11-18  Jim Meyering  <meyering@redhat.com>
10325
10326         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
10327         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
10328         Add a sentence to the comment.
10329         (hash_insert0): New function that simply calls hash_insert_if_absent.
10330         * lib/hash.h (hash_insert_if_absent): Declare it.
10331         (hash_insert0): Add deprecation attribute.
10332         (_GL_ATTRIBUTE_DEPRECATED): Define.
10333         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
10334         not hash_insert0.
10335         * NEWS: Mention it, even though it's not really an incompatible change.
10336
10337 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
10338
10339         openat: avoid compilation failure due to lack of <errno.h> inclusion
10340         * lib/openat.c: Include <errno.h>.
10341
10342 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
10343
10344         * modules/getcwd (Depends-on): Add fdopendir.
10345         This fixes one of the two problems reported by Kai Habel in
10346         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10347
10348         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
10349         stdalign problem reported by Ian Beckwith in
10350         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
10351         * modules/crypto/gc-arcfour (Depends-on):
10352         Depend conditionally on crypto/arcfour.
10353         * modules/crypto/gc-arctwo (Depends-on):
10354         Depend conditionally on crypto/arctwo.
10355         * modules/crypto/gc-des (Depends-on):
10356         Depend conditionally on crypto/des.
10357         * modules/crypto/gc-hmac-md5 (Depends-on):
10358         Depend conditionally on crypto/hmac-md5.
10359         * modules/crypto/gc-hmac-sha1 (Depends-on):
10360         Depend conditionally on crypto/hmac-sha1.
10361         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
10362         * modules/crypto/gc-md4 (Depends-on):
10363         Depend conditionally on crypto/md4.
10364         * modules/crypto/gc-md5 (Depends-on):
10365         Depend conditionally on crypto/md5.
10366         * modules/crypto/gc-rijndael (Depends-on):
10367         Depend conditionally on crypto/rijndael.
10368         * modules/crypto/gc-sha1 (Depends-on):
10369         Depend conditionally on crypto/sha1.
10370         * modules/crypto/gc-arcfour:
10371         * modules/crypto/gc-arctwo:
10372         * modules/crypto/gc-des:
10373         * modules/crypto/gc-hmac-md5:
10374         * modules/crypto/gc-hmac-sha1:
10375         * modules/crypto/gc-md2:
10376         * modules/crypto/gc-md4:
10377         * modules/crypto/gc-md5:
10378         * modules/crypto/gc-rijndael:
10379         * modules/crypto/gc-sha1:
10380         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
10381         now that the conditional dependencies do the work for us.
10382
10383 2011-11-17  Jim Meyering  <meyering@redhat.com>
10384
10385         tests: factor st_ctime-comparison out of two headers
10386         * tests/test-utimens-common.h (ctime_compare): Define.
10387         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
10388         * tests/test-lutimens.h (test_lutimens): Likewise.
10389         * tests/test-utimens.h (test_utimens): Likewise.
10390
10391         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
10392         Invoke the test program via an init.sh-using wrapper.
10393         * tests/test-getcwd.sh: New file.
10394         * modules/getcwd-tests (Files): Add it.
10395         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
10396
10397 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
10398
10399         gitlog-to-changelog: support multi-author commits.
10400         The FSF cares about keeping track of all authors of patches to its
10401         projects, but Git doesn't provide obvious support for multi-author
10402         changesets. Consensus seems to be forming around the use of extra
10403         Signed-off-by inspired lines in the log message formatted as
10404         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
10405         multi-author commits between version control systems.
10406         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
10407         log message and output in standard ChangeLog multi-author format.
10408         Reported by Peter Rosin <peda@lysator.liu.se>
10409
10410 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
10411             Bruno Haible  <bruno@clisp.org>
10412
10413         Fix some modules' file list.
10414         * modules/fstatat (Files): Add m4/lstat.m4.
10415         * modules/openat (Files): Likewise.
10416         * modules/unlinkat (Files): Likewise.
10417
10418 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
10419
10420         maint.mk: fix tight-scope.mk generation in VPATH builds.
10421         * top/maint.mk (tight-scope.mk): Make sure to prefix file
10422         reference with $(srcdir) so that the file is found correctly even
10423         when running `make syntax-check' in a VPATH build.
10424
10425 2011-11-13  Bruno Haible  <bruno@clisp.org>
10426             Jim Meyering  <meyering@redhat.com>
10427
10428         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
10429         * tests/init.sh (compare): Remove "No differences encountered" or
10430         synonymous output from the 'diff' program.
10431
10432 2011-11-13  Bruno Haible  <bruno@clisp.org>
10433
10434         Makefile: Tweak indentation.
10435         * Makefile: Use tab as first character in every line that contains rule
10436         commands.
10437
10438 2011-11-13  Bruno Haible  <bruno@clisp.org>
10439
10440         Syntax check for copyright statements.
10441         * check-copyright: New file.
10442         * Makefile (sc_check_copyright): New rule.
10443
10444 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10445
10446         * build-aux/git-version-gen: Add --prefix to configure the tag
10447         match string.
10448
10449 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10450
10451         * build-aux/git-version-gen: Add --help and --version.
10452
10453 2011-11-12  Jim Meyering  <meyering@redhat.com>
10454
10455         revamp the other test-exclude?.sh scripts to use init.sh, too
10456         * tests/test-exclude1.sh: Use init.sh.
10457         * tests/test-exclude2.sh: Likewise.
10458         * tests/test-exclude3.sh: Likewise.
10459         * tests/test-exclude4.sh: Likewise.
10460         * tests/test-exclude5.sh: Likewise.
10461         * tests/test-exclude6.sh: Likewise.
10462         * tests/test-exclude7.sh: Likewise.
10463         * tests/test-exclude8.sh: Likewise.
10464         * modules/exclude-tests (Files): List init.sh.
10465
10466         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
10467         These shell scripts ignored failure of the binary test-exclude,
10468         so making the latter return 77 didn't cause them to be skipped.
10469         * tests/test-exclude5.sh: Exit with test-exclude's error status
10470         when that program fails.  Revamp to use init.sh.
10471         * tests/test-exclude2.sh: Likewise.
10472
10473         test-exclude: fix a typo
10474         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
10475
10476 2011-11-11  Bruno Haible  <bruno@clisp.org>
10477
10478         obstack: Fix compilation error on MSVC 9.
10479         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
10480
10481 2011-11-11  Jim Meyering  <meyering@redhat.com>
10482
10483         test-exclude: skip tests rather than failing on deficient systems
10484         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
10485         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
10486         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
10487         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
10488
10489 2011-11-10  Bruno Haible  <bruno@clisp.org>
10490
10491         ptsname_r test: Avoid gcc warning on glibc systems.
10492         * tests/test-ptsname_r.c (null_ptr): New function.
10493         (test_errors): Use it.
10494
10495 2011-11-10  Bruno Haible  <bruno@clisp.org>
10496
10497         ptsname_r: Avoid compilation error on OSF/1 5.1.
10498         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
10499         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
10500         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
10501         function is not declared or incompatibly declared.
10502         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
10503         * modules/ptsname_r (Depends-on, configure.ac): Update.
10504         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
10505
10506 2011-11-10  Bruno Haible  <bruno@clisp.org>
10507
10508         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
10509         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
10510         When cross-compiling, guess yes on all platforms except AIX.
10511         Reported by Ludovic Courtès <ludo@gnu.org>.
10512
10513 2011-11-09  Bruno Haible  <bruno@clisp.org>
10514
10515         ptsname_r tests: Fix bugs.
10516         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
10517         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
10518
10519 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
10520
10521         fstatat: work with cross-compilation
10522         Problem reported by Ludovic Courtès in
10523         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
10524         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
10525         "cross-compiling" and assume the bug is present.  Replace
10526         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
10527         an inverted sense, to be more conservative about our assumptions.
10528         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
10529
10530 2011-11-09  Bruno Haible  <bruno@clisp.org>
10531
10532         Improve MODULES.html output.
10533         * modules/mkfifoat (Description): Use the word "function".
10534         * modules/readlinkat (Description): Likewise.
10535         * modules/symlinkat (Description): Likewise.
10536
10537 2011-11-09  Eric Blake  <eblake@redhat.com>
10538
10539         ptsname_r-tests: new test module
10540         * modules/ptsname_r-tests: New module.
10541         * tests/test-ptsname_r.c: New file.
10542
10543         ptsname_r: new module
10544         * modules/ptsname_r: New module.
10545         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
10546         * lib/ptsname.c (__ptsname_r): Split...
10547         * lib/ptsname_r.c: ...into new file.
10548         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
10549         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
10550         * modules/stdlib (Makefile.am): Substitute witnesses.
10551         * lib/stdlib.in.h (ptsname_r): Declare it.
10552         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
10553         * MODULES.html.sh (Misc): Likewise.
10554         * modules/ptsname (Depends-on): Alter dependency.
10555         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
10556
10557 2011-11-09  Jim Meyering  <meyering@redhat.com>
10558
10559         announce-gen: be more concise when there's only one URL+tarball
10560         * build-aux/announce-gen (get_tool_versions): When you distribute
10561         only one type of tarball, combine the first two "Here are..."
10562         sections and make the key-checking grammar independent of
10563         how many tarballs there are.
10564
10565 2011-11-09  Eric Blake  <eblake@redhat.com>
10566
10567         openpty: provide a stub on mingw
10568         * lib/pty.in.h (includes): Provide forward declarations.
10569         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
10570
10571         raise: fix mingw handling of SIGPIPE
10572         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
10573
10574 2011-11-08  Bruno Haible  <bruno@clisp.org>
10575
10576         More conditional dependencies.
10577         * modules/faccessat (Depends-on): Add conditions.
10578         * modules/fchmodat (Depends-on): Likewise.
10579         * modules/fchownat (Depends-on): Likewise.
10580         * modules/fstatat (Depends-on): Likewise.
10581         * modules/mkfifoat (Depends-on): Likewise.
10582         * modules/readlinkat (Depends-on): Likewise.
10583         * modules/symlinkat (Depends-on): Likewise.
10584         * modules/unlinkat (Depends-on): Likewise.
10585         * modules/utimensat (Depends-on): Likewise.
10586         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
10587         * modules/linkat (Depends-on): Refine the conditions.
10588         * modules/renameat (Depends-on): Likewise.
10589
10590 2011-11-08  Bruno Haible  <bruno@clisp.org>
10591
10592         faccessat: Move AC_LIBOBJ invocation to module description.
10593         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
10594         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
10595         invocation from here...
10596         * modules/faccessat (configure.ac): ... to here. Invoke
10597         gl_PREREQ_FACCESSAT.
10598
10599 2011-11-08  Bruno Haible  <bruno@clisp.org>
10600
10601         faccessat: Simplify autoconf macro.
10602         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
10603         gl_FUNC_EUIDACCESS.
10604
10605 2011-11-08  Bruno Haible  <bruno@clisp.org>
10606
10607         renameat: Fix dependencies.
10608         * modules/renameat (Depends-on): Add stdbool.
10609
10610 2011-11-08  Bruno Haible  <bruno@clisp.org>
10611
10612         mkfifoat: Fix module description.
10613         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
10614         not gl_UNISTD_MODULE_INDICATOR.
10615
10616 2011-11-08  Bruno Haible  <bruno@clisp.org>
10617
10618         fstatat: Remove unused dependency.
10619         * modules/fstatat (Depends-on): Remove fstat.
10620
10621 2011-11-08  Simon Josefsson  <simon@josefsson.org>
10622
10623         GNUmakefile: behave when Makefile is missing.
10624         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
10625
10626 2011-11-08  Bruno Haible  <bruno@clisp.org>
10627
10628         openat: Conditionalize dependencies.
10629         * lib/openat.c: Reduce the scope of some #includes.
10630         * modules/openat (Depends-on): Add conditions.
10631
10632 2011-11-07  Jim Meyering  <meyering@redhat.com>
10633
10634         maint.mk: extract GPG key ID without using a temporary file
10635         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
10636         without using a temporary file.  Based on a suggestion from Werner Koch
10637         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
10638
10639 2011-11-07  Eric Blake  <eblake@redhat.com>
10640
10641         grantpt: fix typo
10642         * lib/stdlib.in.h (grantpt): Check correct function.
10643
10644         maint.mk: silence new syntax check
10645         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
10646
10647 2011-11-06  Bruno Haible  <bruno@clisp.org>
10648
10649         Doc about floating-point and math API.
10650         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
10651         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
10652
10653 2011-11-06  Bruno Haible  <bruno@clisp.org>
10654
10655         stdalign tests: Skip the test when compiled by Sun C.
10656         * tests/test-stdalign.c (main): Skip the test on Sun C.
10657
10658 2011-11-06  Bruno Haible  <bruno@clisp.org>
10659
10660         ansi-c++-opt: Complete the 2011-06-05 change.
10661         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
10662         does not support namespaces, set the variable to "no", not to ":".
10663
10664 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
10665
10666         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
10667
10668 2011-11-06  Bruno Haible  <bruno@clisp.org>
10669
10670         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
10671         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
10672         (minus_zerol) [HP-UX]: New macro.
10673         (unary_minus) [HP-UX]: New function.
10674         (copysignl) [HP-UX]: Use unary_minus function.
10675
10676 2011-11-06  Bruno Haible  <bruno@clisp.org>
10677
10678         ldexp, ldexpf, ldexpl: Enhance tests.
10679         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
10680         and tests/test-ldexpl.c.
10681         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
10682         LDEXP, MIN_EXP, MAX_EXP): New macros.
10683         Include test-ldexp.h.
10684         (main): Just call test_function.
10685         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
10686         infinity.h, nan.h.
10687         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10688         MAX_EXP): New macros.
10689         Include test-ldexp.h.
10690         (x, y): Remove variables.
10691         (main): Just call test_function.
10692         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
10693         infinity.h, nan.h.
10694         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10695         MAX_EXP): New macros.
10696         Include test-ldexp.h.
10697         (x, y): Remove variables.
10698         (main): Just call test_function.
10699         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
10700         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
10701         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10702         (Depends-on): Add isnand-nolibm, signbit, float.
10703         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
10704         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10705         (Depends-on): Add isnanf-nolibm, signbit, float.
10706
10707 2011-11-06  Bruno Haible  <bruno@clisp.org>
10708
10709         math tests: Cosmetics.
10710         * tests/test-math-c++.cc: Reorder declarations.
10711
10712 2011-11-05  Bruno Haible  <bruno@clisp.org>
10713
10714         fma*: Simplify test.
10715         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
10716         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
10717
10718         Tests for module 'fmal'.
10719         * modules/fmal-tests: New file.
10720         * tests/test-fmal1.c: New file.
10721         * tests/test-fmal2.c: New file.
10722
10723         New module 'fmal'.
10724         * lib/math.in.h (fmal): New declaration.
10725         * lib/fmal.c: New file.
10726         * m4/fmal.m4: New file.
10727         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
10728         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
10729         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
10730         REPLACE_FMAL.
10731         * modules/fmal: New file.
10732         * doc/posix-functions/fmal.texi: Mention the new module and the various
10733         bugs.
10734
10735         Tests for module 'fmaf'.
10736         * modules/fmaf-tests: New file.
10737         * tests/test-fmaf1.c: New file.
10738         * tests/test-fmaf2.c: New file.
10739
10740         New module 'fmaf'.
10741         * lib/math.in.h (fmaf): New declaration.
10742         * lib/fmaf.c: New file.
10743         * m4/fmaf.m4: New file.
10744         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
10745         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
10746         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
10747         REPLACE_FMAF.
10748         * modules/fmaf: New file.
10749         * doc/posix-functions/fmaf.texi: Mention the new module and the various
10750         bugs.
10751
10752         Tests for module 'fma'.
10753         * modules/fma-tests: New file.
10754         * tests/test-fma1.c: New file.
10755         * tests/test-fma1.h: New file.
10756         * tests/test-fma2.c: New file.
10757         * tests/test-fma2.h: New file.
10758
10759         New module 'fma'.
10760         * lib/math.in.h (fma): New declaration.
10761         * lib/fma.c: New file.
10762         * m4/fma.m4: New file.
10763         * m4/fegetround.m4: New file.
10764         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
10765         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
10766         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
10767         REPLACE_FMA.
10768         * modules/fma: New file.
10769         * doc/posix-functions/fma.texi: Mention the new module and the various
10770         bugs.
10771
10772         Extend gl_MATHFUNC.
10773         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
10774         Support 'void' as argument type.
10775         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
10776
10777 2011-11-05  Jim Meyering  <meyering@redhat.com>
10778
10779         maint.mk: also prohibit inclusion of dirent.h without use
10780         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
10781
10782 2011-11-05  Bruno Haible  <bruno@clisp.org>
10783
10784         ldexpl tests: Avoid test failure on MSVC 9.
10785         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
10786         value. Needed in order to enforce the conversion from a value greater
10787         than LDBL_MAX to Infinity.
10788
10789 2011-11-05  Bruno Haible  <bruno@clisp.org>
10790
10791         New modules 'at-internal', 'openat-h', split off from module 'openat'.
10792         * modules/at-internal: New file, extracted from modules/openat.
10793         * modules/openat-h: New file.
10794         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
10795         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
10796         * modules/openat (Description): Add reference to POSIX function.
10797         (Files): Remove lib/openat.h, lib/openat-proc.c.
10798         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
10799         intprops, unistd.
10800         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
10801         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
10802         gl_FCNTL_MODULE_INDICATOR.
10803         (Include): Remove unistd.h, openat.h.
10804         * modules/areadlinkat (Files): Add lib/at-func.c.
10805         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10806         openat-die, openat-h, save-cwd.
10807         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
10808         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10809         openat-die, openat-h, save-cwd, unistd.
10810         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
10811         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10812         openat-h, save-cwd. Remove fcntl-h, openat.
10813         * modules/fchmodat (Files): Remove lib/openat.h.
10814         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10815         openat, stdbool, unistd.
10816         * modules/fchownat (Files): Remove lib/openat.h.
10817         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10818         openat, stdbool, sys_stat.
10819         * modules/fdopendir (Files): Remove lib/openat-priv.h,
10820         lib/openat-proc.c.
10821         (Depends-on): Add at-internal.
10822         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
10823         * modules/fstatat (Files): Remove lib/openat.h.
10824         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10825         stdbool, unistd.
10826         * modules/fts (Depends-on): Add openat-h.
10827         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
10828         openat.
10829         * modules/mkdirat (Files): Remove lib/openat.h.
10830         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10831         openat, stdbool, sys_stat.
10832         * modules/mkfifoat (Files): Add lib/at-func.c.
10833         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10834         openat-h, save-cwd. Remove fcntl-h, openat.
10835         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
10836         * modules/readlinkat (Files): Add lib/at-func.c.
10837         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10838         openat-h, save-cwd. Remove fcntl-h, openat.
10839         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
10840         openat.
10841         * modules/selinux-at (Files): Add lib/at-func.c.
10842         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10843         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
10844         * modules/symlinkat (Files): Add lib/at-func.c.
10845         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10846         openat-h, save-cwd. Remove fcntl-h, openat.
10847         * modules/unlinkat (Files): Remove lib/openat.h.
10848         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10849         stdbool.
10850         * modules/utimensat (Files): Add lib/at-func.c.
10851         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
10852         openat-die, openat-h, save-cwd.
10853         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
10854         * modules/fdutimensat-tests (Depends-on): Add openat.
10855         * modules/fstatat-tests (Depends-on): Add openat-h.
10856         * modules/readlinkat-tests (Depends-on): Add openat.
10857         * modules/symlinkat-tests (Depends-on): Add openat.
10858
10859 2011-11-05  Bruno Haible  <bruno@clisp.org>
10860
10861         openat: Include <stdbool.h>.
10862         * lib/openat.c: Include <stdbool.h>.
10863
10864 2011-11-04  Bruno Haible  <bruno@clisp.org>
10865
10866         fchownat, renameat, unlinkat: Fix dependencies.
10867         * modules/fchownat (Depends-on): Add fstatat.
10868         * modules/renameat (Depends-on): Likewise.
10869         * modules/unlinkat (Depends-on): Likewise.
10870
10871 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
10872
10873         openat: remove direct dependency on dirent
10874         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
10875         and hasn't been needed ever since fdopendir was split into its own
10876         module on 2009-08-31.
10877         * modules/openat (Depends-on): Remove dirent.
10878
10879 2011-11-04  Bruno Haible  <bruno@clisp.org>
10880
10881         renameat: Optimize code size.
10882         * modules/renameat (configure.ac): Don't compile at-func2.c if
10883         REPLACE_RENAMEAT is 1.
10884
10885 2011-11-04  Bruno Haible  <bruno@clisp.org>
10886
10887         openat tests: Fix file list.
10888         * modules/openat-tests (Files): Add tests/test-open.h.
10889
10890 2011-11-04  Bruno Haible  <bruno@clisp.org>
10891
10892         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
10893         * modules/fchmodat (Depends-on): Add openat-die.
10894         * modules/fchownat (Depends-on): Likewise.
10895         * modules/linkat (Depends-on): Likewise.
10896         * modules/renameat (Depends-on): Likewise.
10897         * modules/openat (Depends-on): Add dirent.
10898
10899 2011-11-04  Jim Meyering  <meyering@redhat.com>
10900
10901         at-func*.c: fix comments
10902         * lib/at-func2.c: Correct/improve first-line comment.
10903         * lib/at-func.c: Correct grammar in first-line comment.
10904
10905 2011-11-04  Bruno Haible  <bruno@clisp.org>
10906
10907         New module 'mkdirat', split off from module 'openat'.
10908         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
10909         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
10910         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
10911         * modules/mkdirat: New file, extracted from modules/openat.
10912         * modules/openat (Files): Remove lib/mkdirat.c.
10913         (Depends-on): Remove mkdir.
10914         (configure.ac): Remove AC_LIBOBJ of mkdirat.
10915         (Include): Remove <sys/stat.h>.
10916         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
10917         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
10918         tests/test-mkdir.h.
10919         (Depends-on): Remove ignore-value.
10920         (Makefile.am): Remove rules for test-mkdirat.
10921         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
10922         of module 'openat'.
10923         * NEWS: Mention the change.
10924
10925 2011-11-04  Bruno Haible  <bruno@clisp.org>
10926
10927         closedir: Avoid warning on mingw.
10928         * lib/closedir.c: Include <unistd.h>.
10929
10930 2011-11-04  Bruno Haible  <bruno@clisp.org>
10931
10932         New module 'fstatat', split off from module 'openat'.
10933         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
10934         defined.
10935         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
10936         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
10937         gl_FUNC_FSTATAT.
10938         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
10939         * modules/fstatat: New file, extracted from modules/openat.
10940         * modules/openat (Files): Remove lib/fstatat.c.
10941         (Depends-on): Remove lstat.
10942         (configure.ac): Remove AC_LIBOBJ of fstatat.
10943         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
10944         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
10945         tests/test-lstat.h, tests/test-stat.h.
10946         (Depends-on): Remove getcwd-lgpl.
10947         (Makefile.am): Remove rules for test-fstatat.
10948         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
10949         of module 'openat'.
10950         * NEWS: Mention the change.
10951         * modules/getcwd (Depends-on): Add fstatat.
10952         * modules/linkat (Depends-on): Likewise.
10953         * modules/mkfifoat-tests (Depends-on): Likewise.
10954         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
10955
10956 2011-11-03  Bruno Haible  <bruno@clisp.org>
10957
10958         New module 'unlinkat', split off from module 'openat'.
10959         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
10960         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
10961         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
10962         * modules/unlinkat: New file, extracted from modules/openat. Correct
10963         the dependency conditions.
10964         * modules/openat (Files): Remove lib/unlinkat.c.
10965         (Depends-on): Remove rmdir, unlink.
10966         (configure.ac): Remove AC_LIBOBJ of unlinkat.
10967         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
10968         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
10969         tests/test-rmdir.h, tests/test-unlink.h.
10970         (Depends-on): Remove unlinkdir.
10971         (Makefile.am): Remove rules for test-unlinkat.
10972         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
10973         of module 'openat'.
10974         * NEWS: Mention the change.
10975         * modules/linkat-tests (Depends-on): Add unlinkat.
10976         * modules/mkfifoat-tests (Depends-on): Likewise.
10977         * modules/readlinkat-tests (Depends-on): Likewise.
10978
10979 2011-11-02  Bruno Haible  <bruno@clisp.org>
10980
10981         New module 'fchmodat', split off from module 'openat'.
10982         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
10983         defined.
10984         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
10985         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
10986         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
10987         * modules/fchmodat: New file, extracted from modules/openat.
10988         * modules/openat (Files): Remove lib/fchmodat.c.
10989         (configure.ac): Remove AC_LIBOBJ of fchmodat.
10990         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
10991         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
10992         (Makefile.am): Remove rules for test-fchmodat.
10993         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
10994         of module 'openat'.
10995         * NEWS: Mention the change.
10996
10997 2011-11-02  Jim Meyering  <meyering@redhat.com>
10998
10999         putenv: indent #definition of "environ" to placate cppi
11000         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
11001
11002         gitlog-to-changelog: provide a ChangeLog-repair mechanism
11003         Git logs are often treated as immutable, because editing them
11004         changes the SHA1 checksums of all descendants.  Thus, errors in
11005         git logs tend to stay there forever.  However, when we generate
11006         a ChangeLog file -- typically for distribution -- from that git log,
11007         we can actually make corrections in the generated file.  The key
11008         lies in recording in machine-readable/applicable form the desired
11009         corrections.  See --help for description and an example.
11010         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
11011         (usage): Describe it; alphabetize option descriptions.
11012         (main): Honor the new option, carefully.
11013
11014 2011-11-01  Jim Meyering  <meyering@redhat.com>
11015
11016         gitlog-to-changelog: avoid an infloop
11017         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
11018         that ends up being empty.
11019
11020 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
11021
11022         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
11023         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
11024         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
11025         contains (possibly-quoted) backslashes.  This should avoid
11026         all-too-common shell bugs if COMPLICATED contains backslashes in
11027         the "wrong" places.  Reported by David Evans in
11028         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
11029         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
11030         because we want ASCII ranges.  Is there some reason we don't use
11031         the C locale everywhere in this script?
11032         (func_module, top level): Avoid unwanted pathname expansion when
11033         $repo_url_prefix or $repo_url_suffix_repl contain shell
11034         metacharacters like '?' and '*'.
11035
11036 2011-11-01  Bruno Haible  <bruno@clisp.org>
11037
11038         fchownat: Improve description.
11039         * modules/fchownat (Description): Add link to function.
11040
11041 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
11042
11043         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
11044         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
11045         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
11046         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
11047
11048 2011-11-01  Bruno Haible  <bruno@clisp.org>
11049
11050         alignof: Avoid collision with stdalign module.
11051         * lib/alignof.h (alignof): Remove macro.
11052         * NEWS: Mention the change.
11053         Reported by Paul Eggert.
11054
11055 2011-11-01  Bruno Haible  <bruno@clisp.org>
11056
11057         New module 'fchownat', split off from module 'openat'.
11058         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
11059         defined.
11060         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
11061         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
11062         invoke gl_FUNC_FCHOWNAT.
11063         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
11064         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
11065         * modules/fchownat: New file, extracted from modules/openat.
11066         * modules/openat (Files): Remove lib/fchownat.c.
11067         (Depends-on): Remove lchown.
11068         (configure.ac): Remove AC_LIBOBJ of fchownat.
11069         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
11070         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
11071         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
11072         (Depends-on): Remove mgetgroups, usleep, stat-time.
11073         (configure.ac): Remove test for getegid.
11074         (Makefile.am): Remove rules for test-fchownat.
11075         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
11076         of module 'openat'.
11077         * NEWS: Mention the change.
11078
11079 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
11080
11081         stdalign: port better to MSVC and to Sun C 5.11
11082         This fixes some of the problems reported by Bruno Haible in
11083         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
11084         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
11085         shortcomings of MSVC and of Sun C 5.11.
11086         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
11087         around __declspec arg.
11088         * modules/stdalign-tests (Files): Add tests/macros.h.
11089         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
11090         Include macros.h, for ASSERT.
11091         (DECLARE_ALIGNED): Remove.
11092         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
11093         to catch bug), and to 1 if not (simplifies the rest of the code).
11094         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
11095         (CHECK_AUTO): Remove.
11096         (CHECK_ALIGNED): Check only the alignment of the static vars,
11097         since auto var alignment isn't supported by Sun C 5.11.
11098         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
11099         ASSERT failures are easier to diagnose.
11100
11101 2011-10-31  Bruno Haible  <bruno@clisp.org>
11102
11103         doc about some IRIX 5.3 problems.
11104         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
11105         on IRIX 5.3.
11106         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
11107         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
11108         5.3.
11109         * doc/posix-functions/grantpt.texi: Likewise.
11110         * doc/posix-functions/unlockpt.texi: Likewise.
11111         * doc/posix-functions/lgamma.texi: Likewise.
11112         * doc/posix-functions/nextafter.texi: Likewise.
11113         * doc/posix-functions/remainder.texi: Likewise.
11114         * doc/posix-functions/select.texi: Mention misplaced declaration on
11115         IRIX 5.3.
11116         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11117
11118 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
11119
11120         gitlog-to-changelog: fix git-log invocation.
11121         git-log mishandles date strings before 1970-01-01 UTC, and there is
11122         no use to specify --since=1970-01-01 by default anyway.
11123         * build-aux/gitlog-to-changelog: By default, when no --since option
11124         was given, do not specify explicit --since option to git-log.
11125
11126 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
11127
11128         gitlog-to-changelog: new option --append-dot.
11129         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
11130         first non-blank line of each commit message terminated with a dot.
11131
11132 2011-10-30  Bruno Haible  <bruno@clisp.org>
11133
11134         ffsl, ffsll: Avoid compilation error due to 'restrict'.
11135         * lib/ffsl.h: Include <config.h>.
11136         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
11137
11138 2011-10-30  Jim Meyering  <meyering@redhat.com>
11139
11140         GNUmakefile: reenable "make syntax-check" for most projects
11141         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
11142         build-aux variable", "syntax-check" would do nothing but succeed with
11143         the "No version control files detected..." diagnostic (unless you
11144         happened to override _build-aux via cfg.mk).
11145         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
11146         to precede inclusion of maint.mk.  Otherwise, these variables would
11147         be used undefined in any project that does not override the default.
11148
11149 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
11150
11151         gitlog-to-changelog: treat a message with only blank lines as empty.
11152         * build-aux/gitlog-to-changelog: Move the code that removes leading and
11153         trailing blank lines before the code that issues a warning about an
11154         empty commit message.
11155
11156 2011-10-30  Jim Meyering  <meyering@redhat.com>
11157
11158         test-parse-datetime.c: avoid new DST-related false positive test failure
11159         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
11160         based on the time/date we'll convert, not the current time.
11161         Otherwise, the moment we cross a DST boundary like today's in
11162         Europe, (CEST to CET), that offset ends up being one hour off.
11163
11164 2011-10-27  Bruno Haible  <bruno@clisp.org>
11165
11166         fstat: Tweak documentation.
11167         * modules/fstat (Description): More precise description.
11168
11169 2011-10-27  Bruno Haible  <bruno@clisp.org>
11170
11171         Update documentation regarding 'largefile' module.
11172         * doc/posix-functions/fstat.texi: Tweak wording.
11173         * doc/posix-functions/opendir.texi: Mention that the module fixes the
11174         problems with huge directories and/or small ino_t types.
11175         * doc/posix-functions/readdir.texi: Likewise.
11176         * doc/posix-functions/rewinddir.texi: Likewise.
11177
11178 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
11179
11180         maint.mk: don't maintain a second build-aux variable.
11181         * maint.mk (build_aux): Removed.  The maintainer-makefile module
11182         depends on GNUmakefile, which already maintains a cfg.mk
11183         overridable $(_build-aux) for projects with a non-standard
11184         build-aux directory location, although without the $(srcdir)
11185         prefix.  Use that variable consistently instead of introducing a
11186         second one.  Adjust all call sites.
11187
11188 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
11189
11190         Add stdalign module and use it in other modules.
11191         This is based on a previous proposal by Bruno Haible
11192         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
11193
11194         stdalign: new module
11195         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
11196         * modules/stdalign: New files.
11197         * MODULES.html.sh (c1x_core_properties): Add stdalign.
11198         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
11199
11200         stdalign-tests: new module
11201         * modules/stdalign-tests, tests/test-stdalign.c: New files.
11202
11203         argp: use stdalign
11204         * lib/argp-parse.c: Include <stdalign.h>.
11205         (alignof): Remove.
11206         * modules/argp (Depends-on): Add stdalign.
11207
11208         crypto libraries: use stdalign
11209         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
11210         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
11211         Do not include <stdlib.h> twice, in md4.c.
11212         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
11213         because we are accessing a pointer's bit-pattern, not a size.
11214         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
11215         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
11216         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
11217         * modules/crypto/sha512: Likewise.
11218
11219         sys_socket: use stdalign, not alignof
11220         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
11221         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
11222
11223 2011-10-27  Bruno Haible  <bruno@clisp.org>
11224
11225         raise test: Avoid a test failure on Linux/MIPS.
11226         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
11227         because 99 is a valid signal on Linux/MIPS.
11228
11229 2011-10-27  Bruno Haible  <bruno@clisp.org>
11230
11231         nonblocking tests: Fix test failure on Linux/MIPS.
11232         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
11233         Set to 270000.
11234
11235 2011-10-27  Bruno Haible  <bruno@clisp.org>
11236
11237         utimensat: Work around problem on Linux/hppa.
11238         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
11239         values.
11240         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
11241
11242 2011-10-25  Jim Meyering  <meyering@redhat.com>
11243
11244         maint.mk: fix a bug in sc_prohibit_stddef_without_use
11245         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
11246         after symbols like NULL, size_t, etc.
11247         Reported by Alfred M. Szmidt.
11248
11249         maint.mk: exempt ENODATA from a syntax-check rule
11250         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
11251         from the sc_prohibit_always-defined_macros syntax-check rule.
11252         Add a comment.  See this for more details:
11253         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
11254
11255 2011-10-23  Jim Meyering  <meyering@redhat.com>
11256
11257         fts: close parent dir FD before returning from post-traversal fts_read
11258         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
11259         unlink A, even though an FD open on A remained.  This is suboptimal
11260         (holding a file descriptor open longer than needed), but otherwise not
11261         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
11262         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
11263         that represents a real problem: it causes the removal of A to fail
11264         with e.g., "rm: cannot remove `A': Device or resource busy"
11265
11266         fts visits each directory twice and keeps a cache (fts_fd_ring) of
11267         directory file descriptors.  After completing the final, FTS_DP,
11268         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
11269         cache, but then proceeded to add a new FD to it via the subsequent
11270         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
11271         final file descriptor would be closed only via fts_close's call to
11272         fd_ring_clear.  Now, it is usually closed earlier, via the final
11273         FTS_DP-returning fts_read call.
11274         * lib/fts.c (restore_initial_cwd): New function, converted from
11275         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
11276         Update callers.
11277         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
11278         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
11279
11280 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
11281             Bruno Haible  <bruno@clisp.org>
11282             Jim Meyering  <jim@meyering.net>
11283
11284         readme-release: improve safety of release prep instructions.
11285         * README-release: Don't git pull all branches when only master
11286         is needed for the release process.
11287         Run make maintainer-clean before changing trees and merging.
11288         Don't try to run ./configure right after git pull in case files
11289         that influence the bootstrap process have changed, move the
11290         ./configure step to after running ./bootstrap.
11291         Don't bootstrap "one last time"... it's the first time!
11292
11293 2011-10-22  Bruno Haible  <bruno@clisp.org>
11294
11295         errno, strerror-override: Support for MSVC 10.
11296         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
11297         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
11298         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
11299         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
11300         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
11301         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
11302         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
11303         Assign values compatible with MSVC 10.
11304         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
11305         New macros.
11306         (GNULIB_defined_EWINSOCK): New macro.
11307         * lib/strerror-override.c (strerror_override): Update accordingly.
11308         * lib/strerror-override.h: Likewise.
11309         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
11310         longer equal to the corresponding errno value.
11311         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11312
11313 2011-10-22  Bruno Haible  <bruno@clisp.org>
11314
11315         perror: Recognize when test program crashes.
11316         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
11317         strerror, set gl_cv_func_perror_works to no.
11318         Reported by Daniel Richard G. <skunk@iskunk.org>.
11319
11320         perror: Fix indentation.
11321         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
11322
11323 2011-10-22  Bruno Haible  <bruno@clisp.org>
11324
11325         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
11326         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
11327         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
11328         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
11329         functions, not as a macro.
11330         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
11331         macros.
11332         (isfinite, isinf, isnan, signbit): Check overloaded functions and
11333         absence of macro.
11334         Suggested by Eric Blake.
11335         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11336
11337 2011-10-21  Bruno Haible  <bruno@clisp.org>
11338
11339         relocatable-prog-wrapper: Don't leave object files behind.
11340         * build-aux/install-reloc: Re-synchronize list of .o files to be
11341         removed with list of compilation units.
11342
11343 2011-10-20  Bruno Haible  <bruno@clisp.org>
11344
11345         openpty, posix_openpt: Remove code duplication.
11346         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
11347         * lib/openpty.c: Include <stdlib.h>.
11348         (openpty): Use posix_openpt on all platforms except IRIX.
11349         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
11350
11351 2011-10-20  Bruno Haible  <bruno@clisp.org>
11352
11353         unlockpt: Detect invalid argument.
11354         * lib/unlockpt.c: Include <fcntl.h>.
11355         (unlockpt): Check whether fd is valid, using fcntl().
11356         * modules/unlockpt (Depends-on): Add fcntl-h.
11357
11358 2011-10-20  Bruno Haible  <bruno@clisp.org>
11359
11360         openpty: Avoid compilation error on AIX 6.1.
11361         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
11362
11363 2011-10-20  Bruno Haible  <bruno@clisp.org>
11364
11365         posix_openpt: Support for OpenBSD.
11366         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
11367         (posix_openpt) [OpenBSD]: New code.
11368         * lib/grantpt.c: Include <fcntl.h>.
11369         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
11370         * modules/grantpt (Depends-on): Add fcntl-h.
11371
11372 2011-10-20  Bruno Haible  <bruno@clisp.org>
11373
11374         posix_openpt test: Coding style.
11375         * tests/test-posix_openpt.c: Use GNU coding style.
11376
11377 2011-10-20  Bruno Haible  <bruno@clisp.org>
11378
11379         grantpt: Support --avoid=pt_chown.
11380         * modules/grantpt (Files): Add lib/pty-private.h.
11381
11382 2011-10-20  Bruno Haible  <bruno@clisp.org>
11383
11384         posix_openpt: Fix autoconf macro.
11385         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
11386         unneeded check for _getpty.
11387
11388 2011-10-20  Bruno Haible  <bruno@clisp.org>
11389
11390         openpty: Update comments.
11391         * lib/openpty.c: Add comments about Minix.
11392
11393 2011-10-19  Eric Blake  <eblake@redhat.com>
11394
11395         openpty: relax license
11396         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
11397
11398         pt_chown: use configmake to simplify build
11399         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
11400
11401         ptsname and others: relax license
11402         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
11403         * modules/unlockpt (License): Likewise.
11404         * modules/pt_chown (License): Likewise.
11405         * modules/ptsname (License): Likewise.
11406         * modules/ttyname_r (License): Likewise.
11407
11408 2011-10-19  Jim Meyering  <meyering@redhat.com>
11409
11410         posix_openpt: remove spurious #endif
11411         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
11412
11413 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
11414
11415         maint.mk: Respect $(build_aux) in web-manual rule.
11416         * top/maint.mk (web-manual): Find gen-announce script in user's
11417         $(build_aux) directory instead of hard-coding 'build-aux'.
11418
11419 2011-10-19  Bruno Haible  <bruno@clisp.org>
11420
11421         posix_openpt: Fix compilation error.
11422         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
11423         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
11424         Mention the openpty module as an alternative.
11425
11426 2011-10-19  Bruno Haible  <bruno@clisp.org>
11427
11428         Support for old NeXTstep 3.3 frexp().
11429         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
11430         execution time of the test to 5 seconds.
11431         Reported by Daniel Richard G. <skunk@iskunk.org>.
11432
11433 2011-10-19  Bruno Haible  <bruno@clisp.org>
11434
11435         Support for old NeXTstep 3.3 sed.
11436         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
11437         part, use /.../, not \|...|. Escape periods in the header file name.
11438         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
11439         Reported by Daniel Richard G. <skunk@iskunk.org>.
11440
11441 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11442
11443         Support for old NeXTstep 3.3 gcc.
11444         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
11445         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
11446         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
11447         * lib/spawn.in.h (_Restrict_arr_): Likewise.
11448         * lib/regex.h (_Restrict_arr_): Likewise.
11449         * lib/regex_internal.h (re_token_t): Likewise.
11450         * lib/regexec.c (check_node_accept_bytes): Likewise.
11451         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
11452
11453 2011-10-18  Eric Blake  <eblake@redhat.com>
11454
11455         posix_openpt: new module
11456         * modules/posix_openpt: New module.
11457         * m4/posix_openpt.m4: New file.
11458         * lib/posix_openpt.c: Likewise.
11459         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
11460         (gl_STDLIB_H_DEFAULTS): Set defaults.
11461         * modules/stdlib (Makefile.am): Substitute macros.
11462         * lib/stdlib.in.h (posix_openpt): Declare.
11463         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
11464         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
11465         * modules/posix_openpt-tests: New test module.
11466         * tests/test-posix_openpt.c: New test.
11467
11468 2011-10-15  Bruno Haible  <bruno@clisp.org>
11469
11470         xstrtoll: Fix compilation failure.
11471         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
11472         from lib/strtol.c.
11473         * doc/posix-headers/limits.texi: Mention missing numerical limits on
11474         some platforms.
11475         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11476
11477 2011-10-15  Bruno Haible  <bruno@clisp.org>
11478
11479         vasnprintf: Optimize bit search operation.
11480         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
11481         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
11482         gl_DOUBLE_EXPONENT_LOCATION.
11483         * modules/vasnprintf (Files): Add m4/exponentd.m4.
11484         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11485         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11486         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11487         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11488         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11489         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11490         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11491         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
11492
11493 2011-10-15  Bruno Haible  <bruno@clisp.org>
11494
11495         vasnprintf: Fix comments.
11496         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
11497
11498 2011-10-14  Bruno Haible  <bruno@clisp.org>
11499
11500         Tests for module 'integer_length_ll'.
11501         * modules/integer_length_ll-tests: New file.
11502         * tests/test-integer_length_ll.c: New file.
11503
11504         New module 'integer_length_ll'.
11505         * lib/integer_length_ll.c: New file.
11506         * modules/integer_length_ll: New file.
11507
11508 2011-10-14  Bruno Haible  <bruno@clisp.org>
11509
11510         Tests for module 'integer_length_l'.
11511         * modules/integer_length_l-tests: New file.
11512         * tests/test-integer_length_l.c: New file.
11513
11514         New module 'integer_length_l'.
11515         * lib/integer_length_l.c: New file.
11516         * modules/integer_length_l: New file.
11517
11518 2011-10-14  Bruno Haible  <bruno@clisp.org>
11519
11520         Tests for module 'integer_length'.
11521         * modules/integer_length-tests: New file.
11522         * tests/test-integer_length.c: New file.
11523
11524         New module 'integer_length'.
11525         * lib/integer_length.h: New file.
11526         * lib/integer_length.c: New file.
11527         * modules/integer_length: New file.
11528
11529 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11530
11531         popen: Fix dependency conditions.
11532         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
11533
11534 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11535
11536         perror: Fix autoconf test.
11537         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
11538         <stdlib.h> and <string.h>.
11539
11540 2011-10-14  Bruno Haible  <bruno@clisp.org>
11541
11542         ffsl: Optimize on 64-bit platforms.
11543         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
11544         unrolling.
11545
11546 2011-10-13  Bruno Haible  <bruno@clisp.org>
11547
11548         ffsl: Optimize on 32-bit platforms.
11549         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
11550         use ffs() without a loop.
11551
11552         ffsl, ffsll: Optimize for GCC.
11553         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
11554         * lib/ffsl.c (GCC_BUILTIN): New macro.
11555         * lib/ffsll.c (GCC_BUILTIN): Likewise.
11556
11557 2011-10-13  Bruno Haible  <bruno@clisp.org>
11558
11559         ffs, bcopy, memset: Support symbol renaming via config.h.
11560         * lib/ffs.c: Include <config.h>.
11561         * lib/bcopy.c: Likewise.
11562         * lib/memset.c: Likewise.
11563
11564 2011-10-10  Bruno Haible  <bruno@clisp.org>
11565
11566         atanl: Simplify for platforms where 'long double' == 'double'.
11567         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11568         alternative implementation.
11569         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11570         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11571         * modules/atanl (Depends-on): Add atan. Update conditions.
11572
11573 2011-10-10  Bruno Haible  <bruno@clisp.org>
11574
11575         acosl: Simplify for platforms where 'long double' == 'double'.
11576         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11577         alternative implementation.
11578         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11579         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11580         * modules/acosl (Depends-on): Add acos. Update conditions.
11581
11582 2011-10-10  Bruno Haible  <bruno@clisp.org>
11583
11584         asinl: Simplify for platforms where 'long double' == 'double'.
11585         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11586         alternative implementation.
11587         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11588         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11589         * modules/asinl (Depends-on): Add asin. Update conditions.
11590
11591 2011-10-10  Bruno Haible  <bruno@clisp.org>
11592
11593         tanl: Simplify for platforms where 'long double' == 'double'.
11594         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11595         implementation.
11596         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11597         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11598         * modules/tanl (Depends-on): Add tan. Update conditions.
11599         (configure.ac): Don't compile trigl.c if
11600         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11601
11602 2011-10-10  Bruno Haible  <bruno@clisp.org>
11603
11604         cosl: Simplify for platforms where 'long double' == 'double'.
11605         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11606         implementation.
11607         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11608         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11609         * modules/cosl (Depends-on): Add cos. Update conditions.
11610         (configure.ac): Don't compile sincosl.c and trigl.c if
11611         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11612
11613 2011-10-10  Bruno Haible  <bruno@clisp.org>
11614
11615         sinl: Simplify for platforms where 'long double' == 'double'.
11616         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11617         implementation.
11618         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11619         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11620         * modules/sinl (Depends-on): Add sin. Update conditions.
11621         (configure.ac): Don't compile sincosl.c and trigl.c if
11622         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11623
11624 2011-10-10  Bruno Haible  <bruno@clisp.org>
11625
11626         logl: Simplify for platforms where 'long double' == 'double'.
11627         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11628         implementation.
11629         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11630         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11631         * modules/logl (Depends-on): Add log. Update conditions.
11632
11633 2011-10-10  Bruno Haible  <bruno@clisp.org>
11634
11635         expl: Simplify for platforms where 'long double' == 'double'.
11636         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11637         implementation.
11638         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11639         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11640         * modules/expl (Depends-on): Add exp. Update conditions.
11641
11642 2011-10-10  Bruno Haible  <bruno@clisp.org>
11643
11644         sqrtl: Simplify for platforms where 'long double' == 'double'.
11645         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11646         alternative implementation.
11647         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11648         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11649         * modules/sqrtl (Depends-on): Update conditions.
11650
11651 2011-10-10  Bruno Haible  <bruno@clisp.org>
11652
11653         ldexpl: Simplify for platforms where 'long double' == 'double'.
11654         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11655         alternative implementation.
11656         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11657         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11658         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
11659
11660 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
11661
11662         ffsll: set correct witness
11663         * modules/ffsll (configure.ac): Fix typo.
11664
11665 2011-10-10  Bruno Haible  <bruno@clisp.org>
11666
11667         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
11668         * lib/printf-frexpl.c: Include <config.h>.
11669         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11670         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
11671         second time.
11672         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
11673         gl_LONG_DOUBLE_VS_DOUBLE.
11674         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
11675         conditions.
11676
11677 2011-10-10  Bruno Haible  <bruno@clisp.org>
11678
11679         frexpl: Simplify for platforms where 'long double' == 'double'.
11680         * lib/frexpl.c: Include <config.h>.
11681         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11682         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11683         time.
11684         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11685         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11686         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
11687         * modules/frexpl (Depends-on): Add frexp. Update conditions.
11688         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
11689         conditions.
11690
11691 2011-10-10  Jim Meyering  <meyering@redhat.com>
11692
11693         test-renameat: don't leave behind a temporary file
11694         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
11695           ERROR: files left in build directory after distclean:
11696           ./gltests/test-renameat.too
11697           make[1]: *** [distcleancheck] Error 1
11698         Reported by Tom G. Christensen.
11699
11700 2011-10-09  Bruno Haible  <bruno@clisp.org>
11701
11702         rint: Determine RINT_LIBM correctly on AIX 7.
11703         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
11704         directly, not only through a function pointer. Also accept an optional
11705         4th argument with extra code.
11706         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
11707         rintf() call by gcc when optimizing.
11708
11709         mathfunc.m4: Refactor.
11710         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
11711         m4 variable.
11712
11713 2011-10-09  Bruno Haible  <bruno@clisp.org>
11714
11715         rintl: Simplify for platforms where 'long double' == 'double'.
11716         * lib/rintl.c: Include <config.h>.
11717         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11718         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11719         time.
11720         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11721         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11722         * modules/rintl (Depends-on): Add rint. Update conditions.
11723
11724 2011-10-09  Bruno Haible  <bruno@clisp.org>
11725
11726         roundl: Simplify for platforms where 'long double' == 'double'.
11727         * lib/roundl.c: Include <config.h>.
11728         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11729         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11730         time.
11731         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11732         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11733         * modules/roundl (Depends-on): Add round. Update conditions.
11734
11735 2011-10-09  Bruno Haible  <bruno@clisp.org>
11736
11737         truncl: Simplify for platforms where 'long double' == 'double'.
11738         * lib/truncl.c: Include <config.h>.
11739         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11740         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11741         time.
11742         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11743         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11744         * modules/truncl (Depends-on): Add trunc. Update conditions.
11745
11746 2011-10-09  Bruno Haible  <bruno@clisp.org>
11747
11748         ceill: Simplify for platforms where 'long double' == 'double'.
11749         * lib/ceill.c: Include <config.h>.
11750         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11751         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11752         time.
11753         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11754         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11755         * modules/ceill (Depends-on): Add ceil. Update conditions.
11756
11757 2011-10-09  Bruno Haible  <bruno@clisp.org>
11758
11759         floorl: Simplify for platforms where 'long double' == 'double'.
11760         * lib/floorl.c: Include <config.h>.
11761         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11762         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11763         time.
11764         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11765         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11766         * modules/floorl (Depends-on): Add floor. Update conditions.
11767
11768 2011-10-09  Bruno Haible  <bruno@clisp.org>
11769
11770         rint: Fix ordering constraints.
11771         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
11772         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
11773         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
11774
11775 2011-10-09  Bruno Haible  <bruno@clisp.org>
11776
11777         copysignl: Simplify for platforms where 'long double' == 'double'.
11778         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11779         alternative.
11780         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11781         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11782         * modules/copysignl (Depends-on): Add copysign. Update conditions.
11783
11784 2011-10-09  Bruno Haible  <bruno@clisp.org>
11785
11786         Tests for module 'rintl'.
11787         * modules/rintl-tests: New file.
11788         * tests/test-rintl.c: New file.
11789
11790         New module 'rintl'.
11791         * lib/math.in.h (rintl): New declaration.
11792         * lib/rintl.c: New file.
11793         * m4/rintl.m4: New file.
11794         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
11795         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
11796         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
11797         * modules/rintl: New file.
11798         * tests/test-math-c++.cc: Check the declaration of rintl.
11799         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11800         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
11801         * doc/posix-functions/rintl.texi: Mention the new module.
11802
11803 2011-10-09  Bruno Haible  <bruno@clisp.org>
11804
11805         Tests for module 'rintf'.
11806         * modules/rintf-tests: New file.
11807         * tests/test-rintf.c: New file.
11808
11809         New module 'rintf'.
11810         * lib/math.in.h (rintf): New declaration.
11811         * lib/rintf.c: New file.
11812         * m4/rintf.m4: New file.
11813         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
11814         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
11815         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
11816         * modules/rintf: New file.
11817         * tests/test-math-c++.cc: Check the declaration of rintf.
11818         * doc/posix-functions/rintf.texi: Mention the new module.
11819
11820 2011-10-09  Bruno Haible  <bruno@clisp.org>
11821
11822         rint: Support for MSVC.
11823         * lib/math.in.h (rint): New declaration.
11824         * lib/rint.c: New file.
11825         * m4/rint.m4: New file.
11826         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
11827         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
11828         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
11829         * modules/rint (Description): Fix.
11830         (Files): Add lib/rint.c, m4/rint.m4.
11831         (Depends-on): Add math.
11832         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
11833         gl_MATH_MODULE_INDICATOR.
11834         * tests/test-math-c++.cc: Check the declaration of rint.
11835         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11836         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
11837         * doc/posix-functions/rint.texi: Mention the replacement provided by
11838         the module.
11839
11840         rint tests: More tests.
11841         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
11842         minus-zero.h, infinity.h, nan.h.
11843         (main): Skip the test if the current rounding mode is not standard. Add
11844         tests for negative numbers, minus zero, infinity, NaN.
11845         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
11846         tests/nan.h.
11847         (Depends-on): Add isnand-nolibm.
11848
11849 2011-10-09  Bruno Haible  <bruno@clisp.org>
11850
11851         Tests for module 'copysignl'.
11852         * modules/copysignl-tests: New file.
11853         * tests/test-copysignl.c: New file.
11854
11855         New module 'copysignl'.
11856         * lib/math.in.h (copysignl): New declaration.
11857         * lib/copysignl.c: New file.
11858         * m4/copysignl.m4: New file.
11859         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
11860         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
11861         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
11862         HAVE_COPYSIGNL.
11863         * modules/copysignl: New file.
11864         * tests/test-math-c++.cc: Check the declaration of copysignl.
11865         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11866         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
11867         * doc/posix-functions/copysignl.texi: Mention the new module.
11868
11869 2011-10-09  Bruno Haible  <bruno@clisp.org>
11870
11871         Tests for module 'copysignf'.
11872         * modules/copysignf-tests: New file.
11873         * tests/test-copysignf.c: New file.
11874
11875         New module 'copysignf'.
11876         * lib/math.in.h (copysignf): New declaration.
11877         * lib/copysignf.c: New file.
11878         * m4/copysignf.m4: New file.
11879         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
11880         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
11881         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
11882         HAVE_COPYSIGNF.
11883         * modules/copysignf: New file.
11884         * tests/test-math-c++.cc: Check the declaration of copysignf.
11885         * doc/posix-functions/copysignf.texi: Mention the new module.
11886
11887 2011-10-09  Bruno Haible  <bruno@clisp.org>
11888
11889         Ensure that HAVE_* variables are set to 1 before they are set to 0.
11890         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
11891         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
11892         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11893         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
11894         gl_SIGNAL_H_DEFAULTS.
11895
11896 2011-10-09  Bruno Haible  <bruno@clisp.org>
11897
11898         poll: Make macro safer.
11899         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
11900         ac_cv_header_poll_h is not set.
11901
11902 2011-10-09  Bruno Haible  <bruno@clisp.org>
11903
11904         copysign: Provide replacement.
11905         * lib/math.in.h (copysign): New declaration.
11906         * lib/copysign.c: New file.
11907         * m4/copysign.m4: New file.
11908         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
11909         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
11910         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
11911         HAVE_COPYSIGN.
11912         * modules/copysign (Description): Clarify.
11913         (Files): Add lib/copysign.c, m4/copysign.m4.
11914         (Depends-on): Add math, signbit.
11915         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
11916         gl_MATH_MODULE_INDICATOR.
11917         * tests/test-math-c++.cc: Check the declaration of copysign.
11918         * doc/posix-functions/copysign.texi: Mention the effects of the module
11919         on Minix and MSVC.
11920
11921 2011-10-09  Bruno Haible  <bruno@clisp.org>
11922
11923         isinf: Ensure macro on AIX 5.1.
11924         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
11925         macro.
11926         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
11927
11928 2011-10-09  Bruno Haible  <bruno@clisp.org>
11929
11930         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
11931         * modules/snprintf-posix-tests (configure.ac): Require
11932         gl_LONG_DOUBLE_VS_DOUBLE.
11933         * modules/sprintf-posix-tests (configure.ac): Likewise.
11934         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
11935         * modules/vasprintf-posix-tests (configure.ac): Likewise.
11936         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
11937         * modules/vsprintf-posix-tests (configure.ac): Likewise.
11938         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
11939         tests on platforms where 'long double' is the same as 'double'.
11940         * tests/test-sprintf-posix.h (test_function): Likewise.
11941         * tests/test-vasnprintf-posix.c (test_function): Likewise.
11942         * tests/test-vasprintf-posix.c (test_function): Likewise.
11943
11944         *printf: Fix for platforms where 'long double' == 'double'.
11945         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
11946         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
11947         * modules/dprintf-posix (Files): Add m4/math_h.m4.
11948         * modules/fprintf-posix (Files): Likewise.
11949         * modules/obstack-printf-posix (Files): Likewise.
11950         * modules/snprintf-posix (Files): Likewise.
11951         * modules/sprintf-posix (Files): Likewise.
11952         * modules/vasnprintf (Files): Likewise.
11953         * modules/vasnprintf-posix (Files): Likewise.
11954         * modules/vasprintf-posix (Files): Likewise.
11955         * modules/vdprintf-posix (Files): Likewise.
11956         * modules/vfprintf-posix (Files): Likewise.
11957         * modules/vsnprintf-posix (Files): Likewise.
11958         * modules/vsprintf-posix (Files): Likewise.
11959         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11960         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11961         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11962         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11963         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11964         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11965         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11966
11967         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
11968         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
11969         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11970         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
11971         'long double'.
11972         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
11973
11974         isinf: Fix for platforms where 'long double' == 'double'.
11975         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11976         Don't blindly assume 80-bit 'long double'.
11977
11978         isfinite: Fix for platforms where 'long double' == 'double'.
11979         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11980         Don't blindly assume 80-bit 'long double'.
11981
11982         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
11983         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
11984         * modules/isfinite-tests (configure.ac): Require
11985         gl_LONG_DOUBLE_VS_DOUBLE.
11986         * modules/isinf-tests (configure.ac): Likewise.
11987         * modules/isnan-tests (configure.ac): Likewise.
11988         * modules/isnanl-tests (configure.ac): Likewise.
11989         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
11990         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
11991         tests on platforms where 'long double' is the same as 'double'.
11992         * tests/test-isinf.c (test_isinfl): Likewise.
11993         * tests/test-isnan.c (test_long_double): Likewise.
11994         * tests/test-isnanl.h (main): Likewise.
11995
11996 2011-10-08  Bruno Haible  <bruno@clisp.org>
11997
11998         Tests for module 'tanhf'.
11999         * modules/tanhf-tests: New file.
12000         * tests/test-tanhf.c: New file.
12001
12002         New module 'tanhf'.
12003         * lib/math.in.h (tanhf): New declaration.
12004         * lib/tanhf.c: New file.
12005         * m4/tanhf.m4: New file.
12006         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
12007         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
12008         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
12009         * modules/tanhf: New file.
12010         * tests/test-math-c++.cc: Check the declaration of tanhf.
12011         * doc/posix-functions/tanhf.texi: Mention the new module.
12012
12013         tanh: Use a .m4 file.
12014         * m4/tanh.m4: New file.
12015         * modules/tanh (Files): Add it.
12016         (configure.ac): Just invoke gl_FUNC_TANH.
12017
12018 2011-10-08  Bruno Haible  <bruno@clisp.org>
12019
12020         Tests for module 'coshf'.
12021         * modules/coshf-tests: New file.
12022         * tests/test-coshf.c: New file.
12023
12024         New module 'coshf'.
12025         * lib/math.in.h (coshf): New declaration.
12026         * lib/coshf.c: New file.
12027         * m4/coshf.m4: New file.
12028         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
12029         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
12030         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
12031         * modules/coshf: New file.
12032         * tests/test-math-c++.cc: Check the declaration of coshf.
12033         * doc/posix-functions/coshf.texi: Mention the new module.
12034
12035         cosh: Use a .m4 file.
12036         * m4/cosh.m4: New file.
12037         * modules/cosh (Files): Add it.
12038         (configure.ac): Just invoke gl_FUNC_COSH.
12039
12040 2011-10-08  Bruno Haible  <bruno@clisp.org>
12041
12042         Tests for module 'sinhf'.
12043         * modules/sinhf-tests: New file.
12044         * tests/test-sinhf.c: New file.
12045
12046         New module 'sinhf'.
12047         * lib/math.in.h (sinhf): New declaration.
12048         * lib/sinhf.c: New file.
12049         * m4/sinhf.m4: New file.
12050         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
12051         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
12052         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
12053         * modules/sinhf: New file.
12054         * tests/test-math-c++.cc: Check the declaration of sinhf.
12055         * doc/posix-functions/sinhf.texi: Mention the new module.
12056
12057         sinh: Use a .m4 file.
12058         * m4/sinh.m4: New file.
12059         * modules/sinh (Files): Add it.
12060         (configure.ac): Just invoke gl_FUNC_SINH.
12061
12062 2011-10-08  Bruno Haible  <bruno@clisp.org>
12063
12064         Tests for module 'atan2f'.
12065         * modules/atan2f-tests: New file.
12066         * tests/test-atan2f.c: New file.
12067
12068         New module 'atan2f'.
12069         * lib/math.in.h (atan2f): New declaration.
12070         * lib/atan2f.c: New file.
12071         * m4/atan2f.m4: New file.
12072         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
12073         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
12074         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
12075         * modules/atan2f: New file.
12076         * tests/test-math-c++.cc: Check the declaration of atan2f.
12077         * doc/posix-functions/atan2f.texi: Mention the new module.
12078
12079         atan2: Use a .m4 file.
12080         * m4/atan2.m4: New file.
12081         * modules/atan2 (Files): Add it.
12082         (configure.ac): Just invoke gl_FUNC_ATAN2.
12083
12084 2011-10-08  Bruno Haible  <bruno@clisp.org>
12085
12086         Tests for module 'atanf'.
12087         * modules/atanf-tests: New file.
12088         * tests/test-atanf.c: New file.
12089
12090         New module 'atanf'.
12091         * lib/math.in.h (atanf): New declaration.
12092         * lib/atanf.c: New file.
12093         * m4/atanf.m4: New file.
12094         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
12095         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
12096         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
12097         * modules/atanf: New file.
12098         * tests/test-math-c++.cc: Check the declaration of atanf.
12099         * doc/posix-functions/atanf.texi: Mention the new module.
12100
12101         atan: Use a .m4 file.
12102         * m4/atan.m4: New file.
12103         * modules/atan (Files): Add it.
12104         (configure.ac): Just invoke gl_FUNC_ATAN.
12105
12106 2011-10-08  Bruno Haible  <bruno@clisp.org>
12107
12108         Tests for module 'acosf'.
12109         * modules/acosf-tests: New file.
12110         * tests/test-acosf.c: New file.
12111
12112         New module 'acosf'.
12113         * lib/math.in.h (acosf): New declaration.
12114         * lib/acosf.c: New file.
12115         * m4/acosf.m4: New file.
12116         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
12117         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
12118         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
12119         * modules/acosf: New file.
12120         * tests/test-math-c++.cc: Check the declaration of acosf.
12121         * doc/posix-functions/acosf.texi: Mention the new module.
12122
12123         acos: Use a .m4 file.
12124         * m4/acos.m4: New file.
12125         * modules/acos (Files): Add it.
12126         (configure.ac): Just invoke gl_FUNC_ACOS.
12127
12128 2011-10-08  Bruno Haible  <bruno@clisp.org>
12129
12130         Tests for module 'asinf'.
12131         * modules/asinf-tests: New file.
12132         * tests/test-asinf.c: New file.
12133
12134         New module 'asinf'.
12135         * lib/math.in.h (asinf): New declaration.
12136         * lib/asinf.c: New file.
12137         * m4/asinf.m4: New file.
12138         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
12139         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
12140         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
12141         * modules/asinf: New file.
12142         * tests/test-math-c++.cc: Check the declaration of asinf.
12143         * doc/posix-functions/asinf.texi: Mention the new module.
12144
12145         asin: Use a .m4 file.
12146         * m4/asin.m4: New file.
12147         * modules/asin (Files): Add it.
12148         (configure.ac): Just invoke gl_FUNC_ASIN.
12149
12150 2011-10-08  Bruno Haible  <bruno@clisp.org>
12151
12152         Tests for module 'tanf'.
12153         * modules/tanf-tests: New file.
12154         * tests/test-tanf.c: New file.
12155
12156         New module 'tanf'.
12157         * lib/math.in.h (tanf): New declaration.
12158         * lib/tanf.c: New file.
12159         * m4/tanf.m4: New file.
12160         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
12161         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
12162         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
12163         * modules/tanf: New file.
12164         * tests/test-math-c++.cc: Check the declaration of tanf.
12165         * doc/posix-functions/tanf.texi: Mention the new module.
12166
12167         tan: Use a .m4 file.
12168         * m4/tan.m4: New file.
12169         * modules/tan (Files): Add it.
12170         (configure.ac): Just invoke gl_FUNC_TAN.
12171
12172 2011-10-08  Bruno Haible  <bruno@clisp.org>
12173
12174         Tests for module 'cosf'.
12175         * modules/cosf-tests: New file.
12176         * tests/test-cosf.c: New file.
12177
12178         New module 'cosf'.
12179         * lib/math.in.h (cosf): New declaration.
12180         * lib/cosf.c: New file.
12181         * m4/cosf.m4: New file.
12182         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
12183         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
12184         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
12185         * modules/cosf: New file.
12186         * tests/test-math-c++.cc: Check the declaration of cosf.
12187         * doc/posix-functions/cosf.texi: Mention the new module.
12188
12189         cos: Use a .m4 file.
12190         * m4/cos.m4: New file.
12191         * modules/cos (Files): Add it.
12192         (configure.ac): Just invoke gl_FUNC_COS.
12193
12194 2011-10-08  Bruno Haible  <bruno@clisp.org>
12195
12196         Tests for module 'sinf'.
12197         * modules/sinf-tests: New file.
12198         * tests/test-sinf.c: New file.
12199
12200         New module 'sinf'.
12201         * lib/math.in.h (sinf): New declaration.
12202         * lib/sinf.c: New file.
12203         * m4/sinf.m4: New file.
12204         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
12205         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
12206         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
12207         * modules/sinf: New file.
12208         * tests/test-math-c++.cc: Check the declaration of sinf.
12209         * doc/posix-functions/sinf.texi: Mention the new module.
12210
12211         sin: Use a .m4 file.
12212         * m4/sin.m4: New file.
12213         * modules/sin (Files): Add it.
12214         (configure.ac): Just invoke gl_FUNC_SIN.
12215
12216 2011-10-08  Bruno Haible  <bruno@clisp.org>
12217
12218         Tests for module 'powf'.
12219         * modules/powf-tests: New file.
12220         * tests/test-powf.c: New file.
12221
12222         New module 'powf'.
12223         * lib/math.in.h (powf): New declaration.
12224         * lib/powf.c: New file.
12225         * m4/powf.m4: New file.
12226         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
12227         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
12228         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
12229         * modules/powf: New file.
12230         * tests/test-math-c++.cc: Check the declaration of powf.
12231         * doc/posix-functions/powf.texi: Mention the new module.
12232
12233         pow: Use a .m4 file.
12234         * m4/pow.m4: New file.
12235         * modules/pow (Files): Add it.
12236         (configure.ac): Just invoke gl_FUNC_POW.
12237
12238 2011-10-08  Bruno Haible  <bruno@clisp.org>
12239
12240         Tests for module 'log10f'.
12241         * modules/log10f-tests: New file.
12242         * tests/test-log10f.c: New file.
12243
12244         New module 'log10f'.
12245         * lib/math.in.h (log10f): New declaration.
12246         * lib/log10f.c: New file.
12247         * m4/log10f.m4: New file.
12248         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
12249         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
12250         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
12251         * modules/log10f: New file.
12252         * tests/test-math-c++.cc: Check the declaration of log10f.
12253         * doc/posix-functions/log10f.texi: Mention the new module.
12254
12255         log10: Use a .m4 file.
12256         * m4/log10.m4: New file.
12257         * modules/log10 (Files): Add it.
12258         (configure.ac): Just invoke gl_FUNC_LOG10.
12259
12260 2011-10-08  Bruno Haible  <bruno@clisp.org>
12261
12262         Tests for module 'logf'.
12263         * modules/logf-tests: New file.
12264         * tests/test-logf.c: New file.
12265
12266         New module 'logf'.
12267         * lib/math.in.h (logf): New declaration.
12268         * lib/logf.c: New file.
12269         * m4/logf.m4: New file.
12270         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
12271         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
12272         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
12273         * modules/logf: New file.
12274         * tests/test-math-c++.cc: Check the declaration of logf.
12275         * doc/posix-functions/logf.texi: Mention the new module.
12276
12277         log: Use a .m4 file.
12278         * m4/log.m4: New file.
12279         * modules/log (Files): Add it.
12280         (configure.ac): Just invoke gl_FUNC_LOG.
12281
12282 2011-10-08  Bruno Haible  <bruno@clisp.org>
12283
12284         Tests for module 'expf'.
12285         * modules/expf-tests: New file.
12286         * tests/test-expf.c: New file.
12287
12288         New module 'expf'.
12289         * lib/math.in.h (expf): New declaration.
12290         * lib/expf.c: New file.
12291         * m4/expf.m4: New file.
12292         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
12293         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
12294         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
12295         * modules/expf: New file.
12296         * tests/test-math-c++.cc: Check the declaration of expf.
12297         * doc/posix-functions/expf.texi: Mention the new module.
12298
12299         exp: Use a .m4 file.
12300         * m4/exp.m4: New file.
12301         * modules/exp (Files): Add it.
12302         (configure.ac): Just invoke gl_FUNC_EXP.
12303
12304 2011-10-08  Bruno Haible  <bruno@clisp.org>
12305
12306         Tests for module 'sqrtf'.
12307         * modules/sqrtf-tests: New file.
12308         * tests/test-sqrtf.c: New file.
12309
12310         New module 'sqrtf'.
12311         * lib/math.in.h (sqrtf): New declaration.
12312         * lib/sqrtf.c: New file.
12313         * m4/sqrtf.m4: New file.
12314         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
12315         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
12316         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
12317         * modules/sqrtf: New file.
12318         * tests/test-math-c++.cc: Check the declaration of sqrtf.
12319         * doc/posix-functions/sqrtf.texi: Mention the new module.
12320
12321 2011-10-08  Bruno Haible  <bruno@clisp.org>
12322
12323         Tests: Avoid link failures w.r.t. libintl.
12324         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
12325         $(LIBINTL).
12326         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
12327         $(LIBINTL).
12328         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
12329         against $(LIBINTL).
12330         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
12331         $(LIBINTL).
12332         * modules/openat-tests (Makefile.am): Link test-fchmodat against
12333         $(LIBINTL).
12334         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
12335
12336 2011-10-08  Bruno Haible  <bruno@clisp.org>
12337
12338         pow tests: Defeat compiler optimizations.
12339         * tests/test-pow.c (main): Assign arguments to x and y before use.
12340
12341 2011-10-08  Bruno Haible  <bruno@clisp.org>
12342
12343         gnulib-tool: Improve last commit.
12344         * gnulib-tool (func_modules_transitive_closure): Simplify code.
12345         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
12346         ignore dependencies that are not among the modules list.
12347
12348 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
12349
12350         gnulib-tool: don't follow dependencies to avoided modules
12351         This fixes a bug that is related to the previous one.
12352         * gnulib-tool (func_modules_transitive_closure)
12353         (func_emit_autoconf_snippets):
12354         Check whether a dependency is acceptable before using it.
12355         (--extract-dependencies): Report an error if --avoid is also used,
12356         since this combination of options is not yet supported.
12357
12358         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
12359         Problem reported by Peter Dyballa in
12360         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
12361         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
12362         when echoing "$condition".
12363
12364 2011-10-07  Bruno Haible  <bruno@clisp.org>
12365
12366         Fix documentation about math functions on MacOS X.
12367         * doc/posix-functions/exp2.texi: Don't say the function is missing on
12368         MacOS X 10.5.
12369         * doc/posix-functions/fdim.texi: Likewise.
12370         * doc/posix-functions/feclearexcept.texi: Likewise.
12371         * doc/posix-functions/fegetenv.texi: Likewise.
12372         * doc/posix-functions/fegetround.texi: Likewise.
12373         * doc/posix-functions/feholdexcept.texi: Likewise.
12374         * doc/posix-functions/feraiseexcept.texi: Likewise.
12375         * doc/posix-functions/fesetenv.texi: Likewise.
12376         * doc/posix-functions/fesetround.texi: Likewise.
12377         * doc/posix-functions/fetestexcept.texi: Likewise.
12378         * doc/posix-functions/feupdateenv.texi: Likewise.
12379         * doc/posix-functions/fmax.texi: Likewise.
12380         * doc/posix-functions/fmin.texi: Likewise.
12381         * doc/posix-functions/log2.texi: Likewise.
12382         * doc/posix-functions/modff.texi: Likewise.
12383         * doc/posix-functions/nan.texi: Likewise.
12384         * doc/posix-functions/nanf.texi: Likewise.
12385         * doc/posix-functions/nextafterf.texi: Likewise.
12386         * doc/posix-functions/remquo.texi: Likewise.
12387
12388 2011-10-07  Bruno Haible  <bruno@clisp.org>
12389
12390         modff: Drop assumption about library that defines modff.
12391         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
12392         AC_CHECK_FUNCS.
12393         * modules/modff (Files): Add m4/mathfunc.m4.
12394
12395 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
12396
12397         raise tests: Avoid a GCC warning.
12398         * tests/test-raise.c (handler): Use _Noreturn.
12399
12400 2011-10-07  Bruno Haible  <bruno@clisp.org>
12401
12402         Tests for module 'ldexpf'.
12403         * modules/ldexpf-tests: New file.
12404         * tests/test-ldexpf.c: New file.
12405
12406         New module 'ldexpf'.
12407         * lib/math.in.h (ldexpf): New declaration.
12408         * lib/ldexpf.c: New file.
12409         * m4/ldexpf.m4: New file.
12410         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
12411         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
12412         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
12413         * modules/ldexpf: New file.
12414         * tests/test-math-c++.cc: Check the declaration of ldexpf.
12415         * doc/posix-functions/ldexpf.texi: Mention the new module.
12416
12417 2011-10-06  Bruno Haible  <bruno@clisp.org>
12418
12419         frexpf: Work around problems on IRIX and mingw.
12420         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
12421         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
12422         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
12423         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
12424         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
12425         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
12426         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
12427
12428 2011-10-06  Bruno Haible  <bruno@clisp.org>
12429
12430         fabsf: Drop assumption about library that defines fabsf.
12431         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
12432         AC_CHECK_FUNCS.
12433         * modules/fabsf (Files): Add m4/mathfunc.m4.
12434
12435 2011-10-06  Bruno Haible  <bruno@clisp.org>
12436
12437         frexpf: Drop assumption about library that defines frexpf.
12438         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
12439         'int *', 'float *', 'long double *', 'float', 'long double'.
12440         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
12441         AC_CHECK_FUNCS.
12442         * modules/frexpf (Files): Add m4/mathfunc.m4.
12443
12444         Tests for module 'frexpf'.
12445         * modules/frexpf-tests: New file.
12446         * tests/test-frexpf.c: New file.
12447
12448         New module 'frexpf'.
12449         * lib/math.in.h (frexpf): New declaration.
12450         * lib/frexpf.c: New file.
12451         * m4/frexpf.m4: New file.
12452         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
12453         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
12454         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
12455         * modules/frexpf: New file.
12456         * tests/test-math-c++.cc: Check the declaration of frexpf.
12457         * doc/posix-functions/frexpf.texi: Mention the new module.
12458
12459 2011-10-06  Bruno Haible  <bruno@clisp.org>
12460
12461         math: Sort function declarations of math.in.h.
12462         * lib/math.in.h (frexp, logb): Move declarations.
12463
12464 2011-10-05  Bruno Haible  <bruno@clisp.org>
12465
12466         Tests for module 'modff'.
12467         * modules/modff-tests: New file.
12468         * tests/test-modff.c: New file.
12469
12470         New module 'modff'.
12471         * lib/math.in.h (modff): New declaration.
12472         * lib/modff.c: New file.
12473         * m4/modff.m4: New file.
12474         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
12475         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
12476         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
12477         * modules/modff: New file.
12478         * tests/test-math-c++.cc: Check the declaration of modff.
12479         * doc/posix-functions/modff.texi: Mention the new module.
12480
12481         modf tests: Make test sharper.
12482         * tests/test-modf.c (main): Strengthen upper bound.
12483
12484         modf: Use a .m4 file.
12485         * m4/modf.m4: New file.
12486         * modules/modf (Files): Add it.
12487         (configure.ac): Just invoke gl_FUNC_MODF.
12488
12489 2011-10-05  Bruno Haible  <bruno@clisp.org>
12490
12491         Tests for module 'fmodf'.
12492         * modules/fmodf-tests: New file.
12493         * tests/test-fmodf.c: New file.
12494
12495         New module 'fmodf'.
12496         * lib/math.in.h (fmodf): New declaration.
12497         * lib/fmodf.c: New file.
12498         * m4/fmodf.m4: New file.
12499         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
12500         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
12501         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
12502         * modules/fmodf: New file.
12503         * tests/test-math-c++.cc: Check the declaration of fmodf.
12504         * doc/posix-functions/fmodf.texi: Mention the new module.
12505
12506         fmod: Use a .m4 file.
12507         * m4/fmod.m4: New file.
12508         * modules/fmod (Files): Add it.
12509         (configure.ac): Just invoke gl_FUNC_FMOD.
12510
12511 2011-10-05  Bruno Haible  <bruno@clisp.org>
12512
12513         Tests for module 'fabsf'.
12514         * modules/fabsf-tests: New file.
12515         * tests/test-fabsf.c: New file.
12516
12517         New module 'fabsf'.
12518         * lib/math.in.h (fabsf): New declaration.
12519         * lib/fabsf.c: New file.
12520         * m4/fabsf.m4: New file.
12521         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
12522         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
12523         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
12524         * modules/fabsf: New file.
12525         * tests/test-math-c++.cc: Check the declaration of fabsf.
12526         * doc/posix-functions/fabsf.texi: Mention the new module.
12527
12528         fabs: Use a .m4 file.
12529         * m4/fabs.m4: New file.
12530         * modules/fabs (Files): Add it.
12531         (configure.ac): Just invoke gl_FUNC_FABS.
12532
12533 2011-10-05  Jim Meyering  <meyering@redhat.com>
12534
12535         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
12536         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
12537         ls -lL regression introduced in coreutils-8.12, it does so at the
12538         cost of an additional stat call in the common case.  Besides, now
12539         that the kernel change that prompted commit 95f7c57f has been reverted
12540         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
12541         we have no use for commit 95f7c57f, "file-has-acl: use
12542         acl_extended_file_nofollow if available".
12543
12544 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
12545
12546         file-has-acl: revert unintended change in behavior of ls -L
12547         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
12548         derived from...
12549         (file_has_acl): ...code here.  Call it.
12550         This problem was introduced with 2011-07-22 commit 95f7c57f,
12551         "file-has-acl: use acl_extended_file_nofollow if available".
12552         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
12553
12554 2011-10-03  Bruno Haible  <bruno@clisp.org>
12555
12556         poll: Avoid link errors on MSVC.
12557         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
12558         * modules/poll (Depends-on): Add sockets.
12559         (Link): New section.
12560         * NEWS: Mention the change.
12561         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
12562         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
12563         $(LIB_POLL) instead of $(LIBSOCKET).
12564
12565 2011-10-03  Bruno Haible  <bruno@clisp.org>
12566
12567         sys_select tests: Fix link error on MSVC 9.
12568         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
12569         with $(LIB_SELECT) instead of $(LIBSOCKET).
12570
12571 2011-10-03  Bruno Haible  <bruno@clisp.org>
12572
12573         sys_select: Fix compilation error on mingw.
12574         * lib/sys_select.in.h: On native Windows, include <io.h>.
12575
12576 2011-10-03  Bruno Haible  <bruno@clisp.org>
12577
12578         wmemset: Support for MSVC.
12579         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
12580         whether wmemset() exists.
12581
12582 2011-10-03  Bruno Haible  <bruno@clisp.org>
12583
12584         wmemmove: Support for MSVC.
12585         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
12586         whether wmemmove() exists.
12587
12588 2011-10-03  Bruno Haible  <bruno@clisp.org>
12589
12590         wmemcpy: Support for MSVC.
12591         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
12592         whether wmemcpy() exists.
12593
12594 2011-10-03  Bruno Haible  <bruno@clisp.org>
12595
12596         wmemcmp: Support for MSVC.
12597         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
12598         whether wmemcmp() exists.
12599
12600 2011-10-03  Bruno Haible  <bruno@clisp.org>
12601
12602         wmemchr: Support for MSVC.
12603         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
12604         whether wmemchr() exists.
12605
12606 2011-10-03  Bruno Haible  <bruno@clisp.org>
12607
12608         glthread/*, strsignal: Support for MSVC.
12609         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
12610         including <winsock.h> on MSVC 9.
12611         * lib/glthread/lock.h: Likewise.
12612         * lib/glthread/thread.h: Likewise.
12613         * lib/glthread/tls.h: Likewise.
12614         * lib/glthread/yield.h: Likewise.
12615         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
12616         if HAVE_UNISTD_H is false.
12617         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
12618
12619 2011-10-03  Bruno Haible  <bruno@clisp.org>
12620
12621         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
12622         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
12623         Set to 100000.
12624
12625 2011-10-03  Bruno Haible  <bruno@clisp.org>
12626
12627         acl: Fix specification.
12628         * lib/file-has-acl.c (file_has_acl): Fix specification.
12629
12630 2011-10-03  Bruno Haible  <bruno@clisp.org>
12631
12632         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
12633         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
12634         (compute_curr_prefix, shared_library_fullname,
12635         find_shared_library_fullname, get_shared_library_fullname, relocate):
12636         Use it together with PIC && INSTALLDIR.
12637         Reported by <jojelino@gmail.com>
12638         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
12639
12640 2011-10-01  Jim Meyering  <meyering@redhat.com>
12641
12642         maint.mk: adjust a release-related rule not to require use of gzip
12643         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
12644         Instead, check each file in $(DIST_ARCHIVES).  This is better for
12645         projects that build only .tar.xz files.  Also fix an erroneous test.
12646
12647         test-linkat: don't leave behind a temporary file
12648         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
12649         Otherwise, coreutils' "make distcheck" would fail with this:
12650           Only in /c/cu/tests/torture/coreutils/test/\
12651             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
12652           make[2]: *** [my-distcheck] Error 1
12653
12654         float, math: add omitted file
12655         * lib/itold.c: Add file, required for yesterday's float change.
12656
12657 2011-10-01  Bruno Haible  <bruno@clisp.org>
12658
12659         isinf: Fix for OpenBSD/x86.
12660         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
12661         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
12662         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
12663
12664 2011-10-01  Bruno Haible  <bruno@clisp.org>
12665
12666         isfinite: Fix syntax error in configure test.
12667         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
12668
12669         isfinite: Fix typo.
12670         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
12671         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
12672
12673 2011-10-01  Bruno Haible  <bruno@clisp.org>
12674
12675         nonblocking tests: Fix test failure on Linux/IA-64.
12676         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
12677         Set to 270000.
12678
12679 2011-10-01  Bruno Haible  <bruno@clisp.org>
12680
12681         mkfifoat tests: Fix a test failure on mingw.
12682         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
12683         with error ENOSYS.
12684
12685 2011-09-30  Bruno Haible  <bruno@clisp.org>
12686
12687         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
12688         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
12689         'long double'. Set REPLACE_ITOLD.
12690         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
12691         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
12692         * lib/itold.c: New file.
12693         * modules/float (Files): Add lib/itold.c.
12694         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
12695         (Makefile.am): Substitute REPLACE_ITOLD.
12696         * modules/math (Depends-on): Add float.
12697         (Makefile.am): Substitute REPLACE_ITOLD.
12698         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
12699         * doc/posix-headers/math.texi: Likewise.
12700         * doc/posix-functions/logl.texi: Likewise.
12701
12702 2011-09-30  Bruno Haible  <bruno@clisp.org>
12703
12704         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
12705         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
12706         Set to 140000.
12707
12708 2011-09-30  Bruno Haible  <bruno@clisp.org>
12709
12710         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
12711         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
12712         invocation, say "right after AC_PROG_CC_STDC", not "right after
12713         AC_PROG_CC".
12714         Reported by Gary V. Vaughan <gary@gnu.org>.
12715
12716 2011-09-30  Bruno Haible  <bruno@clisp.org>
12717
12718         Centralize C99 requirement.
12719         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
12720         * modules/stdarg (configure.ac-early): Invoke it instead of
12721         AC_PROG_CC_STDC.
12722         Reported by Gary V. Vaughan and Paul Eggert.
12723
12724 2011-09-29  Bruno Haible  <bruno@clisp.org>
12725
12726         float: Fix LDBL_MAX value on Linux/PowerPC.
12727         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
12728         on Linux/PowerPC.
12729         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
12730         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
12731         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
12732         platform.
12733         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
12734
12735 2011-09-29  Bruno Haible  <bruno@clisp.org>
12736
12737         doc: Improve doc about gl_EARLY.
12738         * doc/gnulib-tool.texi (Initial import): Mention where to place an
12739         AC_PROG_CC_STDC invocation.
12740         Reported by Gary V. Vaughan <gary@gnu.org>.
12741
12742 2011-09-28  Bruno Haible  <bruno@clisp.org>
12743
12744         fgetc, fputc, fread, fwrite tests: Fix link error.
12745         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
12746         on non-MSVC platforms.
12747         * tests/test-fputc.c (main): Likewise.
12748         * tests/test-fread.c (main): Likewise.
12749         * tests/test-fwrite.c (main): Likewise.
12750         Reported by Jim Meyering.
12751
12752 2011-09-27  Bruno Haible  <bruno@clisp.org>
12753
12754         fputc, fwrite tests: Avoid test failure on MSVC.
12755         * tests/test-fgetc.c: Include msvc-inval.h.
12756         (main): Invoke gl_msvc_inval_ensure_handler.
12757         * tests/test-fputc.c: Include msvc-inval.h.
12758         (main): Invoke gl_msvc_inval_ensure_handler.
12759         * tests/test-fread.c: Include msvc-inval.h.
12760         (main): Invoke gl_msvc_inval_ensure_handler.
12761         * tests/test-fwrite.c: Include msvc-inval.h.
12762         (main): Invoke gl_msvc_inval_ensure_handler.
12763         * modules/fgetc-tests (Depends-on): Add msvc-inval.
12764         * modules/fputc-tests (Depends-on): Likewise.
12765         * modules/fread-tests (Depends-on): Likewise.
12766         * modules/fwrite-tests (Depends-on): Likewise.
12767
12768 2011-09-27  Bruno Haible  <bruno@clisp.org>
12769
12770         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
12771         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
12772         (raise): Remove older, duplicated declaration.
12773         (_gl_raise_SIGPIPE): New declaration.
12774         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
12775         (rpl_raise): Remove function.
12776         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
12777         a gnulib-defined SIGPIPE here.
12778         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
12779         'sigprocmask' has detected missing signal-blocking and the module
12780         'sigpipe' is enabled.
12781         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12782
12783 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
12784
12785         base64-tests: avoid memory leak
12786         * tests/test-base64.c (main): Plug memory leak.
12787
12788         base32: new module
12789         * modules/base32: New module.
12790         * lib/base32.c: New file.
12791         * lib/base32.h: Likewise.
12792         * m4/base32.m4: Likewise.
12793         * modules/base32-tests: New test.
12794         * tests/test-base32.c: Likewise.
12795         * MODULES.html.sh (Misc): Mention it.
12796
12797 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12798
12799         gnulib: use more-standard license notice wording
12800         * gnulib-tool (func_emit_copyright_notice): When emitting a
12801         license notice into a file, use the standard wording as suggested
12802         by the current information for GNU maintainers, except say "file"
12803         rather than "program".  The new wording gives a license version
12804         number, which addresses an issue raised by Glenn Morris in
12805         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
12806         * m4/onceonly.m4: Use that same wording here, too.
12807
12808         dup2: minor simplification
12809         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
12810         as lib/dup2.c no longer uses 'inline'.
12811
12812 2011-09-25  Bruno Haible  <bruno@clisp.org>
12813
12814         strings: Fix compilation error on MSVC.
12815         * lib/strings.in.h: Include <stddef.h> for size_t.
12816
12817 2011-09-25  Bruno Haible  <bruno@clisp.org>
12818
12819         fflush et al.: Document limitation on MSVC.
12820         * doc/posix-functions/fflush.texi: Document possible crash in handling
12821         mode other than DEFAULT_HANDLING.
12822         * doc/posix-functions/fgetc.texi: Likewise.
12823         * doc/posix-functions/fputc.texi: Likewise.
12824         * doc/posix-functions/fread.texi: Likewise.
12825         * doc/posix-functions/fwrite.texi: Likewise.
12826
12827 2011-09-25  Bruno Haible  <bruno@clisp.org>
12828
12829         msvc-inval: Allow three invalid parameter handling modes.
12830         * lib/msvc-inval.h: Don't include <stdlib.h> here.
12831         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
12832         macros.
12833         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
12834         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
12835         SANE_LIBRARY_HANDLING as a no-op.
12836         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
12837         <stdlib.h>.
12838         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
12839
12840 2011-09-25  Bruno Haible  <bruno@clisp.org>
12841
12842         msvc-inval: Make handler multithread-safe.
12843         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
12844         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
12845         declarations.
12846         (gl_msvc_inval_current): New declaration.
12847         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12848         Operate on the structure returned by gl_msvc_inval_current().
12849         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
12850         Remove varaiables.
12851         (tls_index, tls_initialized): New variables.
12852         (not_per_thread): New variable.
12853         (gl_msvc_inval_current): New function.
12854         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
12855         returned by gl_msvc_inval_current().
12856
12857 2011-09-25  Bruno Haible  <bruno@clisp.org>
12858
12859         msvc-inval: Install handler globally.
12860         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
12861         !_MSC_VER.
12862         (gl_msvc_invalid_parameter_handler): Remove declaration.
12863         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
12864         declarations.
12865         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12866         Install the handler globally, don't uninstall it.
12867         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
12868         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
12869         currently valid, call RaiseException instead.
12870         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
12871         for !_MSC_VER.
12872
12873 2011-09-25  Bruno Haible  <bruno@clisp.org>
12874
12875         strerror_r-posix: Fix for MSVC 9.
12876         * lib/strerror_r.c (local_snprintf): New function.
12877         (snprintf): Define to local_snprintf, not to _snprintf.
12878
12879 2011-09-25  Bruno Haible  <bruno@clisp.org>
12880
12881         ftruncate: Support for MSVC 9.
12882         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
12883         (chsize_nothrow): New function.
12884         (chsize): Redefine as a macro.
12885         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
12886         * modules/ftruncate (Depends-on): Add msvc-inval.
12887
12888 2011-09-25  Bruno Haible  <bruno@clisp.org>
12889
12890         New module 'fstat'.
12891         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
12892         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
12893         * lib/fchdir.c (rpl_fstat): Remove function.
12894         * m4/fstat.m4: New file.
12895         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
12896         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
12897         declared.
12898         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
12899         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
12900         * modules/fstat: New file.
12901         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
12902         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
12903         is set.
12904         * doc/posix-functions/fstat.texi: Mention the new module and the
12905         problem on MSVC.
12906         * NEWS: Mention the change.
12907         * modules/acl (Depends-on): Add fstat.
12908         * modules/chdir-safer (Depends-on): Likewise.
12909         * modules/chown (Depends-on): Likewise.
12910         * modules/copy-file (Depends-on): Likewise.
12911         * modules/fchdir (Depends-on): Likewise.
12912         * modules/fdopendir (Depends-on): Likewise.
12913         * modules/fopen (Depends-on): Likewise.
12914         * modules/fts (Depends-on): Likewise.
12915         * modules/getcwd (Depends-on): Likewise.
12916         * modules/isapipe (Depends-on): Likewise.
12917         * modules/linkat (Depends-on): Likewise.
12918         * modules/lseek (Depends-on): Likewise.
12919         * modules/mkdir-p (Depends-on): Likewise.
12920         * modules/open (Depends-on): Likewise.
12921         * modules/openat (Depends-on): Likewise.
12922         * modules/read-file (Depends-on): Likewise.
12923         * modules/renameat (Depends-on): Likewise.
12924         * modules/utimens (Depends-on): Likewise.
12925
12926 2011-09-25  Bruno Haible  <bruno@clisp.org>
12927
12928         linkat: Fix compilation on MSVC 9.
12929         * lib/linkat.c: Don't include <stdint.h>.
12930
12931 2011-09-25  Bruno Haible  <bruno@clisp.org>
12932
12933         fclose: Support for MSVC 9.
12934         * lib/fclose.c: Include msvc-inval.h.
12935         (fclose_nothrow): New function.
12936         (rpl_fclose): Use it.
12937         * modules/fclose (Depends-on): Add msvc-inval.
12938         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
12939
12940 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12941
12942         dup2: minor simplifications
12943         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
12944         that it's a performance win.
12945         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
12946         ! defined __CYGWIN__)" to "ifdef F_GETFL".
12947
12948 2011-09-24  Jim Meyering  <meyering@redhat.com>
12949
12950         test-futimens: avoid a warning from gcc -Wshadow
12951         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
12952         to avoid a shadowing warning.
12953
12954 2011-09-24  Bruno Haible  <bruno@clisp.org>
12955
12956         fdopen: Support for MSVC 9.
12957         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
12958         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
12959         * lib/fdopen.c: Include msvc-inval.h.
12960         (fdopen_nothrow): New function.
12961         (rpl_fdopen): Use it.
12962         * modules/fdopen (Depends-on): Add msvc-inval.
12963         * modules/fclose-tests (Depends-on): Add fdopen.
12964         * modules/fflush-tests (Depends-on): Likewise.
12965         * modules/fgetc-tests (Depends-on): Likewise.
12966         * modules/fputc-tests (Depends-on): Likewise.
12967         * modules/fread-tests (Depends-on): Likewise.
12968         * modules/freopen-tests (Depends-on): Likewise.
12969         * modules/fseeko-tests (Depends-on): Likewise.
12970         * modules/ftello-tests (Depends-on): Likewise.
12971         * modules/fwrite-tests  (Depends-on): Likewise.
12972         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
12973
12974 2011-09-24  Bruno Haible  <bruno@clisp.org>
12975
12976         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
12977         * modules/fgetc-tests (Depends-on): Add unistd.
12978         * modules/fputc-tests (Depends-on): Likewise.
12979         * modules/fread-tests (Depends-on): Likewise.
12980         * modules/fwrite-tests (Depends-on): Likewise.
12981
12982 2011-09-24  Bruno Haible  <bruno@clisp.org>
12983
12984         dup: Simplify autoconf test.
12985         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
12986         on gl_MSVC_INVAL's result.
12987
12988 2011-09-24  Bruno Haible  <bruno@clisp.org>
12989
12990         Tests for function fwrite().
12991         * modules/fwrite-tests: New file.
12992         * tests/test-fwrite.c: New file.
12993         * modules/stdio-tests (Depends-on): Add fwrite-tests.
12994
12995         Tests for function fread().
12996         * modules/fread-tests: New file.
12997         * tests/test-fread.c: New file.
12998         * modules/stdio-tests (Depends-on): Add fread-tests.
12999
13000         Activate fputc tests.
13001         * modules/stdio-tests (Depends-on): Add fputc-tests.
13002
13003         Enhance fgetc, fputc tests.
13004         * tests/test-fgetc.c (main): Also test the stream's error indicator.
13005         * tests/test-fputc.c (main): Likewise.
13006
13007 2011-09-24  Bruno Haible  <bruno@clisp.org>
13008
13009         write: Support for MSVC 9.
13010         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
13011         is not 1.
13012         * lib/write.c (write_nothrow): New function.
13013         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
13014         not 1. Use write_nothrow.
13015         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
13016         invalid parameter handler.
13017         (gl_PREREQ_WRITE): New macro.
13018         * modules/write (Depends-on): Add msvc-inval.
13019         (configure.ac): Invoke gl_PREREQ_WRITE.
13020         * doc/posix-functions/write.texi: Mention the problem on MSVC.
13021
13022 2011-09-24  Bruno Haible  <bruno@clisp.org>
13023
13024         read: Fix last commit.
13025         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
13026
13027 2011-09-24  Bruno Haible  <bruno@clisp.org>
13028
13029         dup2: Fix last commit.
13030         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
13031         (rpl_dup2): Disable fcntl workaround on native Windows.
13032
13033         sigprocmask: Make code safer.
13034         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
13035         section that changes macro definitions for this compilation unit.
13036
13037 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
13038
13039         dup2: clarify by coalescing Windows-specific material
13040         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
13041         "msvc-nothrow.h"' to the Windows-specific section, so that the
13042         Emacs source need not contain these include files.
13043         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
13044         Windows-specific fixes into this function rather than just the
13045         nothrow fix, as this shortens and clarifies the code.  Always
13046         define as a function, as that's a bit cleaner than having it be
13047         sometimes a function and sometimes a macro.
13048         (rpl_dup2): Move the Windows-specific stuff out of here and into
13049         ms_windows_dup2.  Don't protect the Haiku-related fix with
13050         "#if !defined __linux__", as the same code also works around
13051         a Linux kernel bug, and it doesn't add any system calls on any
13052         platform.  Add comment about FreeBSD 6.1.
13053
13054         sigprocmask: move #include directive
13055         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
13056         Windows-specific section, so that the Emacs source need not
13057         contain msvc-inval.h.
13058
13059 2011-09-23  Bruno Haible  <bruno@clisp.org>
13060
13061         read: Support for MSVC 9.
13062         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
13063         is not 1.
13064         * lib/read.c (read_nothrow): New function.
13065         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
13066         read_nothrow.
13067         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
13068         invalid parameter handler.
13069         (gl_PREREQ_READ): New macro.
13070         * modules/read (Depends-on): Add msvc-inval.
13071         (configure.ac): Invoke gl_PREREQ_READ.
13072         * doc/posix-functions/read.texi: Mention the problem on MSVC.
13073
13074 2011-09-23  Bruno Haible  <bruno@clisp.org>
13075
13076         close: Support for MSVC 9.
13077         * lib/close.c: Include <errno.h>, msvc-inval.h.
13078         (close_nothrow): New function.
13079         (rpl_close): Use it.
13080         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
13081         invalid parameter handler.
13082         * modules/close (Depends-on): Add msvc-inval.
13083         * modules/dup2-tests (Depends-on): Add close.
13084         * modules/dup3-tests (Depends-on): Likewise.
13085         * modules/fcntl-tests (Depends-on): Likewise.
13086         * modules/spawn-pipe-tests (Depends-on): Likewise.
13087         * modules/unistd-safer-tests (Depends-on): Likewise.
13088         * doc/posix-functions/close.texi: Mention the problem on MSVC.
13089
13090 2011-09-23  Bruno Haible  <bruno@clisp.org>
13091
13092         New module 'dup'.
13093         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
13094         Allow replacement.
13095         * lib/dup.c: New file.
13096         * lib/fchdir.c (rpl_dup): Remove function.
13097         * m4/dup.m4: New file.
13098         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
13099         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
13100         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
13101         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
13102         * modules/dup: New file.
13103         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
13104         'dup' module is in use.
13105         * modules/fdopendir (Depends-on): Add dup.
13106         * modules/fdutimensat-tests (Depends-on): Likewise.
13107         * modules/fts (Depends-on): Likewise.
13108         * modules/futimens-tests (Depends-on): Likewise.
13109         * modules/posix_spawnp-tests (Depends-on): Likewise.
13110         * modules/unistd-safer-tests (Depends-on): Likewise.
13111         * modules/utimens-tests (Depends-on): Likewise.
13112         * doc/posix-functions/dup.texi: Mention the new module and the problem
13113         on MSVC.
13114
13115 2011-09-23  Bruno Haible  <bruno@clisp.org>
13116
13117         getdtablesize: Support for MSVC 9.
13118         * lib/getdtablesize.c: Include msvc-inval.h.
13119         (_setmaxstdio_nothrow): New function.
13120         (_setmaxstdio): Redefine it.
13121         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
13122         * modules/getdtablesize (Depends-on): Add msvc-inval.
13123         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
13124
13125 2011-09-23  Bruno Haible  <bruno@clisp.org>
13126
13127         signal-h: Rename from signal.
13128         * modules/signal-h: Renamed from modules/signal.
13129         * modules/pthread_sigmask (Depends-on): Update.
13130         * modules/raise (Depends-on): Likewise.
13131         * modules/sigaction (Depends-on): Likewise.
13132         * modules/sigpipe (Depends-on): Likewise.
13133         * modules/sigprocmask (Depends-on): Likewise.
13134         * modules/sys_select (Depends-on): Likewise.
13135         * modules/signal-h-tests: Renamed from modules/signal-tests.
13136         (Files, Depends-on, Makefile.am): Update.
13137         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
13138         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
13139         (Files, Makefile.am): Update.
13140         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
13141         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
13142         * modules/signal: New placeholder file.
13143         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
13144         * doc/posix-headers/signal.texi: Update.
13145         * NEWS: Mention the change.
13146
13147 2011-09-23  Bruno Haible  <bruno@clisp.org>
13148
13149         sigprocmask: Avoid crashes through signal() on MSVC 9.
13150         * lib/sigprocmask.c: Include msvc-inval.h.
13151         (signal_nothrow): New function.
13152         (signal): Redefine it.
13153         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
13154         * modules/sigprocmask (Depends-on): Add msvc-inval.
13155         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
13156
13157 2011-09-23  Bruno Haible  <bruno@clisp.org>
13158
13159         Tests for module 'raise'.
13160         * modules/raise-tests: New file.
13161         * tests/test-raise.c: New file.
13162
13163         raise: Support for MSVC.
13164         * lib/signal.in.h (raise): New declaration.
13165         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
13166         for native Windows platforms.
13167         * m4/raise.m4: New file.
13168         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
13169         HAVE_RAISE, REPLACE_RAISE.
13170         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
13171         REPLACE_RAISE.
13172         * modules/raise (Status, Notice): Remove fields.
13173         (Files): Add m4/raise.m4.
13174         (Depends-on): Add signal, msvc-inval.
13175         (configure.ac): Use the common idioms.
13176         (Maintainer): Add me.
13177         * tests/test-signal-c++.cc: Check the signature of raise.
13178         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
13179
13180 2011-09-23  Bruno Haible  <bruno@clisp.org>
13181
13182         pipe2: Fix compilation on pre-C99 compilers.
13183         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
13184
13185 2011-09-23  Bruno Haible  <bruno@clisp.org>
13186
13187         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
13188         * lib/msvc-nothrow.h: New file.
13189         * lib/msvc-nothrow.c: New file.
13190         * m4/msvc-nothrow.m4: New file.
13191         * modules/msvc-nothrow: New file.
13192         * lib/dup2.c: Include msvc-nothrow.h.
13193         (rpl_dup2): No need to protect _get_osfhandle call here.
13194         * lib/accept4.c: Include msvc-nothrow.h.
13195         * lib/error.c: Likewise.
13196         * lib/fcntl.c: Likewise.
13197         * lib/lseek.c: Likewise.
13198         * lib/nonblocking.c: Likewise.
13199         * lib/poll.c: Likewise.
13200         * lib/read.c: Likewise.
13201         * lib/select.c: Likewise.
13202         * lib/sockets.h: Likewise.
13203         * lib/sockets.c: Likewise.
13204         * lib/stdio-read.c: Likewise.
13205         * lib/stdio-write.c: Likewise.
13206         * lib/write.c: Likewise.
13207         * lib/w32sock.h: Likewise.
13208         * lib/w32spawn.h: Likewise.
13209         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
13210         * lib/fsync.c: Likewise.
13211         * lib/isapipe.c: Likewise.
13212         * modules/dup2 (Depends-on): Add msvc-nothrow.
13213         * modules/accept4 (Depends-on): Likewise.
13214         * modules/error (Depends-on): Likewise.
13215         * modules/fcntl (Depends-on): Likewise.
13216         * modules/lseek (Depends-on): Likewise.
13217         * modules/nonblocking (Depends-on): Likewise.
13218         * modules/poll (Depends-on): Likewise.
13219         * modules/read (Depends-on): Likewise.
13220         * modules/select (Depends-on): Likewise.
13221         * modules/sockets (Depends-on): Likewise.
13222         * modules/sigpipe (Depends-on): Likewise.
13223         * modules/write (Depends-on): Likewise.
13224         * modules/accept (Depends-on): Likewise.
13225         * modules/bind (Depends-on): Likewise.
13226         * modules/connect (Depends-on): Likewise.
13227         * modules/gethostname (Depends-on): Likewise.
13228         * modules/getpeername (Depends-on): Likewise.
13229         * modules/getsockname (Depends-on): Likewise.
13230         * modules/getsockopt (Depends-on): Likewise.
13231         * modules/ioctl (Depends-on): Likewise.
13232         * modules/listen (Depends-on): Likewise.
13233         * modules/recv (Depends-on): Likewise.
13234         * modules/recvfrom (Depends-on): Likewise.
13235         * modules/send (Depends-on): Likewise.
13236         * modules/sendto (Depends-on): Likewise.
13237         * modules/setsockopt (Depends-on): Likewise.
13238         * modules/shutdown (Depends-on): Likewise.
13239         * modules/socket (Depends-on): Likewise.
13240         * modules/execute (Depends-on): Likewise.
13241         * modules/spawn-pipe (Depends-on): Likewise.
13242         * modules/flock (Depends-on): Likewise.
13243         * modules/fsync (Depends-on): Likewise.
13244         * modules/isapipe (Depends-on): Likewise.
13245         * tests/test-cloexec.c: Include msvc-nothrow.h.
13246         * tests/test-dup-safer.c: Likewise.
13247         * tests/test-dup2.c: Likewise.
13248         * tests/test-dup3.c: Likewise.
13249         * tests/test-fcntl.c: Likewise.
13250         * tests/test-pipe.c: Likewise.
13251         * tests/test-pipe2.c: Likewise.
13252         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
13253         * modules/unistd-safer-tests (Depends-on): Likewise.
13254         * modules/dup2-tests (Depends-on): Likewise.
13255         * modules/dup3-tests (Depends-on): Likewise.
13256         * modules/fcntl-tests (Depends-on): Likewise.
13257         * modules/pipe-posix-tests (Depends-on): Likewise.
13258         * modules/pipe2-tests (Depends-on): Likewise.
13259
13260 2011-09-23  Bruno Haible  <bruno@clisp.org>
13261
13262         dup2: Make code more maintainable.
13263         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
13264         (rpl_dup2): Use it.
13265         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
13266         * modules/dup2 (configure.ac): Invoke it.
13267         Reported by Paul Eggert.
13268
13269 2011-09-23  Bruno Haible  <bruno@clisp.org>
13270
13271         msvc-inval: Fix compilation error.
13272         * lib/msvc-inval.h: Include <excpt.h>.
13273
13274 2011-09-23  Bruno Haible  <bruno@clisp.org>
13275
13276         mkdir: Tweak for MSVC 9.
13277         * lib/sys_stat.in.h: Update comments.
13278         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
13279
13280         Tests for module 'chdir'.
13281         * modules/chdir-tests: New file.
13282         * tests/test-chdir.c: New file.
13283
13284         New module 'chdir'.
13285         * modules/chdir: New file.
13286         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
13287         (chdir): New declaration.
13288         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
13289         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
13290         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
13291         * tests/test-unistd-c++.cc: Check signature of chdir.
13292         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
13293         * modules/chdir-long (Depends-on): Add chdir.
13294         * modules/fchdir (Depends-on): Likewise.
13295         * modules/rename (Depends-on): Likewise.
13296         * modules/savewd (Depends-on): Likewise.
13297
13298         rmdir: Support for mingw, MSVC 9.
13299         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
13300         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
13301
13302         getcwd: Tweak for MSVC 9.
13303         * lib/unistd.in.h: Update comments.
13304         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
13305
13306 2011-09-22  Bruno Haible  <bruno@clisp.org>
13307
13308         strerror_r-posix: Avoid a link error on MSVC.
13309         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
13310         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
13311
13312 2011-09-22  Bruno Haible  <bruno@clisp.org>
13313
13314         select: Avoid link errors on MSVC.
13315         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
13316         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
13317         * modules/pselect (Link): Likewise.
13318         * NEWS: Mention the change.
13319         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
13320         test-select-stdin against $(LIB_SELECT).
13321         * modules/pselect-tests (Makefile.am): Link test-pselect against
13322         $(LIB_SELECT).
13323
13324 2011-09-22  Bruno Haible  <bruno@clisp.org>
13325
13326         select: Avoid compilation error on MSVC.
13327         * lib/select.c: Don't include <stdbool.h>.
13328
13329 2011-09-21  Bruno Haible  <bruno@clisp.org>
13330
13331         Consolidate all uses of PATH_MAX in *.m4 files.
13332         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
13333         macros.
13334         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
13335         and gl_PATHMAX_SNIPPET.
13336         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13337         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13338         * modules/chdir-long (Files): Add m4/pathmax.m4.
13339         * modules/getcwd (Files): Likewise.
13340
13341 2011-09-21  Bruno Haible  <bruno@clisp.org>
13342
13343         ftruncate: Un-deprecate, concentrate on Win32 support.
13344         * modules/ftruncate (Status, Notice): Remove sections.
13345         (Depends-on): Add largefile.
13346         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
13347         non-mingw platforms.
13348         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
13349         include <io.h>.
13350         * modules/perror-tests (Depends-on): Add ftruncate.
13351         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
13352         'ftruncate' module.
13353
13354 2011-09-21  Bruno Haible  <bruno@clisp.org>
13355
13356         Add dependencies to new dirent related modules.
13357         * modules/opendir (Depends-on): Add closedir.
13358         * modules/getcwd (Depends-on): Add opendir, closedir.
13359         * modules/dirent-safer-tests (Depends-on): Likewise.
13360         * modules/fdopendir-tests (Depends-on): Likewise.
13361         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
13362         * modules/renameat-tests (Depends-on): Likewise.
13363
13364 2011-09-21  Bruno Haible  <bruno@clisp.org>
13365
13366         opendir: Avoid compilation error on mingw.
13367         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
13368         * modules/opendir (Depends-on): Add unistd.
13369
13370 2011-09-21  Bruno Haible  <bruno@clisp.org>
13371
13372         ftruncate tests: Avoid a test failure on mingw.
13373         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
13374
13375 2011-09-21  Bruno Haible  <bruno@clisp.org>
13376
13377         select tests: Avoid test failures on OSF/1 5.1 and mingw.
13378         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
13379         native Windows.
13380
13381 2011-09-21  Bruno Haible  <bruno@clisp.org>
13382
13383         New module 'fdopen'.
13384         * lib/stdio.in.h (fdopen): New declaration.
13385         * lib/fdopen.c: New file.
13386         * m4/fdopen.m4: New file.
13387         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
13388         REPLACE_FDOPEN.
13389         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
13390         REPLACE_FDOPEN.
13391         * modules/fdopen: New file.
13392         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
13393         * tests/test-stdio-c++.cc: Check signature of fdopen.
13394         * doc/posix-functions/fdopen.texi: Mention the new module.
13395
13396 2011-09-21  Bruno Haible  <bruno@clisp.org>
13397
13398         unlockpt tests: Avoid test failure on NetBSD 5.1.
13399         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
13400         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
13401
13402 2011-09-21  Bruno Haible  <bruno@clisp.org>
13403
13404         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
13405         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
13406         * tests/test-getlogin_r.c (main): Likewise.
13407
13408 2011-09-20  Bruno Haible  <bruno@clisp.org>
13409
13410         time tests: Don't require pid_t.
13411         * doc/posix-headers/time.texi: Revert last change.
13412         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
13413         * tests/test-time.c: Comment out the check for pid_t.
13414
13415 2011-09-20  Bruno Haible  <bruno@clisp.org>
13416
13417         fsync tests: Avoid a test failure on mingw.
13418         * tests/test-fsync.c (main): Allow a failure with EIO.
13419
13420 2011-09-20  Bruno Haible  <bruno@clisp.org>
13421
13422         euidaccess: Update comments.
13423         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
13424
13425 2011-09-20  Bruno Haible  <bruno@clisp.org>
13426
13427         Ensure EBADF returns for socket functions on mingw.
13428         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
13429         descriptor is invalid.
13430         * lib/bind.c (rpl_bind): Likewise.
13431         * lib/connect.c (rpl_connect): Likewise.
13432         * lib/getpeername.c (rpl_getpeername): Likewise.
13433         * lib/getsockname.c (rpl_getsockname): Likewise.
13434         * lib/getsockopt.c (rpl_getsockopt): Likewise.
13435         * lib/listen.c (rpl_listen): Likewise.
13436         * lib/recv.c (rpl_recv): Likewise.
13437         * lib/recvfrom.c (rpl_recvfrom): Likewise.
13438         * lib/send.c (rpl_send): Likewise.
13439         * lib/sendto.c (rpl_sendto): Likewise.
13440         * lib/setsockopt.c (rpl_setsockopt): Likewise.
13441         * lib/shutdown.c (rpl_shutdown): Likewise.
13442
13443 2011-09-20  Bruno Haible  <bruno@clisp.org>
13444
13445         select tests: EBADF tests.
13446         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
13447         test_bad_fd): New functions.
13448         (test_function): Invoke also test_bad_fd.
13449
13450 2011-09-20  Bruno Haible  <bruno@clisp.org>
13451
13452         Tests for module 'posix_spawn_file_actions_addopen.
13453         * modules/posix_spawn_file_actions_addopen-tests: New file.
13454         * tests/test-posix_spawn_file_actions_addopen.c: New file.
13455
13456         Tests for module 'posix_spawn_file_actions_adddup2'.
13457         * modules/posix_spawn_file_actions_adddup2-tests: New file.
13458         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
13459
13460         Tests for module 'posix_spawn_file_actions_addclose'.
13461         * modules/posix_spawn_file_actions_addclose-tests: New file.
13462         * tests/test-posix_spawn_file_actions_addclose.c: New file.
13463
13464 2011-09-20  Bruno Haible  <bruno@clisp.org>
13465
13466         Tests for module 'unlockpt'.
13467         * modules/unlockpt-tests: New file.
13468         * tests/test-unlockpt.c: New file.
13469         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
13470
13471         Tests for module 'grantpt'.
13472         * modules/grantpt-tests: New file.
13473         * tests/test-grantpt.c: New file.
13474         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
13475
13476 2011-09-20  Bruno Haible  <bruno@clisp.org>
13477
13478         freopen tests: EBADF tests.
13479         * tests/test-freopen.c: Include errno.h, unistd.h.
13480         (main): Add tests for EBADF, commented out for the moment.
13481
13482         fclose tests: EBADF tests.
13483         * tests/test-fclose.c (main): Add tests for EBADF.
13484
13485         fflush tests: EBADF tests.
13486         * tests/test-fflush.c: Include errno.h, macros.h.
13487         (main): Add tests for EBADF.
13488
13489         ftello tests: EBADF tests.
13490         * tests/test-ftello4.sh: New file.
13491         * tests/test-ftello4.c: New file.
13492         * modules/ftello-tests (Files): Add them.
13493         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
13494
13495         fseeko tests: EBADF tests.
13496         * tests/test-fseeko4.sh: New file.
13497         * tests/test-fseeko4.c: New file.
13498         * modules/fseeko-tests (Files): Add them.
13499         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
13500
13501         Tests for function fputc().
13502         * modules/fputc-tests: New file.
13503         * tests/test-fputc.c: New file.
13504         * modules/stdio-tests (Depends-on): Add fputc-tests.
13505
13506         Tests for function fgetc().
13507         * modules/fgetc-tests: New file.
13508         * tests/test-fgetc.c: New file.
13509         * modules/stdio-tests (Depends-on): Add fgetc-tests.
13510
13511         Tests for function fdopen().
13512         * modules/fdopen-tests: New file.
13513         * tests/test-fdopen.c: New file.
13514         * modules/stdio-tests (Depends-on): Add fdopen-tests.
13515
13516         Tests for module 'vdprintf'.
13517         * modules/vdprintf-tests: New file.
13518         * tests/test-vdprintf.c: New file.
13519
13520         Tests for module 'dprintf'.
13521         * modules/dprintf-tests: New file.
13522         * tests/test-dprintf.c: New file.
13523
13524 2011-09-20  Bruno Haible  <bruno@clisp.org>
13525
13526         Tests for module 'ioctl'.
13527         * modules/ioctl-tests: New file.
13528         * tests/test-ioctl.c: New file.
13529
13530 2011-09-20  Bruno Haible  <bruno@clisp.org>
13531
13532         fcntl tests: EBADF tests.
13533         * tests/test-fcntl.c (main): Add more tests for EBADF.
13534
13535 2011-09-20  Bruno Haible  <bruno@clisp.org>
13536
13537         utimensat tests: EBADF tests.
13538         * tests/test-utimensat.c (main): Add tests for EBADF.
13539
13540         renameat tests: EBADF tests.
13541         * tests/test-renameat.c (main): Add tests for EBADF.
13542
13543         mkfifoat tests: EBADF tests.
13544         * tests/test-mkfifoat.c (main): Add tests for EBADF.
13545
13546         readlinkat tests: EBADF tests.
13547         * tests/test-readlinkat.c (main): Add tests for EBADF.
13548
13549         symlinkat tests: EBADF tests.
13550         * tests/test-symlinkat.c (main): Add tests for EBADF.
13551
13552         linkat tests: EBADF tests.
13553         * tests/test-linkat.c (main): Add tests for EBADF.
13554
13555         Tests for module 'faccessat'.
13556         * modules/faccessat-tests: New file.
13557         * tests/test-faccessat.c: New file.
13558
13559         fdopendir tests: EBADF tests.
13560         * tests/test-fdopendir.c (main): Add more tests for EBADF.
13561
13562         openat tests: EBADF tests.
13563         * tests/test-fchownat.c (main): Add tests for EBADF.
13564         * tests/test-fstatat.c (main): Likewise.
13565         * tests/test-mkdirat.c (main): Likewise.
13566         * tests/test-openat.c (main): Likewise.
13567         * tests/test-unlinkat.c (main): Likewise.
13568         * tests/test-fchmodat.c: New file.
13569         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
13570         (Makefile.am): Also run 'test-fchmodat'.
13571
13572 2011-09-20  Bruno Haible  <bruno@clisp.org>
13573
13574         utimens, futimens, fdutimensat tests: EBADF tests.
13575         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
13576
13577         Tests for function fstat().
13578         * modules/fstat-tests: New file.
13579         * tests/test-fstat.c: New file.
13580         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
13581
13582 2011-09-20  Bruno Haible  <bruno@clisp.org>
13583
13584         test-ttyname_r tests: EBADF tests.
13585         * tests/test-ttyname_r.c (main): Add tests for EBADF.
13586
13587         Tests for module 'isatty'.
13588         * modules/isatty-tests: New file.
13589         * tests/test-isatty.c: New file.
13590
13591         Tests for module 'write'.
13592         * modules/write-tests: New file.
13593         * tests/test-write.c: New file.
13594
13595         Tests for module 'read'.
13596         * modules/read-tests: New file.
13597         * tests/test-read.c: New file.
13598
13599         pwrite tests: EBADF tests.
13600         * tests/test-pwrite.c (main): Add tests for EBADF.
13601
13602         pread tests: EBADF tests.
13603         * tests/test-pread.c (main): Add tests for EBADF.
13604
13605         lseek tests: EBADF tests.
13606         * tests/test-lseek.c (main): Add more tests for EBADF.
13607
13608         Tests for module 'ftruncate'.
13609         * modules/ftruncate-tests: New file.
13610         * tests/test-ftruncate.sh: New file.
13611         * tests/test-ftruncate.c: New file.
13612
13613         fsync tests: EBADF tests.
13614         * tests/test-fsync.c (main): Add more tests for EBADF.
13615
13616         fdatasync tests: EBADF tests.
13617         * tests/test-fdatasync.c (main): Add more tests for EBADF.
13618
13619         Tests for module 'fchown'.
13620         * modules/fchown-tests: New file.
13621         * tests/test-fchown.c: New file.
13622
13623         Tests for module 'fchmod'.
13624         * modules/fchmod-tests: New file.
13625         * tests/test-fchmod.c: New file.
13626
13627         fchdir tests: EBADF tests.
13628         * tests/test-fchdir.c (main): Add more tests for EBADF.
13629
13630         dup2 tests: EBADF tests.
13631         * tests/test-dup2.c (main): Add more tests for EBADF.
13632
13633         Tests for module 'dup'.
13634         * modules/dup-tests: New file.
13635         * tests/test-dup.c: New file.
13636
13637         Tests for module 'close'.
13638         * modules/close-tests: New file.
13639         * tests/test-close.c: New file.
13640
13641 2011-09-20  Bruno Haible  <bruno@clisp.org>
13642
13643         Tests for module 'shutdown'.
13644         * modules/shutdown-tests: New file.
13645         * tests/test-shutdown.c: New file.
13646
13647         Tests for module 'setsockopt'.
13648         * modules/setsockopt-tests: New file.
13649         * tests/test-setsockopt.c: New file.
13650
13651         Tests for module 'sendto'.
13652         * modules/sendto-tests: New file.
13653         * tests/test-sendto.c: New file.
13654
13655         Tests for module 'send'.
13656         * modules/send-tests: New file.
13657         * tests/test-send.c: New file.
13658
13659         Tests for module 'recvfrom'.
13660         * modules/recvfrom-tests: New file.
13661         * tests/test-recvfrom.c: New file.
13662
13663         Tests for module 'recv'.
13664         * modules/recv-tests: New file.
13665         * tests/test-recv.c: New file.
13666
13667         Tests for module 'listen'.
13668         * modules/listen-tests: New file.
13669         * tests/test-listen.c: New file.
13670
13671         Tests for module 'getsockopt'.
13672         * modules/getsockopt-tests: New file.
13673         * tests/test-getsockopt.c: New file.
13674
13675         Tests for module 'getsockname'.
13676         * modules/getsockname-tests: New file.
13677         * tests/test-getsockname.c: New file.
13678
13679         Tests for module 'getpeername'.
13680         * modules/getpeername-tests: New file.
13681         * tests/test-getpeername.c: New file.
13682
13683         Tests for module 'connect'.
13684         * modules/connect-tests: New file.
13685         * tests/test-connect.c: New file.
13686
13687         Tests for module 'bind'.
13688         * modules/bind-tests: New file.
13689         * tests/test-bind.c: New file.
13690
13691         accept4 tests: Fix for native Windows.
13692         * tests/test-accept4.c: Include sockets.h.
13693         (main): Invoke gl_sockets_startup.
13694         * modules/accept4-tests (Depends-on): Add sockets.
13695
13696         accept tests: Fix for native Windows.
13697         * tests/test-accept.c: Include sockets.h.
13698         (main): Invoke gl_sockets_startup.
13699         * modules/accept-tests (Depends-on): Add sockets.
13700
13701 2011-09-19  Bruno Haible  <bruno@clisp.org>
13702
13703         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
13704         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
13705         do...while(0).
13706         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
13707         Suggested by Paul Eggert.
13708
13709 2011-09-19  Bruno Haible  <bruno@clisp.org>
13710
13711         sched: Ensure pid_t is defined.
13712         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
13713         not define pid_t.
13714         * lib/sched.in.h: Include <sys/types.h>.
13715         * doc/posix-headers/sched.texi: Mention the pid_t problem.
13716         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13717
13718 2011-09-19  Bruno Haible  <bruno@clisp.org>
13719
13720         msvc-inval: Ensure the entire expansion is a single statement.
13721         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
13722         of braces.
13723
13724 2011-09-19  Jim Meyering  <meyering@redhat.com>
13725
13726         tests: use printf, not echo in init.sh's warn_ function
13727         * tests/init.sh (warn_): Use printf, not echo.  The latter would
13728         misbehave when given strings containing a backslash or starting
13729         with e.g., -n.  James Youngman suggested setting IFS.
13730
13731 2011-09-19  Eric Blake  <eblake@redhat.com>
13732
13733         futimens: enhance test
13734         * tests/test-futimens.h (test_futimens): Also check for EBADF on
13735         closed non-negative fd.
13736
13737         date: accept 'hence' as opposite of 'ago'
13738         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
13739         * tests/test-parse-datetime.c (main): Enhance test.
13740         Suggested by Jesse Wilson.
13741
13742 2011-09-19  Jim Meyering  <meyering@redhat.com>
13743
13744         getcwd: don't fail in a deep directory on a system without openat
13745         Before this change, getcwd would fail when called from a directory
13746         of depth PATH_MAX / 3 or greater.  That was due to the fact that
13747         the non-openat implementation used "..", "../..", "../../..", etc.
13748         to access ancestor directories.  With too many, that string would
13749         be longer than PATH_MAX.
13750         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
13751         using gnulib's openat replacement.
13752         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
13753         we're using the replacement function.
13754
13755 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
13756
13757         maint.mk: avoid warnings from perl about missing files
13758         * top/maint.mk (def_sym_regex): Ignore files listed in
13759         $(gl_other_headers_) that do not exist, say because a project
13760         does not use a corresponding module.
13761
13762 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
13763
13764         stat: use pathmax.h only if needed
13765         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
13766         This is better for Emacs, which does not have a mingw port and
13767         therefore can avoid the pathmax module.
13768
13769         utimens: remove dependency on dup2
13770         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
13771         to work around the Linux kernel bug.
13772         * modules/utimens (Depends-on): Remove dup2.
13773
13774 2011-09-18  Bruno Haible  <bruno@clisp.org>
13775
13776         inet_ntop, inet_pton: Look for it also in libresolv.
13777         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
13778         libnsl, search for it in libresolv.
13779         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13780         Needed on Solaris 7.
13781
13782 2011-09-18  Bruno Haible  <bruno@clisp.org>
13783
13784         accept, accept4 tests: Avoid link error on Solaris.
13785         * modules/accept-tests (Makefile.am): Link test-accept against
13786         $(LIBSOCKET).
13787         * modules/accept4-tests (Makefile.am): Link test-accept4 against
13788         $(LIBSOCKET).
13789
13790         accept4: Avoid link error on Solaris.
13791         * modules/accept4 (Link): New section.
13792
13793         socket functions: Avoid link errors on Solaris.
13794         * modules/accept (Depends-on): Add socketlib.
13795         (Link): New section.
13796         * modules/bind (Depends-on): Add socketlib.
13797         (Link): New section.
13798         * modules/connect (Depends-on): Add socketlib.
13799         (Link): New section.
13800         * modules/getpeername (Depends-on): Add socketlib.
13801         (Link): New section.
13802         * modules/getsockname (Depends-on): Add socketlib.
13803         (Link): New section.
13804         * modules/getsockopt (Depends-on): Add socketlib.
13805         (Link): New section.
13806         * modules/listen (Depends-on): Add socketlib.
13807         (Link): New section.
13808         * modules/recv (Depends-on): Add socketlib.
13809         (Link): New section.
13810         * modules/recvfrom (Depends-on): Add socketlib.
13811         (Link): New section.
13812         * modules/send (Depends-on): Add socketlib.
13813         (Link): New section.
13814         * modules/sendto (Depends-on): Add socketlib.
13815         (Link): New section.
13816         * modules/setsockopt (Depends-on): Add socketlib.
13817         (Link): New section.
13818         * modules/shutdown (Depends-on): Add socketlib.
13819         (Link): New section.
13820         * modules/socket (Depends-on): Add socketlib.
13821         (Link): New section.
13822
13823 2011-09-18  Bruno Haible  <bruno@clisp.org>
13824
13825         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
13826         * tests/test-ptsname.c (main): Terminate the test if it takes longer
13827         than 5 seconds.
13828         * modules/ptsname-tests (configure.ac): Test for alarm.
13829
13830 2011-09-18  Bruno Haible  <bruno@clisp.org>
13831
13832         posix_spawn_file_actions_add*: Fix module dependencies.
13833         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
13834         posix_spawn_file_actions_init.
13835         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
13836         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
13837
13838 2011-09-18  Bruno Haible  <bruno@clisp.org>
13839
13840         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
13841         * tests/test-rename.h (test_rename): Allow error code EEXIST.
13842         * tests/test-renameat.c (main): Likewise.
13843
13844 2011-09-18  Bruno Haible  <bruno@clisp.org>
13845
13846         Tests for module 'accept4'.
13847         * modules/accept4-tests: New file.
13848         * tests/test-accept4.c: New file.
13849
13850 2011-09-18  Bruno Haible  <bruno@clisp.org>
13851
13852         Tests for module 'accept'.
13853         * modules/accept-tests: New file.
13854         * tests/test-accept.c: New file.
13855
13856 2011-09-18  Bruno Haible  <bruno@clisp.org>
13857
13858         dup2: Support for MSVC.
13859         * lib/dup2.c: Include msvc-inval.h.
13860         (rpl_dup2): Handle invalid parameter notifications during dup2 and
13861         _get_osfhandle calls.
13862         * modules/dup2 (Depends-on): Add msvc-inval.
13863         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
13864
13865         New module 'msvc-inval'.
13866         * lib/msvc-inval.h: New file.
13867         * lib/msvc-inval.c: New file.
13868         * m4/msvc-inval.m4: New file.
13869         * modules/msvc-inval: New file.
13870
13871 2011-09-17  Bruno Haible  <bruno@clisp.org>
13872
13873         Tests for module 'pclose'.
13874         * modules/pclose-tests: New file.
13875
13876         New module 'pclose'.
13877         * lib/stdio.in.h (pclose): New declaration.
13878         * lib/pclose.c: New file.
13879         * m4/pclose.m4: New file.
13880         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
13881         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
13882         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
13883         * modules/pclose: New file.
13884         * modules/popen-tests (Depends-on): Add pclose.
13885         * modules/popen-safer-tests (Depends-on): Likewise.
13886         * doc/posix-functions/pclose.texi: Mention the new module.
13887
13888 2011-09-17  Bruno Haible  <bruno@clisp.org>
13889
13890         popen: Support for MSVC.
13891         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
13892         * lib/popen.c (popen): Provide alternate definition for native Windows.
13893         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
13894         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
13895         * modules/popen (Depends-on, configure.ac): Update condition.
13896         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
13897         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
13898         fixed.
13899
13900 2011-09-17  Bruno Haible  <bruno@clisp.org>
13901
13902         isnanl, isnand, isnanf: Work around MSVC bug.
13903         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
13904
13905 2011-09-17  Bruno Haible  <bruno@clisp.org>
13906
13907         sys_socket tests: Fix recent mistake.
13908         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
13909
13910 2011-09-17  Bruno Haible  <bruno@clisp.org>
13911
13912         putenv: Support for MSVC.
13913         * modules/putenv (Depends-on): Add environ.
13914         * lib/putenv.c (environ): Disable declaration.
13915         * lib/unistd.in.h: Update comment.
13916
13917 2011-09-17  Bruno Haible  <bruno@clisp.org>
13918
13919         math: Avoid macro redefinition warnings on MSVC.
13920         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
13921         Undefine before redefining.
13922
13923 2011-09-17  Bruno Haible  <bruno@clisp.org>
13924
13925         doc: Mention functions which are declared as macros.
13926         * doc/posix-functions/*[fl].texi: Mention that some functions are
13927         defined as macros with arguments only.
13928
13929 2011-09-17  Bruno Haible  <bruno@clisp.org>
13930
13931         Add dependencies to new dirent related modules.
13932         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
13933         * modules/fts (Depends-on): Likewise.
13934         * modules/glob (Depends-on): Likewise.
13935         * modules/savedir (Depends-on): Likewise.
13936         * modules/scandir (Depends-on): Likewise.
13937         * modules/dirent-safer (Depends-on): Add opendir, closedir.
13938         * modules/fdopendir (Depends-on): Add opendir.
13939
13940 2011-09-17  Bruno Haible  <bruno@clisp.org>
13941
13942         inet_pton: Support for MSVC on Windows Vista or newer.
13943         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
13944         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
13945         HAVE_DECL_INET_PTON is defined.
13946         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13947         On platforms with <winsock2.h>, test whether inet_pton is declared in
13948         <ws2tcpip.h>. If so, arrange to replace it.
13949         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13950         REPLACE_INET_PTON.
13951         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
13952         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
13953         (Depends-on, configure.ac): Update condition.
13954         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
13955
13956 2011-09-17  Bruno Haible  <bruno@clisp.org>
13957
13958         inet_ntop: Support for MSVC on Windows Vista or newer.
13959         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
13960         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
13961         HAVE_DECL_INET_NTOP is defined.
13962         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13963         On platforms with <winsock2.h>, test whether inet_ntop is declared in
13964         <ws2tcpip.h>. If so, arrange to replace it.
13965         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13966         REPLACE_INET_NTOP.
13967         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
13968         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
13969         (Depends-on, configure.ac): Update condition.
13970         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
13971
13972 2011-09-16  Eric Blake  <eblake@redhat.com>
13973
13974         test-fsync: yet another enhancement
13975         * tests/test-fsync.c (main): Also test behavior on read-only text
13976         file.
13977
13978 2011-09-16  Bruno Haible  <bruno@clisp.org>
13979
13980         Enhance fsync, fdatasync tests.
13981         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
13982         * tests/test-fdatasync.c (main): Likewise.
13983
13984 2011-09-16  Bruno Haible  <bruno@clisp.org>
13985
13986         Support for MSVC compiler: Ensure mode_t gets defined.
13987         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
13988         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13989         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
13990         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
13991         * tests/test-fcntl-h.c: Check that mode_t is defined.
13992         * tests/test-sys_stat.c: Likewise.
13993         * tests/test-sys_types.c: Likewise.
13994         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
13995         * doc/posix-headers/sys_stat.texi: Likewise.
13996         * doc/posix-headers/sys_types.texi: Likewise.
13997
13998 2011-09-16  Bruno Haible  <bruno@clisp.org>
13999
14000         sys_stat: Support for MSVC.
14001         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
14002         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
14003         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
14004         MSVC.
14005
14006 2011-09-16  Bruno Haible  <bruno@clisp.org>
14007
14008         Support for MSVC compiler: Ensure off_t gets defined.
14009         * lib/unistd.in.h: Include <sys/types.h>.
14010         * tests/test-fcntl-h.c: Check that off_t is defined.
14011         * tests/test-sys_stat.c: Likewise.
14012         * tests/test-sys_types.c: Likewise.
14013
14014 2011-09-16  Eric Blake  <eblake@redhat.com>
14015
14016         fdatasync: port to Solaris
14017         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
14018         * modules/fdatasync (Link): Document it.
14019         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
14020
14021         fdatasync: port to MacOS X 10.7
14022         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
14023         declared.
14024         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
14025         * modules/unistd (Makefile.am): Substitute it.
14026         * lib/unistd.in.h (fdatasync): Declare on MacOS.
14027         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
14028
14029         fdatasync: minor improvements
14030         * modules/fdatasync (Depends-on): Add condition for fsync.
14031         * lib/fdatasync.c (fdatasync): Add comment.
14032         * tests/test-unistd-c++.cc: Test fdatasync.
14033
14034         unistd: update refs to newer POSIX
14035         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
14036         Suggested by Bruno Haible.
14037
14038         fdatasync: new module
14039         * modules/fsync (Description): Document difference to fdatasync.
14040         * modules/fdatasync: New module.
14041         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
14042         * lib/fdatasync.c (fdatasync): Likewise.
14043         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
14044         defaults.
14045         * modules/unistd (Makefile.am): Set witnesses.
14046         * lib/unistd.in.h (fdatasync): Declare.
14047         * MODULES.html.sh: Document it.
14048         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
14049         * modules/fdatasync-tests: New test.
14050         * tests/test-fdatasync.c: Likewise.
14051
14052 2011-09-16  Eric Blake  <eblake@redhat.com>
14053
14054         test-fsync: enhance tests
14055         * modules/fsync-tests (Depends-on): Add errno, for mingw.
14056         * tests/test-fsync.c (main): Enhance test.
14057
14058 2011-09-15  Bruno Haible  <bruno@clisp.org>
14059
14060         Support for MSVC compiler: Ensure ssize_t gets defined.
14061         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
14062         * doc/posix-headers/stdio.texi: Likewise.
14063         * modules/stdio (Depends-on): Add ssize_t.
14064         * modules/sys_socket (Depends-on): Likewise.
14065         * modules/sys_types (Depends-on): Likewise.
14066         * modules/sys_uio (Depends-on): Likewise.
14067         * modules/unistd (Depends-on): Likewise.
14068         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
14069         * tests/test-sys_types.c: Check that ssize_t is defined.
14070
14071 2011-09-14  Bruno Haible  <bruno@clisp.org>
14072
14073         Avoid using #, the m4 comment starter character, near brackets.
14074         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
14075         delimiter character in sed expressions.
14076         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
14077         Suggested by Eric Blake.
14078
14079         Properly quote AC_CHECK_DECLS' 4th argument.
14080         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
14081         argument.
14082         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14083         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14084         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
14085         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
14086         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
14087         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
14088         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
14089         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
14090         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
14091         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
14092         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
14093         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
14094         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
14095         * m4/isinf.m4 (gl_ISINF): Likewise.
14096         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
14097         * m4/readutmp.m4 (gl_READUTMP): Likewise.
14098         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
14099         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14100         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14101         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14102         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
14103         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
14104         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
14105         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14106         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14107         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14108         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
14109         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
14110         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
14111         Reported by Eric Blake.
14112
14113         Properly quote AC_CHECK_DECL's 4th argument.
14114         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
14115         argument.
14116         * m4/argp.m4 (gl_ARGP): Likewise.
14117         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
14118         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
14119         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
14120         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
14121         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
14122         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
14123         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
14124         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
14125         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
14126         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
14127         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
14128         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
14129         Reported by Eric Blake.
14130
14131 2011-09-14  Eric Blake  <eblake@redhat.com>
14132
14133         opendir: avoid compile warning
14134         * lib/opendir.c (includes): Always include errno.h.
14135         Reported by Tatsuro MATSUOKA.
14136
14137 2011-09-14  Jim Meyering  <meyering@redhat.com>
14138
14139         maint.mk: sc_tight_scope: propagate failure from sub-make
14140         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
14141         Reported by Martin von Gagern.
14142
14143 2011-09-13  Bruno Haible  <bruno@clisp.org>
14144
14145         tempname: Support for MSVC.
14146         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
14147         MSVC.
14148         * modules/tempname (Depends-on): Add fcntl-h.
14149
14150 2011-09-13  Bruno Haible  <bruno@clisp.org>
14151
14152         sys_time: Support for MSVC.
14153         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
14154         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
14155         include <winsock2.h>.
14156         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
14157         function declarations that collide with POSIX.
14158         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
14159         (Makefile.am): Substitute HAVE_WINSOCK2_H.
14160
14161 2011-09-13  Bruno Haible  <bruno@clisp.org>
14162
14163         stat: Support for MSVC.
14164         * lib/stat.c: Include pathmax.h.
14165         * modules/stat (Depends-on): Add pathmax.
14166
14167         pathmax: Support for native Windows.
14168         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
14169
14170 2011-09-12  Bruno Haible  <bruno@clisp.org>
14171
14172         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
14173         * lib/dirent.in.h (struct dirent): New type.
14174         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
14175         DT_WHT): New macros.
14176         (DIR): New type.
14177         (opendir, closedir): Declare only if the module 'opendir' is enabled.
14178         (readdir, rewinddir): New declarations.
14179         * lib/dirent-private.h: New file.
14180         * lib/opendir.c: New file.
14181         * lib/readdir.c: New file.
14182         * lib/rewinddir.c: New file.
14183         * lib/closedir.c: New file.
14184         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
14185         * m4/opendir.m4: New file.
14186         * m4/readdir.m4: New file.
14187         * m4/rewinddir.m4: New file.
14188         * m4/closedir.m4: New file.
14189         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
14190         REPLACE_CLOSEDIR here.
14191         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
14192         readdir, rewinddir are declared.
14193         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
14194         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
14195         HAVE_REWINDDIR, HAVE_CLOSEDIR.
14196         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
14197         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
14198         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
14199         * modules/opendir: New file.
14200         * modules/readdir: New file.
14201         * modules/rewinddir: New file.
14202         * modules/closedir: New file.
14203         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
14204         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
14205         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
14206         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
14207         * NEWS: Mention the 'fchdir' change.
14208
14209 2011-09-11  Bruno Haible  <bruno@clisp.org>
14210
14211         asm-underscore.m4: Support for MSVC.
14212         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
14213         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
14214
14215 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
14216
14217         Doc about crypt functions.
14218         * doc/posix-functions/crypt.texi: Expand range of glibc versions
14219         needing for _GNU_SOURCE to get crypt.
14220         * doc/posix-functions/encrypt.texi: Likewise.
14221         * doc/posix-functions/setkey.texi: Likewise.
14222
14223 2011-09-11  Bruno Haible  <bruno@clisp.org>
14224
14225         doc: Update regarding MSVC 9.
14226         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
14227         tested".
14228         * doc/posix-functions/*.texi: Update with info about MSVC 9.
14229         * doc/posix-headers/*.texi: Likewise.
14230         * doc/pastposix-functions/*.texi: Likewise.
14231         * doc/glibc-functions/*.texi: Likewise.
14232         * doc/glibc-headers/*.texi: Likewise.
14233
14234 2011-09-11  Bruno Haible  <bruno@clisp.org>
14235
14236         unistd et al.: Don't assume <unistd.h> exists.
14237         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
14238         does not exist.
14239         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
14240         exist. But include <stdlib.h>.
14241         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
14242         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
14243         symlink() does not exist.
14244         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
14245         include <io.h> instead.
14246         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
14247         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
14248         include <direct.h> instead.
14249         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
14250         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
14251         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
14252         <io.h> instead.
14253         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
14254         correctly if the system does not have hard links.
14255         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
14256         <direct.h> instead.
14257         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
14258         it when looking for function declarations.
14259         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
14260         <direct.h> and <io.h> instead.
14261         * doc/posix-headers/unistd.texi: More details about MSVC problem.
14262
14263 2011-09-11  Bruno Haible  <bruno@clisp.org>
14264
14265         strcase: Support for MSVC.
14266         * modules/strcase (Status, Notice): Remove obsoletion mark.
14267         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
14268         * doc/posix-functions/strncasecmp.texi: Likewise.
14269
14270         strings: Don't assume <strings.h> exists.
14271         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
14272         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
14273         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
14274         * doc/posix-headers/strings.texi: Mention the MSVC problem.
14275
14276 2011-09-11  Bruno Haible  <bruno@clisp.org>
14277
14278         dirent: Don't assume <dirent.h> exists.
14279         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
14280         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
14281         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
14282         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
14283
14284 2011-09-11  Bruno Haible  <bruno@clisp.org>
14285
14286         Fix wint_t on MSVC.
14287         * lib/wchar.in.h (wint_t): On MSVC, override it.
14288         * lib/wctype.in.h (wint_t): Likewise.
14289         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
14290         MSVC.
14291         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
14292         * doc/posix-headers/wctype.texi: Likewise.
14293
14294 2011-09-11  Bruno Haible  <bruno@clisp.org>
14295
14296         sys_types: Fix typo.
14297         * lib/sys_types.in.h: Fix typo in comment.
14298         Reported by Paul Eggert.
14299
14300         Support for MSVC compiler: Ensure size_t gets defined.
14301         * modules/strings (Depends-on): Add 'sys_types'.
14302         * modules/sys_uio (Depends-on): Likewise.
14303         * lib/sys_uio.in.h: Update comment.
14304
14305         C++ tests for module 'sys_types'.
14306         * modules/sys_types-c++-tests: New file.
14307         * tests/test-sys_types-c++.cc: New file.
14308
14309         Tests for module 'sys_types'.
14310         * modules/sys_types-tests: New file.
14311         * tests/test-sys_types.c: New file.
14312
14313         New module 'sys_types'.
14314         * lib/sys_types.in.h: New file.
14315         * m4/sys_types_h.m4: New file.
14316         * modules/sys_types: New file.
14317         * doc/posix-headers/sys_types.texi: Mention the new module and the
14318         size_t problem on MSVC 9.
14319
14320 2011-09-11  Bruno Haible  <bruno@clisp.org>
14321
14322         Support for MSVC compiler: Avoid division by a literal 0.
14323         * lib/math.in.h (NAN): Define through a function call also on MSVC.
14324         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
14325         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
14326         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
14327         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
14328         * tests/infinity.h: New file.
14329         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
14330         on MSVC.
14331         * tests/test-ceilf1.c: Include infinity.h.
14332         (main): Use Infinityf.
14333         * tests/test-ceil1.c: Include infinity.h.
14334         (main): Use Infinityd.
14335         * tests/test-ceill.c: Include infinity.h.
14336         (main): Use Infinityl.
14337         * tests/test-dprintf-posix.c: Include infinity.h.
14338         (test_function): Use Infinityd.
14339         * tests/test-floorf1.c: Include infinity.h.
14340         (main): Use Infinityf.
14341         * tests/test-floor1.c: Include infinity.h.
14342         (main): Use Infinityd.
14343         * tests/test-floorl.c: Include infinity.h.
14344         (main): Use Infinityl.
14345         * tests/test-fprintf-posix.c: Include infinity.h.
14346         (test_function): Use Infinityd.
14347         * tests/test-frexp.c: Include infinity.h.
14348         (main): Use Infinityd.
14349         * tests/test-frexpl.c: Include infinity.h.
14350         (main): Use Infinityl.
14351         * tests/test-isfinite.c: Include infinity.h.
14352         (test_isfinitef): Use Infinityf.
14353         (test_isfinited): Use Infinityd.
14354         (test_isfinitel): Use Infinityl.
14355         * tests/test-isinf.c: Include infinity.h.
14356         (test_isinff): Use Infinityf.
14357         (test_isinfd): Use Infinityd.
14358         (test_isinfl): Use Infinityl.
14359         * tests/test-isnan.c: Include infinity.h.
14360         (test_float): Use Infinityf.
14361         (test_double): Use Infinityd.
14362         (test_long_double): Use Infinityl.
14363         * tests/test-isnanf.h: Include infinity.h.
14364         (main): Use Infinityf.
14365         * tests/test-isnand.h: Include infinity.h.
14366         (main): Use Infinityd.
14367         * tests/test-isnanl.h: Include infinity.h.
14368         (main): Use Infinityl.
14369         * tests/test-ldexpl.c: Include infinity.h.
14370         (main): Use Infinityl.
14371         * tests/test-printf-posix.h: Include infinity.h.
14372         (test_function): Use Infinityd.
14373         * tests/test-roundf1.c: Include infinity.h.
14374         (main): Use Infinityf.
14375         * tests/test-round1.c: Include infinity.h.
14376         (main): Use Infinityd.
14377         * tests/test-roundl.c: Include infinity.h.
14378         (main): Use Infinityl.
14379         * tests/test-signbit.c: Include infinity.h.
14380         (test_signbitf): Use Infinityf.
14381         (test_signbitd): Use Infinityd.
14382         (test_signbitl): Use Infinityl.
14383         * tests/test-snprintf-posix.h: Include infinity.h.
14384         (test_function): Use Infinityd, Infinityl.
14385         * tests/test-sprintf-posix.h: Include infinity.h.
14386         (test_function): Use Infinityd, Infinityl.
14387         * tests/test-truncf1.c: Include infinity.h.
14388         (main): Use Infinityf.
14389         * tests/test-trunc1.c: Include infinity.h.
14390         (main): Use Infinityd.
14391         * tests/test-truncl.c: Include infinity.h.
14392         (main): Use Infinityl.
14393         * tests/test-vasnprintf-posix.c: Include infinity.h.
14394         (test_function): Use Infinityd, Infinityl.
14395         * tests/test-vasprintf-posix.c: Include infinity.h.
14396         (test_function): Use Infinityd, Infinityl.
14397         * modules/ceilf-tests (Files): Add tests/infinity.h.
14398         * modules/ceil-tests (Files): Likewise.
14399         * modules/ceill-tests (Files): Likewise.
14400         * modules/dprintf-posix-tests (Files): Likewise.
14401         * modules/floorf-tests (Files): Likewise.
14402         * modules/floor-tests (Files): Likewise.
14403         * modules/floorl-tests (Files): Likewise.
14404         * modules/fprintf-posix-tests (Files): Likewise.
14405         * modules/frexp-tests (Files): Likewise.
14406         * modules/frexp-nolibm-tests (Files): Likewise.
14407         * modules/frexpl-tests (Files): Likewise.
14408         * modules/frexpl-nolibm-tests (Files): Likewise.
14409         * modules/isfinite-tests (Files): Likewise.
14410         * modules/isinf-tests (Files): Likewise.
14411         * modules/isnan-tests (Files): Likewise.
14412         * modules/isnanf-tests (Files): Likewise.
14413         * modules/isnanf-nolibm-tests (Files): Likewise.
14414         * modules/isnand-tests (Files): Likewise.
14415         * modules/isnand-nolibm-tests (Files): Likewise.
14416         * modules/isnanl-tests (Files): Likewise.
14417         * modules/isnanl-nolibm-tests (Files): Likewise.
14418         * modules/ldexpl-tests (Files): Likewise.
14419         * modules/printf-posix-tests (Files): Likewise.
14420         * modules/roundf-tests (Files): Likewise.
14421         * modules/round-tests (Files): Likewise.
14422         * modules/roundl-tests (Files): Likewise.
14423         * modules/signbit-tests (Files): Likewise.
14424         * modules/snprintf-posix-tests (Files): Likewise.
14425         * modules/sprintf-posix-tests (Files): Likewise.
14426         * modules/truncf-tests (Files): Likewise.
14427         * modules/trunc-tests (Files): Likewise.
14428         * modules/truncl-tests (Files): Likewise.
14429         * modules/vasnprintf-posix-tests (Files): Likewise.
14430         * modules/vasprintf-posix-tests (Files): Likewise.
14431         * modules/vdprintf-posix-tests (Files): Likewise.
14432         * modules/vfprintf-posix-tests (Files): Likewise.
14433         * modules/vprintf-posix-tests (Files): Likewise.
14434         * modules/vsnprintf-posix-tests (Files): Likewise.
14435         * modules/vsprintf-posix-tests (Files): Likewise.
14436         * modules/xprintf-posix-tests (Files): Likewise.
14437
14438 2011-09-11  Bruno Haible  <bruno@clisp.org>
14439
14440         Ensure pid_t gets defined.
14441         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
14442         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14443         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
14444         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14445         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
14446         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14447         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
14448         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14449         * tests/test-fcntl-h.c: Check that pid_t is defined.
14450         * tests/test-sched.c: Likewise.
14451         * tests/test-termios.c: Likewise.
14452         * tests/test-time.c: Likewise.
14453         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
14454         * doc/posix-headers/signal.texi: Likewise.
14455         * doc/posix-headers/sys_types.texi: Likewise.
14456         * doc/posix-headers/time.texi: Likewise.
14457
14458 2011-09-11  Bruno Haible  <bruno@clisp.org>
14459
14460         acl: Fix compilation on Solaris 10 (older version).
14461         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
14462         of ACE_EVERYONE.
14463         * lib/set-mode-acl.c (qset_acl): Likewise.
14464         Reported by Christian Jullien <eligis@orange.fr>.
14465
14466 2011-09-10  Bruno Haible  <bruno@clisp.org>
14467
14468         iconv, unsetenv: Add support for MSVC compiler.
14469         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
14470         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
14471
14472 2011-09-10  Bruno Haible  <bruno@clisp.org>
14473
14474         *printf: Add support for MSVC compiler.
14475         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
14476         handles the exception caused by the %n directive. When cross-compiling,
14477         guess no on native Windows.
14478         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
14479         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
14480         emulate it through vsnprintf.
14481         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
14482         * doc/posix-functions/dprintf.texi: Update documentation regarding
14483         MSVC 9.
14484         * doc/posix-functions/fprintf.texi: Likewise.
14485         * doc/posix-functions/printf.texi: Likewise.
14486         * doc/posix-functions/snprintf.texi: Likewise.
14487         * doc/posix-functions/sprintf.texi: Likewise.
14488         * doc/posix-functions/swprintf.texi: Likewise.
14489         * doc/posix-functions/vdprintf.texi: Likewise.
14490         * doc/posix-functions/vfprintf.texi: Likewise.
14491         * doc/posix-functions/vprintf.texi: Likewise.
14492         * doc/posix-functions/vsnprintf.texi: Likewise.
14493         * doc/posix-functions/vsprintf.texi: Likewise.
14494         * doc/glibc-functions/asprintf.texi: Likewise.
14495         * doc/glibc-functions/obstack_printf.texi: Likewise.
14496         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
14497         * doc/glibc-functions/vasprintf.texi: Likewise.
14498
14499 2011-09-10  Bruno Haible  <bruno@clisp.org>
14500
14501         nocrash: Add support for native Windows.
14502         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
14503
14504 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
14505             Bruno Haible  <bruno@clisp.org>
14506
14507         absolute-header, include-next: Add support for MSVC compiler.
14508         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
14509         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
14510         directory separator in #line directives.
14511         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
14512         recognize also backslash as directory separator in #line directives.
14513
14514 2011-09-08  Jim Meyering  <meyering@redhat.com>
14515
14516         maint.mk: mark the post-release commit log with "maint: " prefix
14517         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
14518         one-line commit-log summary.
14519
14520 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
14521             Bruno Haible  <bruno@clisp.org>
14522
14523         Doc about crypt functions.
14524         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
14525         systems.
14526         * doc/posix-functions/encrypt.texi: Likewise.
14527         * doc/posix-functions/setkey.texi: Likewise.
14528
14529 2011-09-08  Simon Josefsson  <simon@josefsson.org>
14530
14531         * lib/gc.h: Fix copyright header.
14532
14533 2011-09-07  Bruno Haible  <bruno@clisp.org>
14534
14535         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
14536         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
14537         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
14538
14539 2011-09-07  Bruno Haible  <bruno@clisp.org>
14540
14541         openat: Work around compilation error with OSF/1 5.1 DTK cc.
14542         * lib/fopen.c: Use different syntax for include of <stdio.h>.
14543         * lib/freopen.c: Likewise.
14544         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
14545         * lib/lstat.c: Likewise.
14546         * lib/stat.c: Likewise.
14547         * lib/open.c: Use different syntax for include of <fcntl.h>.
14548         * lib/openat.c: Include fcntl.h again, explicitly.
14549
14550 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
14551
14552         parse-datetime: document the newly accepted format
14553         * doc/parse-datetime.texi (Combined date and time of day items):
14554         New section.
14555
14556 2011-09-06  Bruno Haible  <bruno@clisp.org>
14557
14558         acl: Fix a test failure on newer Solaris 10 with ZFS.
14559         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
14560         ENOSYS as no ACL.
14561         Reported by Jim Meyering.
14562
14563 2011-09-06  Bruno Haible  <bruno@clisp.org>
14564
14565         acl: Update for AIX >= 5.3 with NFS.
14566         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
14567         ENOSYS as no ACL.
14568
14569         acl: Fix a test failure on AIX >= 5.3 with NFS.
14570         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
14571         as no ACL.
14572
14573 2011-09-06  Bruno Haible  <bruno@clisp.org>
14574
14575         acl: Fix a test failure on IRIX 6.5 with NFS.
14576         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
14577         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
14578         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
14579         * lib/copy-acl.c (qcopy_acl): Likewise.
14580
14581 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14582
14583         openat: port to AIX 7.1 with large files
14584         AIX 7.1 does a "#define openat open64at" if large files are in use,
14585         so we can't simply #undef openat.  Use the orig_openat trick (similar
14586         to orig_open in lib/open.c) to work around the problem.  Problem
14587         reported by Kevin Brott for GNU tar, in the thread containing
14588         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
14589         * lib/openat.c (__need_system_fcntl_h): Define first.
14590         Include <fcntl.h> and <sys/types.h> before undefining.
14591         (orig_openat) [HAVE_OPENAT]: New inline function.
14592         (openat) [HAVE_OPENAT]: Do not undef.
14593         (rpl_openat): Use orig_openat, not openat.
14594
14595 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
14596             Bruno Haible  <bruno@clisp.org>
14597
14598         acl: Avoid errors on NonStop Kernel.
14599         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
14600         ENOTSUP errors.
14601
14602 2011-09-05  Bruno Haible  <bruno@clisp.org>
14603
14604         acl: Clean up Solaris code.
14605         * lib/acl-internal.h: Remove no-op #if.
14606         * lib/file-has-acl.c: Likewise.
14607         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
14608         * lib/copy-acl.c (qcopy_acl): Likewise.
14609
14610 2011-09-05  Bruno Haible  <bruno@clisp.org>
14611
14612         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
14613         binaries built on the original Solaris 10.
14614         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
14615         trivial.
14616
14617 2011-09-05  Bruno Haible  <bruno@clisp.org>
14618
14619         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14620         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
14621         10.
14622         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
14623         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
14624         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
14625         instead of acl_get, facl_get, acl_set, facl_set.
14626
14627 2011-09-05  Bruno Haible  <bruno@clisp.org>
14628
14629         copy-file: Try unit tests on more file systems.
14630         * tests/test-copy-file-1.sh: New file.
14631         * tests/test-copy-file-2.sh: New file.
14632         * modules/copy-file-tests (Files): Add them.
14633         (Makefile.am): Add them to TESTS.
14634
14635         acl: Try unit tests on more file systems.
14636         * tests/test-file-has-acl-1.sh: New file.
14637         * tests/test-file-has-acl-2.sh: New file.
14638         * tests/test-set-mode-acl-1.sh: New file.
14639         * tests/test-set-mode-acl-2.sh: New file.
14640         * tests/test-copy-acl-1.sh: New file.
14641         * tests/test-copy-acl-2.sh: New file.
14642         * modules/acl-tests (Files): Add them.
14643         (Makefile.am): Add them to TESTS.
14644
14645 2011-09-04  Bruno Haible  <bruno@clisp.org>
14646
14647         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14648         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
14649         10.
14650         (OLD_ALLOW, OLD_DENY): New macros.
14651         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
14652         ACE_ACCESS_ALLOWED_ACE_TYPE.
14653         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
14654         ACE_ACCESS_DENIED_ACE_TYPE.
14655         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
14656         (NEW_ACE_EXECUTE): Fix value.
14657         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
14658         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
14659         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
14660         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
14661         NEW_ACE_SYNCHRONIZE): New macros.
14662         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
14663         instead of acl_fromtext, acl_set, facl_set.
14664         Fixes a coreutils/tests/cp/perm failure.
14665
14666 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
14667
14668         openat: test for fstatat (..., 0) bug
14669         Further testing with tar suggests that fstatat (..., 0)
14670         does not work in general, on AIX 7.1; see
14671         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
14672         So, give up entirely on AIX 7.1's fstatat, and fall back on our
14673         replacement fstatat (which is what older AIX releases were using
14674         anyway).
14675         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
14676         use is now changed to orig_fstatat.  This was probably the right
14677         thing to do anyway.
14678         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
14679         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
14680         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
14681         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
14682         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
14683         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
14684         if the bug is found.
14685
14686         openat: test for fstatat (AT_FDCWD, ..., 0) bug
14687         This tests for another fstatat bug on AIX 7.1:
14688         fstatat (AT_FDCWD, ..., 0) does not work.  See
14689         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
14690         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
14691         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
14692         (rpl_fstatat): Adjust so that it works around either (or both)
14693         bugs if present.
14694         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
14695
14696 2011-09-03  Karl Berry  <karl@gnu.org>
14697
14698         * doc/regex.texi (Character Class Operators): Avoid literal ":"
14699         in index entries.
14700
14701 2011-09-02  Bruno Haible  <bruno@clisp.org>
14702
14703         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
14704         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
14705         values of AR, ARFLAGS, RANLIB.
14706         Reported by John W. Eaton <jwe@gnu.org> for Octave.
14707
14708 2011-09-02  Bruno Haible  <bruno@clisp.org>
14709
14710         Find 'ar' program that fits with --host argument.
14711         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
14712
14713 2011-09-02  Bruno Haible  <bruno@clisp.org>
14714
14715         tests: init.sh: Support any non-GNU diff.
14716         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
14717         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
14718         Solaris 8.
14719
14720 2011-09-02  Bruno Haible  <bruno@clisp.org>
14721
14722         tests: init.sh: work also with any non-GNU diff that supports -u
14723         * tests/init.sh: Relax check for diff -u support.
14724         Rather than checking for GNU diff via --version, simply check
14725         for support for -u itself.  Useful at least on OpenBSD 4.9,
14726         AIX 7.1, IRIX 6.5, and Solaris 10.
14727
14728 2011-09-01  Bruno Haible  <bruno@clisp.org>
14729
14730         strtoimax, strtoumax: Document problem on HP-UX 11.
14731         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
14732         * doc/posix-functions/strtoumax.texi: Likewise.
14733
14734 2011-09-01  Bruno Haible  <bruno@clisp.org>
14735
14736         strtoumax: Avoid link error on OSF/1 with DTK cc.
14737         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
14738         defined as a function.
14739         * modules/strtoumax (Depends-on, configure.ac): Test only whether
14740         strtoumax is defined, not whether it is declared.
14741
14742 2011-09-01  Bruno Haible  <bruno@clisp.org>
14743
14744         strtoimax: Avoid link error on OSF/1 with DTK cc.
14745         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
14746         defined as a function.
14747         * modules/strtoimax (Depends-on, configure.ac): Test only whether
14748         strtoimax is defined, not whether it is declared.
14749
14750 2011-09-01  Bruno Haible  <bruno@clisp.org>
14751
14752         imaxdiv: Avoid link error on OSF/1 with DTK cc.
14753         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
14754         as a function.
14755         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
14756         whether it is declared.
14757
14758 2011-09-01  Bruno Haible  <bruno@clisp.org>
14759
14760         imaxabs: Avoid link error on OSF/1 with DTK cc.
14761         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
14762         as a function.
14763         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
14764         whether it is declared.
14765
14766 2011-09-01  Bruno Haible  <bruno@clisp.org>
14767
14768         Tests for module 'strtoumax'.
14769         * modules/strtoumax-tests: New file.
14770         * tests/test-strtoumax.c: New file.
14771
14772         Tests for module 'strtoimax'.
14773         * modules/strtoimax-tests: New file.
14774         * tests/test-strtoimax.c: New file.
14775
14776         Tests for module 'imaxdiv'.
14777         * modules/imaxdiv-tests: New file.
14778         * tests/test-imaxdiv.c: New file.
14779
14780         Tests for module 'imaxabs'.
14781         * modules/imaxabs-tests: New file.
14782         * tests/test-imaxabs.c: New file.
14783
14784 2011-09-01  Bruno Haible  <bruno@clisp.org>
14785
14786         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
14787         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
14788         pthread_create.
14789
14790 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14791
14792         openat: work around AIX 7.1 fstatat issue
14793         This should fix the problem that was not properly fixed
14794         in the previous change, dated 2011-08-30.
14795         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
14796         __need_system_stat_h defined.
14797         (orig_fstatat) [HAVE_FSTATAT]: New function.
14798         (rpl_fstatat): Go back to the old way of doing things,
14799         except call orig_fstatat instead of fstatat.
14800         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
14801         Remove unnecessary check whether fstatat fills in st_size etc.
14802
14803 2011-09-01  Bruno Haible  <bruno@clisp.org>
14804
14805         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
14806         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
14807         just include the system's header.
14808
14809 2011-08-31  Jim Meyering  <meyering@redhat.com>
14810
14811         tests: avoid spurious assertion failure in test-float.c on ppc64
14812         * tests/test-float.c (test_long_double): Comment out an assertion,
14813         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
14814         with gcc-4.4.4.
14815
14816         maint: indent with spaces, not TABs
14817         I need to get in the habit of running gnulib's "make check".
14818         Both of these would have been caught.
14819         * m4/largefile.m4: Indent with spaces, not TABs.
14820         * lib/parse-datetime.y (iso_8601_time): Likewise.
14821         Spotted by Pádraig Brady.
14822
14823         test-parse-datetime.c: accommodate a relatively strict gcc warning
14824         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
14825         to avoid a warning from gcc's -Werror=missing-declarations.
14826         Insert a few spaces-before-funcall-parenthesis.
14827
14828 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
14829
14830         parse-datetime: accept ISO 8601 date and time rep with "T" separator
14831         The parser now accepts ISO 8601 date-time strings with "T" as the
14832         separator.  It has long parsed dates like "2004-02-29 16:21:42"
14833         with a space between the date and time strings.  Now it also parses
14834         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
14835         variants like "2004-02-29T16:21:42.333-07:00"
14836         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
14837         of day representation using the 'T' separator character.
14838         * doc/parse-datetime.texi (General date syntax): replace use of
14839         deprecated --iso-8601 option with --rfc-3339 in example of date
14840         command output formats that can be parsed.
14841         * tests/test-parse-datetime.c (tm_diff): New function, taken from
14842         lib/parse-datetime.y.
14843         (gmt_offset): New function.
14844         (main): Add additional test cases to validate ISO8601 extended
14845         date and time of day parsing.
14846
14847 2011-08-31  Bruno Haible  <bruno@clisp.org>
14848
14849         freopen: Documentation.
14850         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
14851         name.
14852         Reported by Claudio Bley <claudio.bley@gmail.com>.
14853
14854 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
14855
14856         freopen: Don't crash if the filename argument is NULL.
14857         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
14858         NULL.
14859
14860 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
14861
14862         openat: work around AIX 7.1 fstatat bug
14863         Problem reported by Kevin Brott for GNU tar, in the thread containing
14864         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
14865         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
14866         FSTATAT_ST_SIZE_ETC_BROKEN.
14867         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
14868         rpl_fstatat.
14869         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
14870         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
14871         AC_CHECK_FUNCS_ONCE for fstatat.
14872         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
14873         fchmodat, mkdirat, openat and unlinkat.
14874
14875 2011-08-30  Bruno Haible  <bruno@clisp.org>
14876
14877         Avoid endless recursions if config.h includes some header files.
14878         * lib/fopen.c (__need_FILE): Define already before including config.h.
14879         * lib/freopen.c (__need_FILE): Likewise.
14880         * lib/open.c (__need_system_fcntl_h): Likewise.
14881         * lib/stat.c (__need_system_sys_stat_h): Likewise.
14882         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
14883         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
14884
14885 2011-08-25  Karl Berry  <karl@gnu.org>
14886
14887         * config/srclist.txt (ylwrap): new try.
14888         * build-aux/ylwrap: new file.
14889
14890 2011-08-23  Bruno Haible  <bruno@clisp.org>
14891
14892         tmpdir: Use a good default directory on native Windows.
14893         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
14894         (P_tmpdir): Default to _P_tmpdir on native Windows.
14895         (path_search): On native Windows, try the value returned by GetTempPath
14896         before trying P_tmpdir.
14897         * modules/tmpdir (Depends-on): Add pathmax.
14898         Suggested by John Darrington <john@darrington.wattle.id.au>.
14899
14900 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
14901
14902         doc: fix typo in README-release
14903         * top/README-release: Capitalize first word of a sentence.
14904
14905 2011-08-19  Jim Meyering  <meyering@redhat.com>
14906
14907         fts: do not exhaust memory when processing million-entry directories
14908         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
14909         directory would require about 256*N bytes of memory.  Thus, it was
14910         easy to construct a directory too large to be processed by any of
14911         those tools.  With this change, fts' maximum memory utilization is
14912         now limited to around 30MB.
14913         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
14914         (fts_read): When we've processed the final entry (i.e., when
14915         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
14916         using the parent entry to read any remaining entries.  Dispatch
14917         depending on what fts_build returns:
14918         - NULL+stop, aka failure: stop
14919         - NULL otherwise: move up in the dir hierarchy
14920         - non-NULL: handle this new entry
14921         (fts_build): Declare and use new local, continue_readdir.
14922         Prepare to be called from fts_read, when the entries
14923         from a partially-read directory have just been exhausted.
14924         In that case, we'll skip the opendir and instead use the parent's
14925         fts_dirp and derive dir_fd from that.
14926         Finally, in the readdir loop, if we read max_entries entries,
14927         exit the loop ensuring *not* to call closedir.  This is required
14928         so that fts_dirp can be reused on a subsequent call.
14929         Prompted by Ben England's report of memory exhaustion in find
14930         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
14931
14932         maint: fts: move decl of `dp' down into while loop; split a long line
14933         * lib/fts.c (fts_build): No semantic change.
14934
14935         fts: add/use new struct member, fts_dirp
14936         We are about to use this to manage any directory with
14937         too many entries to read all of them into memory at once.
14938         To do that, we'll need to save the DIR* pointer in each
14939         affected FTSENT struct.
14940         * lib/fts_.h: Include <dirent.h>.
14941         (struct FTSENT) [fts_dirp]: New member.
14942         * lib/fts.c (closedir_and_clear): Define.
14943         Use it in place of closedir so that we are sure to
14944         clear the new fts_dirp member when done with it.
14945         (fts_alloc): Initialize the new member.
14946         (fts_lfree): Free, if needed.
14947
14948         maint: fts: give __opendir2 a new parameter and rename
14949         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
14950         than surreptitiously using sole caller's "dir_fd".
14951         (fts_opendir): Rename from __opendir2.
14952
14953         maint: fts.c: remove __opendir2's now-unused parameter, oflag
14954         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
14955
14956         maint: fts.c: correct off-by-one indentation
14957         * lib/fts.c (fts_build): Correct indentation, change style
14958         of a couple of block comments, and bracing style.
14959
14960         maint: fts.c: move __opendir2 #define "up" out of function body
14961         * lib/fts.c (__opendir2): Move "up".  No semantic change.
14962
14963         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
14964         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
14965         out for a long time and besides was useful only on BSD systems.
14966
14967 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
14968
14969         regex: port to Stratus OpenVOS
14970         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
14971         define to empty, rather than attempting nonportable optimizations.
14972         Problem reported by Paul Green in:
14973         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
14974         and fix suggested by Eric Blake in:
14975         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
14976
14977 2011-08-17  Eric Blake  <eblake@redhat.com>
14978
14979         getcwd: fix test failures on mingw
14980         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
14981         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
14982         test if long directory cannot be created, and allow mingw errno.
14983
14984         getcwd-lgpl: fix m4 to match relaxed test for BSD
14985         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
14986         (gl_FUNC_GETCWD_SIGNATURE): New macro.
14987         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
14988         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
14989         signature problem.
14990
14991         getcwd: fix compilation on mingw64
14992         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
14993         getcwd.
14994         Reported by Marc-André Lureau.
14995
14996         pipe2: silence compiler warning
14997         * lib/pipe2.c (pipe2): Hide label if it is not used.
14998
14999 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
15000
15001         relocatable-prog: fix link error
15002         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
15003         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
15004         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
15005         into modules/relocatable-lib without noticing that
15006         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
15007         also needs to build relocatable.c.
15008
15009 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15010
15011         getaddrinfo: fix sh typo in gai_strerrorA decl checking
15012         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
15013         shell code: it contained a 'break' that was not in a loop.
15014         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
15015         via a shell-language loop; this may have been true in old Autoconf
15016         versions, but it's not true in Autoconf 2.68.  I found this bug
15017         when testing coreutils git on Solaris 8, whose shell complains
15018         about the syntax error.
15019
15020 2011-08-12  Simon Josefsson  <simon@josefsson.org>
15021
15022         * lib/base64.c: Fix comment to reference RFC 4648.
15023         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
15024         <gvtulder@gmail.com>.
15025
15026 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15027
15028         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
15029
15030         po/Makefile.in.in: fix make -q problem
15031         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
15032         rule, since there's no file named 'check-macro-version' and its
15033         use as a file breaks make -q.
15034         (all): Don't depend on check-macro-version.
15035         (CHECK_MACRO_VERSION): New macro.
15036         (stamp-po): Use it.
15037
15038         configmake: fix make -q problem
15039         * modules/configmake (configmake.h): Update configmake.h's time stamp
15040         even if the file does not change.  Otherwise, 'make -q' fails.
15041         Problem reported by Simon Josefsson in
15042         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
15043
15044 2011-08-11  Jim Meyering  <meyering@redhat.com>
15045
15046         git-version-gen: correct the advice in a comment
15047         * build-aux/git-version-gen: Correct comment.
15048         Don't recommend to list .tarball-version in .gitignore.
15049
15050 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
15051
15052         base64: fix off-by-one buffer size bug
15053         Problem and (trivial) fix reported by Gijs van Tulder in
15054         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
15055         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
15056         * tests/test-base64.c (main): Catch the bug.
15057
15058 2011-08-10  Eric Blake  <eblake@redhat.com>
15059
15060         closein: correct comments
15061         * lib/closein.c (close_stdin): Improve comments.
15062
15063 2011-08-09  Bruno Haible  <bruno@clisp.org>
15064
15065         More tests for 'fseeko'.
15066         * tests/test-fseeko3.c: New file, from Eric Blake.
15067         * tests/test-fseeko3.sh: New file.
15068         * modules/fseeko-tests (Files): Add them.
15069         (TESTS): Add test-fseeko3.sh.
15070         (check_PROGRAMS): Add test-fseeko3.
15071
15072 2011-08-09  Eric Blake  <eblake@redhat.com>
15073
15074         fseeko: remove unneeded hack
15075         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
15076
15077         fseeko: fix bug on glibc
15078         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
15079         Reported by John W. Eaton.
15080
15081 2011-08-08  Bruno Haible  <bruno@clisp.org>
15082
15083         unictype/base: Fix interoperability with preinstalled libunistring.
15084         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
15085         Reported by Simon Josefsson.
15086
15087 2011-08-08  Bruno Haible  <bruno@clisp.org>
15088
15089         iswblank: Detect declaration correctly.
15090         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
15091         AC_CHECK_DECLS invocation.
15092
15093 2011-08-08  Bruno Haible  <bruno@clisp.org>
15094
15095         tcgetsid: Detect declaration correctly.
15096         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
15097         AC_CHECK_DECLS invocation.
15098         Reported by Simon Josefsson.
15099
15100 2011-08-08  Eric Blake  <eblake@redhat.com>
15101
15102         largefile: fix typo that regressed large file support
15103         * modules/largefile (configure.ac-early): Fix section name.
15104
15105 2011-08-06  Karl Berry  <karl@gnu.org>
15106
15107         * MODULES.html.sh (func_all_files): _Noreturn is no longer
15108         a separate module.
15109
15110 2011-08-05  Simon Josefsson  <simon@josefsson.org>
15111
15112         openat: Fix warnings and commens when building unlinkat.c on Hurd.
15113         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
15114         get prototype for free.
15115
15116 2011-08-04  Bruno Haible  <bruno@clisp.org>
15117
15118         Tests for module 'pathmax'.
15119         * modules/pathmax-tests: New file.
15120         * tests/test-pathmax.c: New file.
15121
15122         canonicalize-lgpl: Support larger filenames on the Hurd.
15123         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
15124         Reported by Paul Eggert.
15125
15126         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
15127         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
15128         * lib/chdir-long.h: Include pathmax.h.
15129         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
15130         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
15131         (PATH_MAX): Remove code that is done by pathmax.h.
15132         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
15133         * lib/tmpfile.c: Add a comment.
15134         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
15135         * modules/chdir-long (Depends-on): Add pathmax.
15136         * modules/getcwd (Depends-on): Add pathmax.
15137         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
15138         is not defined.
15139         * doc/posix-headers/limits.texi: Mention the pathmax module.
15140         * NEWS: Mention the change.
15141
15142 2011-08-02  Bruno Haible  <bruno@clisp.org>
15143
15144         pthread_sigmask: Actually use results of gl_THREADLIB.
15145         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
15146         gl_THREADLIB, not gl_[]THREADLIB.
15147         Reported by Eric Blake.
15148
15149 2011-08-02  Jim Meyering  <meyering@redhat.com>
15150
15151         maint.mk: relax the default _gl_TS_function_match regexp
15152         * top/maint.mk (_gl_TS_function_match): Don't require at least one
15153         space between function name and "(" in an "extern" declaration.
15154         That would fail to match a decl with no space there: extern void foo();
15155
15156 2011-07-31  Iain Nicol  <iain@thenicols.net>
15157
15158         git-version-gen: document that EXTRA_DIST must include .version
15159         * build-aux/git-version-gen: In the how-to-use comment, document
15160         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
15161         will fail when run from an unpacked distribution tarball.
15162
15163 2011-08-01  Bruno Haible  <bruno@clisp.org>
15164
15165         wctype-h: Fix last change.
15166         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
15167         REPLACE_TOWLOWER to 0.
15168         Reported by Sam Steingold <sds@gnu.org>.
15169
15170 2011-07-31  Bruno Haible  <bruno@clisp.org>
15171
15172         frexpl: Update autoconf test.
15173         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
15174         according to changes of 2011-06-20.
15175
15176 2011-07-31  Bruno Haible  <bruno@clisp.org>
15177
15178         sys_utsname: Add support for Minix.
15179         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
15180         <sys/utsname.h>.
15181         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15182         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
15183
15184 2011-07-31  Bruno Haible  <bruno@clisp.org>
15185
15186         strings: Add support for Minix.
15187         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
15188         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
15189         * doc/posix-headers/strings.texi: Document the Minix problem.
15190
15191 2011-07-31  Bruno Haible  <bruno@clisp.org>
15192
15193         wctype-h: Add support for Minix.
15194         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
15195         REPLACE_TOWLOWER.
15196         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
15197         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
15198         REPLACE_ISWCNTRL.
15199
15200 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
15201
15202         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
15203         This is a performance improvement for 64-bit hosts: it causes the
15204         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
15205
15206 2011-07-31  Bruno Haible  <bruno@clisp.org>
15207
15208         stdioext: Add support for Minix.
15209         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
15210         * lib/fpurge.c (fpurge): Likewise.
15211         * lib/freadahead.c (freadahead): Likewise.
15212         * lib/freadable.c (freadable): Likewise.
15213         * lib/freading.c (freading): Likewise.
15214         * lib/freadptr.c (freadptr): Likewise.
15215         * lib/freadseek.c (freadptrinc): Likewise.
15216         * lib/fseeko.c (rpl_fseeko): Likewise.
15217         * lib/fseterr.c (fseterr): Likewise.
15218         * lib/fwritable.c (fwritable): Likewise.
15219         * lib/fwriting.c (fwriting): Likewise.
15220         * lib/fflush.c (clear_ungetc_buffer): Update comment.
15221         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
15222
15223 2011-07-31  Bruno Haible  <bruno@clisp.org>
15224
15225         errno: Port to Minix.
15226         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
15227         ECONNABORTED are defined.
15228         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
15229         GNULIB_defined_ECONNABORTED): New macros.
15230         * lib/strerror-override.h (strerror_override): Test also
15231         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
15232         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
15233         ECONNABORTED.
15234         * doc/posix-headers/errno.texi: Mention the Minix problem.
15235
15236 2011-07-31  Bruno Haible  <bruno@clisp.org>
15237
15238         Work around declaration collisions on Minix.
15239         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
15240         defined, set REPLACE_MBSINIT.
15241         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
15242         defined, set REPLACE_MBRTOWC.
15243         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
15244         set REPLACE_MBRLEN.
15245         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
15246         defined, set REPLACE_MBSRTOWCS.
15247         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
15248         defined, set REPLACE_WCRTOMB.
15249         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
15250         defined, set REPLACE_WCSRTOMBS.
15251
15252 2011-07-31  Bruno Haible  <bruno@clisp.org>
15253
15254         Add support for Minix with ACK compiler.
15255         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
15256         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
15257         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
15258
15259 2011-07-31  Bruno Haible  <bruno@clisp.org>
15260
15261         Documentation about Minix.
15262         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
15263         * doc/glibc-headers/*.texi: Likewise.
15264         * doc/posix-functions/*.texi: Likewise.
15265         * doc/glibc-functions/*.texi: Likewise.
15266
15267 2011-07-31  Bruno Haible  <bruno@clisp.org>
15268
15269         snippet/warn-on-use: Fix indentation.
15270         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
15271
15272 2011-07-25  Jim Meyering  <meyering@redhat.com>
15273
15274         tests: test-update-copyright.sh: remove unnecessary "rm" commands
15275         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
15276         commands.
15277
15278 2011-07-27  Jim Meyering  <meyering@redhat.com>
15279
15280         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
15281         * top/maint.mk (gl_extract_significant_defines_): Now that
15282         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
15283         gnulib/lib/signal.in.h, and now that we recommend to
15284         define-if-undefined those two symbols in application code,
15285         we must filter them out of the "significant" list.
15286         This avoids a "make syntax-check" failure in coreutils.
15287
15288 2011-07-26  Eric Blake  <eblake@redhat.com>
15289
15290         warnings: add comments about previous patch
15291         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
15292         * m4/include_next.m4: Likewise.
15293         * m4/warn-on-use.m4: Likewise.
15294         * m4/warnings.m4: Likewise, and simplify use.
15295         Suggested by Stefano Lattarini.
15296
15297         include-next, warnings: support older autoconf
15298         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
15299         AS_VAR_PUSHDEF in a way that works with older autoconf.
15300         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
15301         Reported by Daniel P. Berrange.
15302
15303 2011-07-25  Bruno Haible  <bruno@clisp.org>
15304
15305         fseek, ftell: Fix doc.
15306         * doc/posix-functions/fseek.texi: Reword statement about
15307         AC_SYS_LARGEFILE.
15308         * doc/posix-functions/ftell.texi: Likewise.
15309
15310 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15311             Bruno Haible  <bruno@clisp.org>
15312
15313         Add dependencies to the 'largefile' module.
15314         * modules/fopen (Depends-on): Add 'largefile'.
15315         * modules/freopen (Depends-on): Likewise.
15316         * modules/fseeko (Depends-on): Likewise.
15317         * modules/ftello (Depends-on): Likewise.
15318         * modules/glob (Depends-on): Likewise.
15319         * modules/lseek (Depends-on): Likewise.
15320         * modules/lstat (Depends-on): Likewise.
15321         * modules/mkostemp (Depends-on): Likewise.
15322         * modules/mkostemps (Depends-on): Likewise.
15323         * modules/mkstemp (Depends-on): Likewise.
15324         * modules/mkstemps (Depends-on): Likewise.
15325         * modules/open (Depends-on): Likewise.
15326         * modules/openat (Depends-on): Likewise.
15327         * modules/pread (Depends-on): Likewise.
15328         * modules/pwrite (Depends-on): Likewise.
15329         * modules/scandir (Depends-on): Likewise.
15330         * modules/stat (Depends-on): Likewise.
15331         * modules/tmpfile (Depends-on): Likewise.
15332         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
15333         since the containing module now depends on the largefile module.
15334         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
15335         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
15336         off_t is fixed by gnulib.
15337         * doc/posix-functions/freopen.texi: Likewise.
15338         * doc/posix-functions/fseeko.texi: Likewise.
15339         * doc/posix-functions/fstatat.texi: Likewise.
15340         * doc/posix-functions/ftello.texi: Likewise.
15341         * doc/posix-functions/glob.texi: Likewise.
15342         * doc/posix-functions/lseek.texi: Likewise.
15343         * doc/posix-functions/lstat.texi: Likewise.
15344         * doc/posix-functions/mkstemp.texi: Likewise.
15345         * doc/posix-functions/open.texi: Likewise.
15346         * doc/posix-functions/openat.texi: Likewise.
15347         * doc/posix-functions/pread.texi: Likewise.
15348         * doc/posix-functions/pwrite.texi: Likewise.
15349         * doc/posix-functions/scandir.texi: Likewise.
15350         * doc/posix-functions/stat.texi: Likewise.
15351         * doc/posix-functions/tmpfile.texi: Likewise.
15352         * doc/glibc-functions/mkostemp.texi: Likewise.
15353         * doc/glibc-functions/mkostemps.texi: Likewise.
15354         * doc/glibc-functions/mkstemps.texi: Likewise.
15355
15356 2011-07-25  Bruno Haible  <bruno@clisp.org>
15357
15358         fcntl: Move AC_LIBOBJ invocation to module description.
15359         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
15360         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
15361
15362         fcntl: Remove call-in from fchdir.m4.
15363         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
15364         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
15365
15366         dup3: Remove potential call-in from fchdir.m4.
15367         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
15368         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
15369
15370         dup2: Move AC_LIBOBJ invocation to module description.
15371         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
15372         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
15373         Don't invoke AC_LIBOBJ.
15374         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
15375
15376         dup2: Remove call-in from fchdir.m4.
15377         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
15378         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
15379
15380         fclose: Move AC_LIBOBJ invocation to module description.
15381         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
15382         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
15383         to 1.
15384         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
15385
15386         fclose: Remove call-in from close.m4.
15387         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
15388         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
15389
15390         close: Move AC_LIBOBJ invocation to module description.
15391         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
15392         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
15393         1.
15394         * modules/close (configure.ac): Invoke AC_LIBOBJ.
15395
15396         close: Remove call-in from fchdir.m4.
15397         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
15398         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
15399
15400         open: Move AC_LIBOBJ invocation to module description.
15401         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
15402         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
15403         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
15404
15405         open: Remove call-in from fchdir.m4.
15406         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
15407         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
15408
15409         fchdir: Start to remove gl_REPLACE_* idiom.
15410         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
15411         (gl_FUNC_FCHDIR): Invoke it.
15412
15413 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15414
15415         * lib/ftell.c (ftell): Comment out cast.
15416
15417         close: use gl_REPLACE_FCLOSE only if defined
15418         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
15419         is defined.  The close module doesn't depend on the fclose module
15420         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
15421         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
15422         I reproduced the problem with "./gnulib-tool --test close sys_socket".
15423
15424 2011-07-24  Jim Meyering  <meyering@redhat.com>
15425
15426         test-select.h: avoid warning when using gcc's -Wmissing-declarations
15427         * tests/test-select.h (test_function): Declare as "static".
15428
15429 2011-07-24  Bruno Haible  <bruno@clisp.org>
15430
15431         doc: Mention the effects of AC_SYS_LARGEFILE.
15432         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
15433         on this function.
15434         * doc/posix-functions/aio_error.texi: Likewise.
15435         * doc/posix-functions/aio_fsync.texi: Likewise.
15436         * doc/posix-functions/aio_read.texi: Likewise.
15437         * doc/posix-functions/aio_return.texi: Likewise.
15438         * doc/posix-functions/aio_suspend.texi: Likewise.
15439         * doc/posix-functions/aio_write.texi: Likewise.
15440         * doc/posix-functions/fgetpos.texi: Likewise.
15441         * doc/posix-functions/fopen.texi: Likewise.
15442         * doc/posix-functions/freopen.texi: Likewise.
15443         * doc/posix-functions/fsetpos.texi: Likewise.
15444         * doc/posix-functions/fstatvfs.texi: Likewise.
15445         * doc/posix-functions/ftruncate.texi: Likewise.
15446         * doc/posix-functions/ftw.texi: Likewise.
15447         * doc/posix-functions/getrlimit.texi: Likewise.
15448         * doc/posix-functions/glob.texi: Likewise.
15449         * doc/posix-functions/lio_listio.texi: Likewise.
15450         * doc/posix-functions/lockf.texi: Likewise.
15451         * doc/posix-functions/mkstemp.texi: Likewise.
15452         * doc/posix-functions/mmap.texi: Likewise.
15453         * doc/posix-functions/nftw.texi: Likewise.
15454         * doc/posix-functions/openat.texi: Likewise.
15455         * doc/posix-functions/opendir.texi: Likewise.
15456         * doc/posix-functions/posix_fadvise.texi: Likewise.
15457         * doc/posix-functions/posix_fallocate.texi: Likewise.
15458         * doc/posix-functions/pread.texi: Likewise.
15459         * doc/posix-functions/pwrite.texi: Likewise.
15460         * doc/posix-functions/readdir.texi: Likewise.
15461         * doc/posix-functions/readdir_r.texi: Likewise.
15462         * doc/posix-functions/rewinddir.texi: Likewise.
15463         * doc/posix-functions/scandir.texi: Likewise.
15464         * doc/posix-functions/seekdir.texi: Likewise.
15465         * doc/posix-functions/setrlimit.texi: Likewise.
15466         * doc/posix-functions/statvfs.texi: Likewise.
15467         * doc/posix-functions/telldir.texi: Likewise.
15468         * doc/posix-functions/tmpfile.texi: Likewise.
15469         * doc/posix-functions/truncate.texi: Likewise.
15470         * doc/glibc-functions/fallocate.texi: Likewise.
15471         * doc/glibc-functions/fstatfs.texi: Likewise.
15472         * doc/glibc-functions/fts_children.texi: Likewise.
15473         * doc/glibc-functions/fts_read.texi: Likewise.
15474         * doc/glibc-functions/getdirentries.texi: Likewise.
15475         * doc/glibc-functions/mkostemp.texi: Likewise.
15476         * doc/glibc-functions/mkostemps.texi: Likewise.
15477         * doc/glibc-functions/mkstemps.texi: Likewise.
15478         * doc/glibc-functions/preadv.texi: Likewise.
15479         * doc/glibc-functions/pwritev.texi: Likewise.
15480         * doc/glibc-functions/sendfile.texi: Likewise.
15481         * doc/glibc-functions/statfs.texi: Likewise.
15482
15483 2011-07-24  Bruno Haible  <bruno@clisp.org>
15484
15485         doc: Fix typo.
15486         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
15487
15488 2011-07-24  Bruno Haible  <bruno@clisp.org>
15489
15490         doc: Mention fsusage.
15491         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
15492
15493 2011-07-24  Bruno Haible  <bruno@clisp.org>
15494
15495         doc: Mention new glibc headers and functions.
15496         * doc/glibc-headers/gshadow.texi: New file.
15497         * doc/glibc-functions/endsgent.texi: New file.
15498         * doc/glibc-functions/fgetsgent.texi: New file.
15499         * doc/glibc-functions/fgetsgent_r.texi: New file.
15500         * doc/glibc-functions/getsgent.texi: New file.
15501         * doc/glibc-functions/getsgent_r.texi: New file.
15502         * doc/glibc-functions/getsgnam.texi: New file.
15503         * doc/glibc-functions/getsgnam_r.texi: New file.
15504         * doc/glibc-functions/putsgent.texi: New file.
15505         * doc/glibc-functions/setsgent.texi: New file.
15506         * doc/glibc-functions/sgetsgent.texi: New file.
15507         * doc/glibc-functions/sgetsgent_r.texi: New file.
15508         * doc/glibc-functions/malloc_info.texi: New file.
15509         * doc/glibc-functions/preadv.texi: New file.
15510         * doc/glibc-functions/pwritev.texi: New file.
15511         * doc/glibc-functions/register_printf_modifier.texi: New file.
15512         * doc/glibc-functions/register_printf_specifier.texi: New file.
15513         * doc/glibc-functions/register_printf_type.texi: New file.
15514         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
15515         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
15516         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
15517         * doc/glibc-functions/pthread_getname_np.texi: New file.
15518         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
15519         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
15520         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
15521         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
15522         * doc/glibc-functions/pthread_setname_np.texi: New file.
15523         * doc/glibc-functions/pthread_sigqueue.texi: New file.
15524         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
15525         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
15526         * doc/glibc-functions/qsort_r.texi: New file.
15527         * doc/glibc-functions/quick_exit.texi: New file.
15528         * doc/glibc-functions/syncfs.texi: New file.
15529         * doc/gnulib.texi: Include them.
15530         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
15531         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
15532         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
15533         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
15534         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
15535         * doc/glibc-functions/execvpe.texi: Likewise.
15536
15537 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15538
15539         ftell: don't include <unistd.h>
15540         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
15541         guaranteed to define off_t, and the ftell module depends on the
15542         stdio module.
15543
15544         ftell: do not assume wraparound signed arithmetic
15545         * lib/ftell.c: Include <limits.h>.
15546         (ftell): Don't assume wraparound signed arithmetic.
15547
15548 2011-07-24  Bruno Haible  <bruno@clisp.org>
15549
15550         close: No longer depend on module 'fclose'.
15551         * modules/close (Depends-on): Remove fclose.
15552         * NEWS: Mention the change.
15553         Suggested by Sam Steingold <sds@gnu.org>.
15554
15555 2011-07-24  Bruno Haible  <bruno@clisp.org>
15556
15557         fsusage: Enable large volume support on AIX >= 5.2.
15558         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
15559         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
15560         instead of STAT_STATVFS.
15561         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
15562
15563         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
15564         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
15565         f_blocks field only on MacOS X.
15566
15567         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
15568         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
15569         * modules/fsusage (Depends-on): Add largefile.
15570
15571 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15572
15573         * README: Modernize discussion of signed integers.
15574         Assuming overflow wraparound is no longer safe.
15575         Mention ones' complement and signed magnitude.
15576
15577 2011-07-22  Bruno Haible  <bruno@clisp.org>
15578
15579         select tests, pselect tests: Refactor.
15580         * tests/test-select.h: New file, extracted from tests/test-select.c.
15581         (select_fn): New type.
15582         (test, do_select, do_select_nowait, do_select_wait, test_tty,
15583         test_connect_first, test_accept_first, test_pair, test_socket_pair,
15584         test_pipe): Add my_select argument.
15585         (test_function): Renamed from main. Add my_select argument.
15586         * tests/test-select.c: Move most code to tests/test-select.h. Include
15587         test-select.h.
15588         * modules/select-tests (Files): Add tests/test-select.h.
15589         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
15590         (my_select, main): New functions.
15591         * modules/pselect-tests (Files): Add tests/test-select.h,
15592         tests/macros.h, tests/signature.h.
15593         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
15594         (configure.ac): Check for <sys/wait.h>.
15595
15596 2011-07-22  Bruno Haible  <bruno@clisp.org>
15597
15598         sys_select tests: Check the signature of FD_*.
15599         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
15600         signature tests from here...
15601         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
15602         here.
15603         * modules/sys_select-tests (Files): Add tests/signature.h.
15604
15605 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15606
15607         largefile: new module, replacing large-inode
15608         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
15609         * MODULES.html.sh: Add largefile, remove large-inode.
15610         * modules/largefile, m4/largefile.m4: New files.
15611         * modules/large-inode, m4/large-inode.m4: Remove.
15612
15613         fsusage: port to MacOS X 10.7 with 4 TiB file systems
15614         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
15615         implementations that use only 32 bits to count blocks.
15616         On typical hosts with 1024-byte blocks, this fails with file
15617         systems as small as 4 TiB.  Problem reported by Herb Wartens
15618         <http://debbugs.gnu.org/9140> and this should also fix a similar
15619         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
15620
15621         large-inode: New module
15622         * MODULES.html.sh: Add it.
15623         * modules/large-inode, m4/large-inode.m4: New files.
15624
15625         extensions: Enable extensions on MacOS X 10.5 and later.
15626         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
15627
15628 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
15629
15630         file-has-acl: use acl_extended_file_nofollow if available
15631         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
15632         (acl_extended_file): New macro.
15633         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
15634         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
15635
15636 2011-07-21  Bruno Haible  <bruno@clisp.org>
15637
15638         Declare system functions in a way that works with C++.
15639         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
15640         declare fdopendir as extern "C".
15641         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
15642         declare frexpl as extern "C".
15643         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
15644         declare gai_strerror as extern "C".
15645         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
15646         programs, declare gai_strerror as extern "C".
15647         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
15648         declare getlogin_r as extern "C".
15649         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
15650         as extern "C".
15651         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
15652         declare ldexpl as extern "C".
15653         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
15654         as extern "C".
15655         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
15656         program, declare getmntinfo as extern "C".
15657         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
15658         stpncpy as extern "C".
15659         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
15660         program, declare __xpg_strerror_r as extern "C".
15661         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
15662         strndup as extern "C".
15663         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
15664         declare memset and bzero as extern "C".
15665         Reported by Sam Steingold <sds@gnu.org>.
15666
15667 2011-07-12  Jim Meyering  <meyering@redhat.com>
15668
15669         maint.mk: prohibit inclusion of "verify.h" without use
15670         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
15671
15672 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15673
15674         timer-time: A new module to check for timer_settime()
15675         * m4/timer_time.m4: Check for the posix function.
15676         * modules/timer-time: Add the new module.
15677         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
15678         Mention it.
15679
15680 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
15681             Bruno Haible  <bruno@clisp.org>
15682
15683         pthread_sigmask: assume POSIX threads if --avoid=threadlib
15684         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
15685         not defined, assume POSIX threads and look for pthread_sigmask in
15686         $LIBS, without changing $CPPFLAGS.
15687
15688 2011-07-19  Bruno Haible  <bruno@clisp.org>
15689
15690         strstr: Update cross-compilation guess.
15691         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
15692         CPUs, guess no, in view of glibc
15693         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
15694         Suggested by Eric Blake. Reported by Reuben Thomas.
15695
15696 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15697
15698         getopt-gnu: suppress core dumps from detection code
15699         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
15700         to suppress core dumps that may well occur on glibc systems.
15701         * modules/getopt-gnu: Depend on nocrash.
15702
15703 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15704
15705         pthread_sigmask: ensure usleep is declared
15706         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
15707         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
15708
15709 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
15710
15711         doc: Document NonStop portability issues.
15712         * doc/posix-functions/sigaction.texi (sigaction):
15713         * doc/posix-headers/signal.texi (signal.h):
15714         Document NonStop.  See Joachim Schmitz in
15715         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
15716
15717 2011-07-15  Bruno Haible  <bruno@clisp.org>
15718
15719         ffsl, ffsll: Avoid unportable behaviour.
15720         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
15721
15722 2011-07-15  Bruno Haible  <bruno@clisp.org>
15723
15724         ffs: More tests.
15725         * tests/test-ffs.c (NBITS): New macro.
15726         (main): Add more tests.
15727         * tests/test-ffsl.c (NBITS): New macro.
15728         (main): Add more tests.
15729         * tests/test-ffsll.c (NBITS): New macro.
15730         (main): Add more tests.
15731
15732 2011-07-15  Eric Blake  <eblake@redhat.com>
15733
15734         ffsl, ffsll: new modules
15735         * modules/ffsl: New file.
15736         * modules/ffsll: Likewise.
15737         * m4/ffsl.m4: Likewise.
15738         * m4/ffsll.m4: Likewise.
15739         * lib/ffsl.c: Likewise.
15740         * lib/ffsl.h: Likewise.
15741         * lib/ffsll.c: Likewise.
15742         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
15743         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
15744         * modules/string (Makefile.am): Substitute witnesses.
15745         * lib/strings.in.h (ffsl, ffsll): Declare.
15746         * modules/ffsl-tests: New test file.
15747         * modules/ffsll-tests: Likewise.
15748         * tests/test-ffsl.c: Likewise.
15749         * tests/test-ffsll.c: Likewise.
15750         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15751         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
15752         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
15753
15754         ffs: fix m4 prerequisite
15755         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
15756
15757         ffs: avoid undefined behavior
15758         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
15759         * tests/test-ffs.c (naive, main): Avoid signed shifts.
15760         Reported by Bruno Haible.
15761
15762 2011-07-12  Bruno Haible  <bruno@clisp.org>
15763
15764         pthread_sigmask: Rely on module 'threadlib'.
15765         * modules/pthread_sigmask (Depends-on): Add threadlib.
15766         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
15767         is defined.
15768
15769 2011-07-12  Bruno Haible  <bruno@clisp.org>
15770
15771         regex: Depend on module 'strcase'.
15772         * modules/regex (Depends-on): Add strcase, for strcasecmp().
15773
15774 2011-07-12  Jim Meyering  <meyering@redhat.com>
15775
15776         warn-on-use: fix typo in file name
15777         * modules/snippet/warn-on-use (Files): Correct file name:
15778         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
15779
15780 2011-07-12  Bruno Haible  <bruno@clisp.org>
15781
15782         strings: Document module.
15783         * doc/posix-headers/strings.texi: Mention module 'strings'.
15784
15785 2011-07-12  Bruno Haible  <bruno@clisp.org>
15786
15787         Rename module '_Noreturn' to 'snippet/_Noreturn'.
15788         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
15789         (Files, Makefile.am): Update.
15790         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
15791         * modules/stdlib (Depends-on): Update.
15792
15793 2011-07-12  Bruno Haible  <bruno@clisp.org>
15794
15795         * NEWS: Mention the changes.
15796
15797         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
15798         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
15799         (Files, Makefile.am): Update.
15800         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
15801         * modules/arpa_inet (Depends-on): Update.
15802         * modules/ctype (Depends-on): Update.
15803         * modules/dirent (Depends-on): Update.
15804         * modules/fcntl-h (Depends-on): Update.
15805         * modules/glob (Depends-on): Update.
15806         * modules/iconv-h (Depends-on): Update.
15807         * modules/inttypes-incomplete (Depends-on): Update.
15808         * modules/langinfo (Depends-on): Update.
15809         * modules/locale (Depends-on): Update.
15810         * modules/math (Depends-on): Update.
15811         * modules/netdb (Depends-on): Update.
15812         * modules/poll-h (Depends-on): Update.
15813         * modules/pty (Depends-on): Update.
15814         * modules/search (Depends-on): Update.
15815         * modules/signal (Depends-on): Update.
15816         * modules/spawn (Depends-on): Update.
15817         * modules/stdio (Depends-on): Update.
15818         * modules/stdlib (Depends-on): Update.
15819         * modules/string (Depends-on): Update.
15820         * modules/strings (Depends-on): Update.
15821         * modules/sys_file (Depends-on): Update.
15822         * modules/sys_ioctl (Depends-on): Update.
15823         * modules/sys_select (Depends-on): Update.
15824         * modules/sys_socket (Depends-on): Update.
15825         * modules/sys_stat (Depends-on): Update.
15826         * modules/sys_time (Depends-on): Update.
15827         * modules/sys_times (Depends-on): Update.
15828         * modules/sys_utsname (Depends-on): Update.
15829         * modules/sys_wait (Depends-on): Update.
15830         * modules/termios (Depends-on): Update.
15831         * modules/time (Depends-on): Update.
15832         * modules/unistd (Depends-on): Update.
15833         * modules/wchar (Depends-on): Update.
15834         * modules/wctype-h (Depends-on): Update.
15835         * MODULES.html.sh (Support for building libraries and executables):
15836         Update.
15837
15838         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
15839         * modules/snippet/unused-parameter: Renamed from
15840         modules/unused-parameter.
15841         (Files, Makefile.am): Update.
15842         * build-aux/snippet/unused-parameter.h: Renamed from
15843         build-aux/unused-parameter.h.
15844         * modules/selinux-h (Depends-on): Update.
15845         * modules/unistr/base (Depends-on): Update.
15846         * MODULES.html.sh (Core language properties): Update.
15847
15848         Rename module 'link-warning' to 'snippet/link-warning'.
15849         * modules/snippet/link-warning: Renamed from modules/link-warning.
15850         (Files, Makefile.am): Update.
15851         * build-aux/snippet/link-warning.h: Renamed from
15852         build-aux/link-warning.h.
15853         * MODULES.html.sh (Support for building libraries and executables):
15854         Update.
15855
15856         Rename module 'c++defs' to 'snippet/c++defs'.
15857         * modules/snippet/c++defs: Renamed from modules/c++defs.
15858         (Files, Makefile.am): Update.
15859         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
15860         * modules/arpa_inet (Depends-on): Update.
15861         * modules/ctype (Depends-on): Update.
15862         * modules/dirent (Depends-on): Update.
15863         * modules/fcntl-h (Depends-on): Update.
15864         * modules/glob (Depends-on): Update.
15865         * modules/iconv-h (Depends-on): Update.
15866         * modules/langinfo (Depends-on): Update.
15867         * modules/locale (Depends-on): Update.
15868         * modules/math (Depends-on): Update.
15869         * modules/netdb (Depends-on): Update.
15870         * modules/poll-h (Depends-on): Update.
15871         * modules/pty (Depends-on): Update.
15872         * modules/search (Depends-on): Update.
15873         * modules/signal (Depends-on): Update.
15874         * modules/spawn (Depends-on): Update.
15875         * modules/stdio (Depends-on): Update.
15876         * modules/stdlib (Depends-on): Update.
15877         * modules/string (Depends-on): Update.
15878         * modules/strings (Depends-on): Update.
15879         * modules/sys_ioctl (Depends-on): Update.
15880         * modules/sys_select (Depends-on): Update.
15881         * modules/sys_socket (Depends-on): Update.
15882         * modules/sys_stat (Depends-on): Update.
15883         * modules/sys_time (Depends-on): Update.
15884         * modules/sys_wait (Depends-on): Update.
15885         * modules/termios (Depends-on): Update.
15886         * modules/time (Depends-on): Update.
15887         * modules/unistd (Depends-on): Update.
15888         * modules/wchar (Depends-on): Update.
15889         * modules/wctype-h (Depends-on): Update.
15890
15891         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
15892         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
15893         (Files, Makefile.am): Update.
15894         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
15895         * modules/argv-iter (Depends-on): Update.
15896         * modules/arpa_inet (Depends-on): Update.
15897         * modules/dirent (Depends-on): Update.
15898         * modules/fcntl-h (Depends-on): Update.
15899         * modules/fnmatch (Depends-on): Update.
15900         * modules/getopt-posix (Depends-on): Update.
15901         * modules/glob (Depends-on): Update.
15902         * modules/iconv-h (Depends-on): Update.
15903         * modules/inttypes-incomplete (Depends-on): Update.
15904         * modules/locale (Depends-on): Update.
15905         * modules/math (Depends-on): Update.
15906         * modules/netdb (Depends-on): Update.
15907         * modules/search (Depends-on): Update.
15908         * modules/signal (Depends-on): Update.
15909         * modules/spawn (Depends-on): Update.
15910         * modules/stdio (Depends-on): Update.
15911         * modules/stdlib (Depends-on): Update.
15912         * modules/string (Depends-on): Update.
15913         * modules/strings (Depends-on): Update.
15914         * modules/sys_socket (Depends-on): Update.
15915         * modules/sys_stat (Depends-on): Update.
15916         * modules/sys_time (Depends-on): Update.
15917         * modules/sys_times (Depends-on): Update.
15918         * modules/sys_utsname (Depends-on): Update.
15919         * modules/time (Depends-on): Update.
15920         * modules/unistd (Depends-on): Update.
15921         * modules/wchar (Depends-on): Update.
15922         * MODULES.html.sh (Support for building libraries and executables):
15923         Update.
15924
15925 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15926
15927         Improvements on _Noreturn and related modules.
15928
15929         modules/_Exit-tests: test _Noreturn too
15930         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
15931         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
15932         (main): Use them.
15933
15934         stdnoreturn, stdnoreturn-tests: remove modules
15935         They're not needed here and a bit premature for use elsewhere.  See
15936         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
15937         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
15938         * tests/test-stdnoreturn.c: Remove files.
15939         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
15940         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
15941         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
15942         and using noreturn.
15943         * modules/openat, modules/sigpipe-die, modules/xalloc:
15944         * modules/xmemdup0, modules/xstrtol:
15945         Remove dependency on stdnoreturn.
15946
15947         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
15948         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
15949         Reparenthesize to avoid GCC warning.
15950         Support Microsoft's syntax.
15951         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
15952
15953         _Noreturn-tests: remove module
15954         * modules/_Noreturn-tests: Remove.
15955         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
15956         * tests/test-_Noreturn.c: Remove.
15957         * tests/test-stdnoreturn.c: Merge from the old
15958         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
15959
15960 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15961
15962         _Noreturn, stdnoreturn, and related modules.
15963
15964         * top/maint.mk: Adjust to new noreturn support.
15965         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
15966         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
15967
15968         xalloc: use stdnoreturn.h
15969         * lib/xalloc.h: Include <stdnoreturn.h>.
15970         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15971         * modules/xalloc (Depends-on): Add stdnoreturn.
15972
15973         xstrtol: use stdnoreturn.h
15974         * lib/xstrtol.h: Include <stdnoreturn.h>.
15975         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15976         * modules/xstrtol (Depends-on): Add stdnoreturn.
15977
15978         xmemdup0: use stdnoreturn.h
15979         * lib/xmemdup0.h: Include <stdnoreturn.h>.
15980         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15981         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
15982
15983         sigpipe-die: use stdnoreturn.h
15984         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
15985         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15986         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
15987
15988         openat: use stdnoreturn.h
15989         * lib/openat.h: Include <stdnoreturn.h>.
15990         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15991         * modules/openat (Depends-on): Add stdnoreturn.
15992
15993         * lib/openat-die.c (openat_save_fail): Modernize comment.
15994
15995         * lib/xalloc-die.c (xalloc_die): Modernize comment.
15996
15997         * lib/glthread/thread.h: Modernize comment.
15998
15999         obstack: use _Noreturn
16000         * lib/obstack.c (__attribute__): Remove macro.
16001         (print_and_abort): Use _Noreturn.
16002
16003         c-stack: use _Noreturn
16004         * lib/c-stack.c (die, overflow_handler, segv_handler):
16005         Use _Noreturn rather than __attribute__((noreturn)).
16006
16007         argmatch-tests, exclude_tests: use _Noreturn
16008         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
16009         Remove.
16010         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
16011
16012         stdlib: use _Noreturn
16013         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
16014         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
16015         * modules/stdlib (Depends-on): Add _Noreturn.
16016         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
16017
16018         stdnoreturn-tests: new module
16019         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
16020
16021         stdnoreturn: new module
16022         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
16023         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
16024
16025         _Noreturn-tests: new module
16026         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
16027
16028         _Noreturn: new module
16029         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
16030         New section, mentioning it.
16031         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
16032
16033         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
16034
16035 2011-07-11  Eric Blake  <eblake@redhat.com>
16036
16037         ffs: new module
16038         * modules/ffs: New file.
16039         * m4/ffs.m4: Likewise.
16040         * lib/ffs.c: Likewise.
16041         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
16042         * modules/strings (Makefile.am): Substitute witness.
16043         (Depends-on): Add c++defs.
16044         * lib/strings.in.h (ffs): Declare.
16045         * modules/ffs-tests: New test file.
16046         * tests/test-ffs.c: Test new module.
16047         * MODULES.html.sh (Integer arithmetic functions): Mention it.
16048         * doc/posix-functions/ffs.texi (ffs): Likewise.
16049
16050         regex: avoid compiler warning
16051         * lib/regex.c (includes): Include <strings.h>, for use of
16052         strcasecmp in regcomp.c.
16053         Reported by Joachim Schmitz.
16054
16055 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
16056
16057         stdint: respect system's intmax_t if INTMAX_MAX
16058         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
16059         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
16060         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
16061         long but int64_t is long long, and where we will clash with the
16062         system intmax_t if we override it.  See
16063         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
16064         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
16065         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
16066         similarly for UINTMAX_C.
16067
16068 2011-07-08  Bruno Haible  <bruno@clisp.org>
16069
16070         pthread_sigmask tests: Avoid a compiler warning.
16071         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
16072         non-zero.
16073
16074         sigprocmask tests: A better way to avoid a compiler warning.
16075         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
16076         (main): Complain if system() returns non-zero.
16077         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
16078
16079 2011-07-08  Bruno Haible  <bruno@clisp.org>
16080
16081         pthread_sigmask: Work around IRIX bug.
16082         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
16083         bug.
16084         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
16085         there may be unblocked pending signals.
16086         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
16087
16088 2011-07-08  Bruno Haible  <bruno@clisp.org>
16089
16090         pthread_sigmask: Work around Cygwin bug.
16091         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
16092         bug.
16093         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
16094         the system's pthread_sigmask function.
16095         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
16096
16097 2011-07-08  Bruno Haible  <bruno@clisp.org>
16098
16099         pthread_sigmask: Work around bug in single-threaded implementation.
16100         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
16101         FreeBSD, HP-UX, Solaris bug.
16102         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
16103         * lib/pthread_sigmask.c: Include <stddef.h>.
16104         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
16105         the system's pthread_sigmask function.
16106         * modules/pthread_sigmask (configure.ac): Invoke
16107         gl_PREREQ_PTHREAD_SIGMASK.
16108         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
16109         HP-UX, Solaris.
16110
16111 2011-07-08  Eric Blake  <eblake@redhat.com>
16112
16113         test-sigprocmask: avoid compiler warning
16114         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
16115         * tests/test-sigprocmask.c (main): Use it to silence warning.
16116         Reported by Jim Meyering.
16117
16118         test-snprintf: avoid compiler warning
16119         * tests/test-snprintf.c (main): Avoid shadowed declaration.
16120         * tests/test-vsnprintf.c (main): Likewise.
16121         Reported by Jim Meyering.
16122
16123 2011-07-08  Bruno Haible  <bruno@clisp.org>
16124
16125         Tests for module 'pthread_sigmask'.
16126         * modules/pthread_sigmask-tests: New file.
16127         * tests/test-pthread_sigmask1.c: New file, based on
16128         tests/test-sigprocmask.c.
16129         * tests/test-pthread_sigmask2.c: New file.
16130
16131 2011-07-08  Jim Meyering  <meyering@redhat.com>
16132
16133         test-getopt.h: avoid warning about an unused variable
16134         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
16135
16136 2011-07-07  Jim Meyering  <meyering@redhat.com>
16137
16138         maint: reduce list of files exempt from sc_prohibit_leading_TABs
16139         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
16140         now that it no longer contains leading TABs.
16141         Remove unused "url=FIXME" statement.
16142
16143 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
16144
16145         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
16146         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16147         When gl_THREADLIB is not in use, assume that the POSIX sematics
16148         are desired.  This is better for Emacs, which uses POSIX semantics
16149         on GNUish and/or POSIXish platforms, and does not use threads at
16150         all otherwise.
16151
16152         pthread_sigmask: fix typo when testing for libraries
16153         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16154         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
16155
16156 2011-07-08  Eric Blake  <eblake@redhat.com>
16157
16158         fts: introduce FTS_NOATIME
16159         * lib/fts_.h (FTS_NOATIME): New bit flag.
16160         (FTS_OPTIONMASK): Adjust.
16161         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
16162         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
16163
16164 2011-07-08  Bruno Haible  <bruno@clisp.org>
16165
16166         Tests for module 'thread'.
16167         * modules/thread-tests: New file.
16168         * tests/test-thread_self.c: New file.
16169         * tests/test-thread_create.cc: New file.
16170
16171 2011-07-08  Bruno Haible  <bruno@clisp.org>
16172
16173         thread: Avoid gcc warnings when using gl_thread_self().
16174         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
16175         'void *'.
16176         (gl_thread_self_pointer): Update.
16177
16178 2011-07-07  Bruno Haible  <bruno@clisp.org>
16179
16180         signal-c++-tests: Check declaration of pthread_sigmask.
16181         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
16182         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
16183         $(LIB_PTHREAD_SIGMASK).
16184
16185 2011-07-07  Bruno Haible  <bruno@clisp.org>
16186
16187         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
16188         * lib/signal.in.h (pthread_sigmask): Override if
16189         REPLACE_PTHREAD_SIGMASK is 1.
16190         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
16191         REPLACE_PTHREAD_SIGMASK.
16192         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
16193         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
16194         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
16195         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
16196         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
16197
16198 2011-07-07  Bruno Haible  <bruno@clisp.org>
16199
16200         pthread_sigmask: Ensure declaration in <signal.h>.
16201         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
16202         include <pthread.h>.
16203         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
16204         problem.
16205
16206 2011-07-07  Bruno Haible  <bruno@clisp.org>
16207
16208         pthread_sigmask: Document the module.
16209         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
16210
16211 2011-07-07  Bruno Haible  <bruno@clisp.org>
16212
16213         pthread_sigmask: Follow gnulib conventions.
16214         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
16215         gl_PTHREAD_SIGMASK.
16216         * modules/pthread_sigmask (configure.ac): Update.
16217
16218 2011-07-07  Bruno Haible  <bruno@clisp.org>
16219
16220         pthread_sigmask: Make declaration C++ safe.
16221         * lib/signal.in.h: In two special conditions, just do an #include_next.
16222         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
16223         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
16224         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
16225         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
16226         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
16227         not REPLACE_PTHREAD_MASK.
16228         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
16229         not REPLACE_PTHREAD_MASK.
16230         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
16231
16232 2011-07-07  Bruno Haible  <bruno@clisp.org>
16233
16234         pthread_sigmask: Fix return value.
16235         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
16236         * lib/pthread_sigmask.c: New file.
16237         * modules/pthread_sigmask (Files): Add it.
16238         (configure.ac): Invoke AC_LIBOBJ.
16239
16240 2011-07-07  Eric Blake  <eblake@redhat.com>
16241
16242         getopt: more portable argv creation
16243         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
16244         const, use char arrays rather than strings.
16245         Suggested by Paul Eggert.
16246
16247 2011-07-07  Bruno Haible  <bruno@clisp.org>
16248
16249         Tests for module 'sigprocmask'.
16250         * modules/sigprocmask-tests: New file.
16251         * tests/test-sigprocmask.c: New file.
16252
16253 2011-07-07  Bruno Haible  <bruno@clisp.org>
16254
16255         float tests: Tweak.
16256         * tests/test-float.c (main): Tweak skip message.
16257
16258 2011-07-07  Eric Blake  <eblake@redhat.com>
16259
16260         getopt: avoid compiler warning during configure
16261         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
16262         assigning string literals to non-const pointer.
16263
16264         getopt-gnu: avoid crash in glibc getopt
16265         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
16266         * tests/test-getopt.h (test_getopt): Enhance test.
16267         * tests/test-getopt_long.h (test_getopt_long): Likewise.
16268         * doc/posix-functions/getopt.texi (getopt): Document it.
16269         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
16270         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
16271         Likewise.
16272
16273 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
16274
16275         getopt: handle W; without long options in getopt [BZ #12922]
16276         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
16277         but no long options are defined, just return 'W'.
16278
16279 2011-07-07  Bruno Haible  <bruno@clisp.org>
16280
16281         Avoid literal tabs.
16282         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
16283         variable containing a tab instead of a literal tab.
16284         Reported by Jim Meyering.
16285
16286 2011-07-07  Bruno Haible  <bruno@clisp.org>
16287
16288         Comments.
16289         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
16290
16291 2011-07-06  Bruno Haible  <bruno@clisp.org>
16292
16293         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
16294         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
16295         <winsock2.h>.
16296         (rpl_fd_isset, FD_ISSET): New definitions, copied from
16297         lib/sys_socket.in.h.
16298         (close, gethostname): Hide declarations from <winsock2.h>.
16299         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
16300         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
16301         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
16302         (select): Don't override if gnulib's <sys/select.h> was already
16303         included.
16304         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
16305         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
16306         setsockopt, shutdown, select): Tweak indentation.
16307
16308 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16309
16310         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
16311         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
16312         in an application that does not use the sys_select module.
16313
16314 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
16315
16316         poll: do not return 0 on timeout=-1
16317         * lib/poll.c: Loop with yield if no events occurred.
16318
16319 2011-07-06  Eric Blake  <eblake@redhat.com>
16320
16321         pthread_sigmask: always replace when not using pthread
16322         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
16323         replacement when using some threading other than pthread.  Fix
16324         logic bug.
16325
16326 2011-07-06  Bruno Haible  <bruno@clisp.org>
16327
16328         Comments.
16329         * m4/printf.m4: Update comments about mingw.
16330
16331 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16332
16333         sys_select: define sigset_t more portably
16334         * lib/sys_select.in.h: Always include <sys/types.h>, since
16335         we now need sigset_t and mingw defines it there.
16336         Include <signal.h> before split inclusion guard, to avoid
16337         mishaps on Solaris, whose <signal.h> eventually includes us.
16338         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
16339         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
16340         which come from ...
16341         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
16342         gl_CHECK_TYPE_SIGSET_T.
16343         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
16344         does the real work.
16345         * modules/sys_select (Depends-on): Add 'signal'.
16346
16347         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
16348         Suggested by Bruno Haible.
16349
16350         pselect: Use pthread_sigmask, not sigprocmask.
16351         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
16352         multithreaded apps better than sigprocmask does.
16353         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
16354         sigprocmask directly.
16355
16356 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
16357
16358         * lib/pselect.c (pselect): Use plain name, without "rpl_".
16359         Don't #undef,  since we don't need any underlying pselect.
16360         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
16361         (Depends-on): Add select.
16362         (Link): Add $(LIBSOCKET).
16363         These changes suggested by Bruno Haible.
16364
16365         pselect: document better
16366         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16367         * doc/posix-functions/pselect.texi (pselect): Document new module.
16368
16369         pthread_sigmask: new module
16370         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16371         * doc/posix-functions/pthread_sigmask.texi: Document new module.
16372         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
16373         This is done only as a macro; I don't know how well that'll
16374         work for C++.  Move <sys/types.h> include before the include_next,
16375         to avoid mishap on Solaris.
16376         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
16377         * modules/signal (Makefile.am): Substitute the check's results.
16378         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
16379
16380         test-pselect: new module
16381         * modules/pselect-tests, tests/test-pselect.c: New files.
16382         * tests/test-select.c, tests/test-sys_select-c++.cc:
16383         If TEST_PSELECT is defined, test pselect instead of testing select.
16384
16385         * tests/test-sys_select.c (sigset_t): Test for it, too.
16386         Suggested by Bruno Haible.
16387
16388 2011-07-05  Eric Blake  <eblake@redhat.com>
16389
16390         snprintf: guarantee %1$d, for libintl
16391         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
16392         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
16393         * doc/posix-functions/snprintf.texi (snprintf): Update.
16394         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16395         * tests/test-snprintf.c (main): Enhance test.
16396         * tests/test-vsnprintf.c (main): Likewise.
16397
16398 2011-07-05  Jim Meyering  <meyering@redhat.com>
16399
16400         maint: exempt stdio-read.c and stdio-write.c from the cppi check
16401         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
16402         per Bruno's request, to accommodate this idiom (no space after "#")
16403         even when the function is inside an #if block:
16404         char *
16405         gets (char *s)
16406         #undef gets
16407         {
16408           ...
16409         }
16410
16411 2011-07-04  Jim Meyering  <meyering@redhat.com>
16412
16413         maint: indent with spaces, not TABs, and add a rule to check this
16414         * tests/test-userspec.c: Indent with spaces, not TABs.
16415         * tests/test-argp.c: Likewise.
16416         * tests/test-c-stack2.sh: Likewise.
16417         * tests/test-parse-duration.sh: Likewise
16418         * m4/strtod.m4: Likewise.
16419         * m4/alloca.m4: Likewise.
16420         * m4/pselect.m4: Likewise.
16421         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
16422
16423 2011-07-03  Jim Meyering  <meyering@redhat.com>
16424
16425         maint.mk: correct omissions in prohibit_argmatch_without_use check
16426         This rule would mistakenly report that argmatch.h is included without
16427         use even when both the argmatch and invalid_arg macro were used.
16428         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
16429         of argmatch and invalid_arg.
16430
16431 2011-07-03  Bruno Haible  <bruno@clisp.org>
16432
16433         Comments about EINTR.
16434         * lib/safe-read.h: Explain the purpose of this module.
16435         * lib/safe-write.h: Likewise.
16436         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
16437         module.
16438         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
16439         module.
16440         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16441
16442 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
16443
16444         xnanosleep: Rewrite to use new dtotimespec module.
16445         It has the conversion code that used to be in xnanosleep.
16446         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
16447         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
16448         (TIME_T_MAX): Remove.
16449         (xnanosleep): Rewrite in terms of dtotimespec.
16450         * modules/xnanosleep (Depends-on): Add dtotimespec.
16451         Remove intprops, stdbool.
16452
16453         timespec-add, timespec-sub: new modules
16454         * lib/timespec.h (timespec_add, timespec_sub): New decls.
16455         * lib/timespec-add.c, lib/timespec-sub.c:
16456         * modules/timespec-add, modules/timespec-sub: New files.
16457
16458         dtotimespec: new module
16459         * lib/timespec.h (dtotimespec): New decl.
16460         * lib/dtotimespec.c, modules/dtotimespec: New files.
16461
16462         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
16463
16464         pselect: new module
16465         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
16466         (pselect): New decls.
16467         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
16468         since the standard pselect decl uses 'restrict'.
16469         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
16470         HAVE_PSELECT, REPLACE_PSELECT.
16471         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
16472         HAVE_PSELECT, REPLACE_PSELECT.
16473         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
16474
16475         sys_select: don't depend on sys_socket
16476         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
16477         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
16478         This fix works on GNU and GNU-like platforms, but has not been tested
16479         on native Windows.
16480         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
16481         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
16482         gl_HEADER_SYS_SOCKET.
16483         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
16484         gl_PREREQ_SYS_H_WINSOCK2.
16485
16486 2011-06-29  Eric Blake  <eblake@redhat.com>
16487
16488         pipe2: fix C89 compile problem
16489         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
16490         Reported by Bruno Haible.
16491
16492         pipe, pipe2: don't corrupt fd on error
16493         * lib/pipe.c (pipe): Leave fd unchanged on error.
16494         * lib/pipe2.c (pipe2): Likewise.
16495         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
16496         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
16497
16498 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
16499
16500         mmap-anon: do not use regular expressions inadvertently
16501         * m4/mmap-anon.m4: Remove trailing period from strings sought
16502         in the output.
16503
16504 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
16505
16506         nanosleep: fix integer overflow problem
16507         * lib/nanosleep.c (my_usleep): Don't assume signed integer
16508         arithmetic wraps around on overflow.
16509
16510         nanosleep: simplify carrying
16511         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
16512         first call to the underyling nanosleep, not for the last one.
16513         This doesn't fix any bugs, but it simplifies the computation of
16514         the remaining delay.  Found while auditing integer overflow issues.
16515
16516         dup2: remove test for existence of fcntl
16517         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
16518         "#if HAVE_FCNTL", in the configure-time test program.
16519         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
16520         and therefore speeds up "configure" a bit.  Found while
16521         adding the dup2 module to Emacs.
16522
16523 2011-06-24  Eric Blake  <eblake@redhat.com>
16524
16525         maint.mk: enhance useless header checks
16526         * top/maint.mk (_sc_header_without_use): Check both include
16527         styles.
16528         (sc_prohibit_assert_without_use)
16529         (sc_prohibit_close_stream_without_use)
16530         (sc_prohibit_getopt_without_use)
16531         (sc_prohibit_quotearg_without_use)
16532         (sc_prohibit_quote_without_use)
16533         (sc_prohibit_long_options_without_use)
16534         (sc_prohibit_inttostr_without_use)
16535         (sc_prohibit_ignore_value_without_use)
16536         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
16537         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
16538         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
16539         (sc_prohibit_hash_pjw_without_use)
16540         (sc_prohibit_safe_read_without_use)
16541         (sc_prohibit_argmatch_without_use)
16542         (sc_prohibit_canonicalize_without_use)
16543         (sc_prohibit_root_dev_ino_without_use)
16544         (sc_prohibit_openat_without_use)
16545         (sc_prohibit_c_ctype_without_use)
16546         (sc_prohibit_signal_without_use)
16547         (sc_prohibit_stdio--_without_use)
16548         (sc_prohibit_stdio-safer_without_use)
16549         (sc_prohibit_strings_without_use)
16550         (sc_prohibit_intprops_without_use)
16551         (sc_prohibit_stddef_without_use)
16552         (sc_prohibit_xfreopen_without_use): Update clients.
16553
16554 2011-06-24  Jim Meyering  <meyering@redhat.com>
16555
16556         syntax-check: keep one maint.mk rule in sync with its header
16557         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
16558         of the bug Eric has just fixed, with today's commit 25e4c2ec.
16559         I prefer to avoid temporary files here, so use <(...), but that
16560         is not supported by /bin/sh, so...
16561         (SHELL): Define to /bin/bash.
16562
16563 2011-06-24  Eric Blake  <eblake@redhat.com>
16564
16565         maint.mk: update sc_prohibit_intprops_without_use
16566         * top/maint.mk (_intprops_names): Match recent changes.
16567
16568 2011-06-24  Bruno Haible  <bruno@clisp.org>
16569
16570         strerror-override: No-op tweak.
16571         * lib/strerror-override.h (strerror_override): Reorder conditions,
16572         for consistency with lib/strerror-override.c.
16573
16574 2011-06-23  Eric Blake  <eblake@redhat.com>
16575
16576         maint.mk: test further PATH_MAX issues
16577         * top/maint.mk (sc_prohibit_path_max_array): Rename...
16578         (sc_prohibit_path_max_allocation): ...and also test alloca.
16579         Suggested by Jim Meyering.
16580
16581 2011-06-22  Eric Blake  <eblake@redhat.com>
16582
16583         maint.mk: add syntax-check to avoid char[PATH_MAX]
16584         * top/maint.mk (sc_prohibit_path_max_array): New rule.
16585
16586         stat: be robust to PATH_MAX definition
16587         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
16588         * modules/stat (Depends-on): Add verify.
16589
16590         link: work around IRIX bug
16591         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
16592         * lib/link.c (rpl_link): Work around it.
16593         * tests/test-link.h (test_link): Enhance test.
16594         * doc/posix-functions/link.texi (link): Document the bug.
16595
16596         getopt: silence clang warning
16597         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
16598         dereference.
16599         Reported by Gustavo Martin Domato.
16600
16601 2011-06-22  Jim Meyering  <meyering@redhat.com>
16602
16603         bootstrap: do not insert a blank line into each .gitignore file
16604         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
16605
16606 2011-06-21  Eric Blake  <eblake@redhat.com>
16607
16608         perror: test for output mismatch
16609         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
16610         perror on IRIX.
16611
16612         strerror_r: fix OpenBSD behavior on out-of-range
16613         * lib/strerror_r.c (strerror_r): Always use maximal string.
16614         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16615
16616         strerror_r: fix OpenBSD behavior on 0
16617         * lib/strerror-override.c (strerror_override): Also override 0
16618         when needed.
16619         * lib/strerror-override.h (strerror_override): Likewise.
16620         * lib/strerror.c (strerror): Simplify, now that 0 override is done
16621         earlier.
16622         * lib/strerror_r.c (strerror_r): Likewise.
16623         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
16624         behavior...
16625         (gl_FUNC_STRERROR_0): ...into new macro.
16626         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
16627         is overridden.
16628         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
16629         * modules/strerror-override (Files): Add strerror.m4.
16630         (configure.ac): Also provide override for 0 when needed.
16631         * doc/posix-functions/strerror.texi (strerror): Document this.
16632         * doc/posix-functions/perror.texi (perror): Likewise.
16633
16634         perror: adjust array size
16635         * modules/perror (Depends-on): Add strerror-override.
16636         * lib/perror.c (perror): Use it to avoid magic number.
16637
16638         strerror-override: reduce size
16639         * lib/strerror-override.c (strerror_override): Use fewer lines.
16640
16641 2011-06-20  Bruno Haible  <bruno@clisp.org>
16642
16643         pathmax: Ensure correct value for PATH_MAX on HP-UX.
16644         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
16645
16646 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
16647
16648         alloca: port to compilers that can optimize like GCC 4.6.0
16649         * lib/alloca.c (find_stack_direction): New signature, taken from
16650         Autoconf git.  This works with GCC 4.6.0.  This code should never
16651         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
16652         be used with other compilers that optimize as well as GCC 4.6.0 does.
16653         (alloca): Adjust to new signature.
16654         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
16655         New macro, which patches Autoconf in a similar way.
16656
16657         c-stack: stop worrying about stack direction
16658         * lib/c-stack.c (find_stack_direction): Remove.
16659         (segv_handler): Don't worry about stack direction growth, as it's
16660         too much of a pain to configure this correctly, given how compilers
16661         are optimizing-away our stack-growth detection code.  Instead, assume
16662         that any access to just before or just after the stack is OK.
16663         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
16664         Don't require AC_FUNC_ALLOCA; no longer needed.
16665
16666 2011-06-20  Eric Blake  <eblake@redhat.com>
16667
16668         test-stat: don't allocate PATH_MAX bytes
16669         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
16670         PATH_MAX-sized buffer.
16671         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
16672         * modules/stat-tests (Depends-on): Likewise.
16673         * tests/test-fstatat.c (includes): Drop pathmax.h.
16674         * tests/test-stat.c (includes): Likewise.
16675         Reported by Bruno Haible.
16676
16677 2011-06-20  Bruno Haible  <bruno@clisp.org>
16678
16679         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
16680         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
16681         * lib/float.c: New file.
16682         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
16683         REPLACE_FLOAT_LDBL.
16684         * modules/float (Files): Add lib/float.c.
16685         (configure.ac): Invoke AC_LIBOBJ.
16686         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
16687
16688 2011-06-20  Bruno Haible  <bruno@clisp.org>
16689
16690         Tests for module 'float'.
16691         * modules/float-tests: New file.
16692         * tests/test-float.c: New file.
16693
16694 2011-06-19  Bruno Haible  <bruno@clisp.org>
16695
16696         isinf: Coding style.
16697         * lib/isinf.c: Use GNU coding style.
16698
16699 2011-06-19  Bruno Haible  <bruno@clisp.org>
16700
16701         linkat test: Avoid test failure on AIX 7.1.
16702         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
16703         * tests/test-link.h (test_link): Likewise.
16704
16705 2011-06-19  Bruno Haible  <bruno@clisp.org>
16706
16707         pread test: Avoid test failure on OpenBSD 4.9.
16708         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
16709
16710 2011-06-19  Bruno Haible  <bruno@clisp.org>
16711
16712         sprintf-posix: Fix test failure on AIX 7.1.
16713         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
16714         * doc/posix-functions/dprintf.texi: Mention limited precision problem
16715         on AIX.
16716         * doc/posix-functions/fprintf.texi: Likewise.
16717         * doc/posix-functions/printf.texi: Likewise.
16718         * doc/posix-functions/snprintf.texi: Likewise.
16719         * doc/posix-functions/sprintf.texi: Likewise.
16720         * doc/posix-functions/vdprintf.texi: Likewise.
16721         * doc/posix-functions/vfprintf.texi: Likewise.
16722         * doc/posix-functions/vprintf.texi: Likewise.
16723         * doc/posix-functions/vsnprintf.texi: Likewise.
16724         * doc/posix-functions/vsprintf.texi: Likewise.
16725
16726 2011-06-19  Bruno Haible  <bruno@clisp.org>
16727
16728         roundl-ieee: Fix test failure on AIX 7.1.
16729         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
16730         * doc/posix-functions/roundl.texi: Mention problem with negative
16731         arguments.
16732
16733 2011-06-19  Bruno Haible  <bruno@clisp.org>
16734
16735         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16736         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
16737         * doc/posix-functions/round.texi: Mention problem with negative
16738         arguments.
16739         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
16740
16741 2011-06-19  Bruno Haible  <bruno@clisp.org>
16742
16743         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16744         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
16745         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
16746         * doc/posix-functions/roundf.texi: Mention problem with negative
16747         arguments.
16748         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
16749
16750 2011-06-19  Bruno Haible  <bruno@clisp.org>
16751
16752         ceilf-ieee: Work around bug on MacOS X 10.5.
16753         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
16754
16755         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
16756         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
16757         IEEE compliant, avoid compiler optimizations.
16758         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16759         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16760         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16761         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16762         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16763         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16764         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16765         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16766         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16767         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16768
16769 2011-06-19  Bruno Haible  <bruno@clisp.org>
16770
16771         ceilf-ieee: Work around bug on AIX 7.1.
16772         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
16773         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
16774
16775 2011-06-19  Bruno Haible  <bruno@clisp.org>
16776
16777         ceil-ieee: Work around bug on AIX 7.1.
16778         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
16779         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
16780
16781 2011-06-18  Bruno Haible  <bruno@clisp.org>
16782
16783         fsync test: Avoid test failure on MacOS X and AIX.
16784         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
16785         EINVAL.
16786
16787 2011-06-18  Bruno Haible  <bruno@clisp.org>
16788
16789         openat, fdopendir tests: Fix link errors.
16790         * modules/openat-tests (Depends-on): Add progname.
16791         * modules/fdopendir-tests (Depends-on): Likewise.
16792         * tests/test-fchownat.c: Include progname.h.
16793         (main): Call set_program_name.
16794         * tests/test-fstatat.c: Include progname.h.
16795         (main): Call set_program_name.
16796         * tests/test-mkdirat.c: Include progname.h.
16797         (main): Call set_program_name.
16798         * tests/test-openat.c: Include progname.h.
16799         (main): Call set_program_name.
16800         * tests/test-unlinkat.c: Include progname.h.
16801         (main): Call set_program_name.
16802         * tests/test-fdopendir.c: Include progname.h.
16803         (main): Call set_program_name.
16804
16805 2011-06-18  Bruno Haible  <bruno@clisp.org>
16806
16807         Doc update.
16808         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
16809         HP-UX.
16810         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
16811
16812 2011-06-18  Bruno Haible  <bruno@clisp.org>
16813
16814         getcwd tests: Avoid compilation error on HP-UX 11.31.
16815         * modules/getcwd-tests (Depends-on): Add pathmax.
16816         * tests/test-getcwd.c: Include pathmax.h.
16817
16818 2011-06-18  Bruno Haible  <bruno@clisp.org>
16819
16820         isfinite, isinf: Fix link error on AIX 6 and 7.
16821         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
16822         needed, also test the macro with a 'float' argument.
16823         * m4/isinf.m4 (gl_ISINF): Likewise.
16824
16825 2011-06-18  Bruno Haible  <bruno@clisp.org>
16826
16827         getloadavg: Don't clobber LIBS. Regression from previous commit.
16828         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
16829         AC_CHECK_LIB from here...
16830         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
16831         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
16832         gl_func_getloadavg_done.
16833         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16834
16835 2011-06-18  Bruno Haible  <bruno@clisp.org>
16836
16837         clean-temp: Improve documentation.
16838         * lib/clean-temp.h: Explain better how to use this module.
16839         Reported by John Darrington <john@darrington.wattle.id.au>.
16840
16841 2011-06-17  Bruno Haible  <bruno@clisp.org>
16842
16843         pread, pwrite: Avoid cc warning on AIX.
16844         * lib/unistd.in.h (pread): Undefine before defining as a macro.
16845         (pwrite): Likewise.
16846
16847 2011-06-17  Bruno Haible  <bruno@clisp.org>
16848
16849         spawn-pipe tests: Fix link error.
16850         * tests/test-spawn-pipe-child.c: Undefine fprintf.
16851         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16852
16853 2011-06-17  Bruno Haible  <bruno@clisp.org>
16854
16855         Tests: Remove unnecessary dependency.
16856         * modules/canonicalize-tests (Depends-on): Remove progname.
16857         * modules/chown-tests (Depends-on): Likewise.
16858         * modules/dirname-tests (Depends-on): Likewise.
16859         * modules/fdopendir-tests (Depends-on): Likewise.
16860         * modules/fdutimensat-tests (Depends-on): Likewise.
16861         * modules/hash-tests (Depends-on): Likewise.
16862         * modules/lchown-tests (Depends-on): Likewise.
16863         * modules/linkat-tests (Depends-on): Likewise.
16864         * modules/renameat-tests (Depends-on): Likewise.
16865         * modules/spawn-pipe-tests (Depends-on): Likewise.
16866         * modules/utimensat-tests (Depends-on): Likewise.
16867
16868 2011-06-17  Bruno Haible  <bruno@clisp.org>
16869
16870         spawn-pipe tests: Fix link error.
16871         * tests/test-spawn-pipe-child.c: Undefine fflush.
16872
16873 2011-06-17  Bruno Haible  <bruno@clisp.org>
16874
16875         Fix tests link errors.
16876         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
16877         * modules/chown-tests (Makefile.am): Don't link test-chown with
16878         LIBINTL.
16879         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
16880         LIBINTL.
16881         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
16882         LIBINTL.
16883         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
16884         LIBINTL.
16885
16886 2011-06-16  Bruno Haible  <bruno@clisp.org>
16887
16888         crypto/gc-sha1: Fix recent regression.
16889         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
16890         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
16891
16892         crypto/gc-md5: Fix recent regression.
16893         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
16894
16895         crypto/gc-md4: Fix recent regression.
16896         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
16897         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
16898
16899         crypto/gc-arctwo: Fix recent regression.
16900         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
16901         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
16902
16903         crypto/gc-rijndael: Fix recent regression.
16904         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
16905         (configure.ac): Invoke AC_LIBOBJ here.
16906         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
16907         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16908
16909         crypto/gc-hmac-sha1: Fix recent regression.
16910         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
16911         (configure.ac): Invoke AC_LIBOBJ here.
16912         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
16913         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16914
16915         crypto/gc-hmac-md5: Fix recent regression.
16916         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
16917         (configure.ac): Invoke AC_LIBOBJ here.
16918         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
16919         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16920
16921         crypto/gc-des: Fix recent regression.
16922         * modules/crypto/gc-des (Files): Remove m4/des.m4.
16923         (configure.ac): Invoke AC_LIBOBJ here.
16924         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
16925         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16926
16927         crypto/gc-arcfour: Fix recent regression.
16928         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
16929         (configure.ac): Invoke AC_LIBOBJ here.
16930         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
16931         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16932
16933 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
16934
16935         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
16936         After the 2011-05-21 change, this macro requires
16937         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
16938         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
16939
16940 2011-06-16  Bruno Haible  <bruno@clisp.org>
16941
16942         fprintftime: Move AC_LIBOBJ invocations to module description.
16943         * m4/fprintftime.m4: Remove file.
16944         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
16945         (configure.ac): Remove gl_FPRINTFTIME call.
16946         (Makefile.am): Augment lib_SOURCES.
16947         Reported by Jim Meyering.
16948
16949 2011-06-16  Bruno Haible  <bruno@clisp.org>
16950
16951         tmpfile-safer: Finish 2011-05-23 commit.
16952         * m4/stdio-safer.m4: Really remove file.
16953         Reported by Jim Meyering.
16954
16955 2011-06-16  Bruno Haible  <bruno@clisp.org>
16956
16957         syntax-check: Fix typo.
16958         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
16959         printf-posix.m4.
16960         Reported by Jim Meyering.
16961
16962 2011-06-13  Jim Meyering  <meyering@redhat.com>
16963
16964         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
16965         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
16966
16967 2011-05-23  Bruno Haible  <bruno@clisp.org>
16968
16969         yesno: Move AC_LIBOBJ invocations to module description.
16970         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
16971         * modules/yesno (Makefile.am): Augment lib_SOURCES.
16972
16973 2011-05-23  Bruno Haible  <bruno@clisp.org>
16974
16975         xstrtol: Move AC_LIBOBJ invocations to module description.
16976         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
16977         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
16978
16979 2011-05-23  Bruno Haible  <bruno@clisp.org>
16980
16981         xstrtold: Move AC_LIBOBJ invocations to module description.
16982         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
16983         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
16984
16985 2011-05-23  Bruno Haible  <bruno@clisp.org>
16986
16987         xstrtod: Move AC_LIBOBJ invocations to module description.
16988         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
16989         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
16990
16991 2011-05-23  Bruno Haible  <bruno@clisp.org>
16992
16993         xnanosleep: Move AC_LIBOBJ invocations to module description.
16994         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
16995         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
16996
16997 2011-05-23  Bruno Haible  <bruno@clisp.org>
16998
16999         xgetcwd: Move AC_LIBOBJ invocations to module description.
17000         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
17001         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
17002
17003 2011-05-23  Bruno Haible  <bruno@clisp.org>
17004
17005         xalloc: Move AC_LIBOBJ invocations to module description.
17006         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
17007         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
17008
17009 2011-05-23  Bruno Haible  <bruno@clisp.org>
17010
17011         write-any-file: Move AC_LIBOBJ invocations to module description.
17012         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
17013         invocation.
17014         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
17015
17016 2011-05-23  Bruno Haible  <bruno@clisp.org>
17017
17018         utimens: Move AC_LIBOBJ invocations to module description.
17019         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
17020         * modules/utimens (Makefile.am): Augment lib_SOURCES.
17021
17022 2011-05-23  Bruno Haible  <bruno@clisp.org>
17023
17024         utimecmp: Move AC_LIBOBJ invocations to module description.
17025         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
17026         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
17027
17028 2011-05-23  Bruno Haible  <bruno@clisp.org>
17029
17030         userspec: Move AC_LIBOBJ invocations to module description.
17031         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
17032         * modules/userspec (Makefile.am): Augment lib_SOURCES.
17033
17034 2011-05-23  Bruno Haible  <bruno@clisp.org>
17035
17036         unlinkdir: Move AC_LIBOBJ invocations to module description.
17037         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
17038         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
17039
17040 2011-05-23  Bruno Haible  <bruno@clisp.org>
17041
17042         unistd-safer: Move AC_LIBOBJ invocations to module description.
17043         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
17044         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
17045
17046 2011-05-23  Bruno Haible  <bruno@clisp.org>
17047
17048         tempname: Move AC_LIBOBJ invocations to module description.
17049         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
17050         * modules/tempname (Makefile.am): Augment lib_SOURCES.
17051
17052 2011-05-23  Bruno Haible  <bruno@clisp.org>
17053
17054         strftime: Move AC_LIBOBJ invocations to module description.
17055         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
17056         * modules/strftime (Makefile.am): Augment lib_SOURCES.
17057
17058 2011-05-23  Bruno Haible  <bruno@clisp.org>
17059
17060         stdlib-safer: Move AC_LIBOBJ invocations to module description.
17061         * m4/stdlib-safer.m4: Remove file.
17062         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
17063         (configure.ac): Remove gl_STDLIB_SAFER call.
17064         (Makefile.am): Augment lib_SOURCES.
17065
17066 2011-05-23  Bruno Haible  <bruno@clisp.org>
17067
17068         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
17069         * m4/stdio-safer.m4: Remove file.
17070         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
17071         (configure.ac): Remove gl_TMPFILE_SAFER call.
17072         (Makefile.am): Augment lib_SOURCES.
17073
17074 2011-05-23  Bruno Haible  <bruno@clisp.org>
17075
17076         popen-safer: Move AC_LIBOBJ invocations to module description.
17077         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
17078         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
17079         (configure.ac): Remove gl_POPEN_SAFER call.
17080         (Makefile.am): Augment lib_SOURCES.
17081
17082 2011-05-23  Bruno Haible  <bruno@clisp.org>
17083
17084         freopen-safer: Move AC_LIBOBJ invocations to module description.
17085         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
17086         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
17087         (configure.ac): Remove gl_FREOPEN_SAFER call.
17088         (Makefile.am): Augment lib_SOURCES.
17089
17090 2011-05-23  Bruno Haible  <bruno@clisp.org>
17091
17092         fopen-safer: Move AC_LIBOBJ invocations to module description.
17093         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
17094         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
17095         (configure.ac): Remove gl_FOPEN_SAFER call.
17096         (Makefile.am): Augment lib_SOURCES.
17097
17098 2011-05-23  Bruno Haible  <bruno@clisp.org>
17099
17100         crypto/sha512: Move AC_LIBOBJ invocations to module description.
17101         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
17102         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
17103
17104 2011-05-23  Bruno Haible  <bruno@clisp.org>
17105
17106         crypto/sha256: Move AC_LIBOBJ invocations to module description.
17107         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
17108         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
17109
17110 2011-05-23  Bruno Haible  <bruno@clisp.org>
17111
17112         crypto/sha1: Move AC_LIBOBJ invocations to module description.
17113         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
17114         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
17115
17116 2011-05-23  Bruno Haible  <bruno@clisp.org>
17117
17118         settime: Move AC_LIBOBJ invocations to module description.
17119         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
17120         * modules/settime (Makefile.am): Augment lib_SOURCES.
17121
17122 2011-05-23  Bruno Haible  <bruno@clisp.org>
17123
17124         savedir: Move AC_LIBOBJ invocations to module description.
17125         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
17126         * modules/savedir (Makefile.am): Augment lib_SOURCES.
17127
17128 2011-05-23  Bruno Haible  <bruno@clisp.org>
17129
17130         save-cwd: Move AC_LIBOBJ invocations to module description.
17131         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
17132         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
17133
17134 2011-05-23  Bruno Haible  <bruno@clisp.org>
17135
17136         same: Move AC_LIBOBJ invocations to module description.
17137         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
17138         * modules/same (Makefile.am): Augment lib_SOURCES.
17139
17140 2011-05-23  Bruno Haible  <bruno@clisp.org>
17141
17142         safe-write: Move AC_LIBOBJ invocations to module description.
17143         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
17144         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
17145         instead of gl_SAFE_WRITE.
17146         (Makefile.am): Augment lib_SOURCES.
17147
17148 2011-05-23  Bruno Haible  <bruno@clisp.org>
17149
17150         safe-read: Move AC_LIBOBJ invocations to module description.
17151         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
17152         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
17153         of gl_SAFE_READ.
17154         (Makefile.am): Augment lib_SOURCES.
17155
17156 2011-05-23  Bruno Haible  <bruno@clisp.org>
17157
17158         safe-alloc: Move AC_LIBOBJ invocations to module description.
17159         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
17160         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
17161
17162 2011-05-23  Bruno Haible  <bruno@clisp.org>
17163
17164         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
17165         * m4/rijndael.m4: Remove file.
17166         * modules/crypto/rijndael (Files): Remove it.
17167         (configure.ac): Remove gl_RIJNDAEL call.
17168         (Makefile.am): Augment lib_SOURCES.
17169
17170 2011-05-23  Bruno Haible  <bruno@clisp.org>
17171
17172         readtokens: Move AC_LIBOBJ invocations to module description.
17173         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
17174         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
17175
17176 2011-05-23  Bruno Haible  <bruno@clisp.org>
17177
17178         read-file: Move AC_LIBOBJ invocations to module description.
17179         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
17180         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
17181         of gl_FUNC_READ_FILE.
17182         (Makefile.am): Augment lib_SOURCES.
17183
17184 2011-05-23  Bruno Haible  <bruno@clisp.org>
17185
17186         quotearg: Move AC_LIBOBJ invocations to module description.
17187         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
17188         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
17189
17190 2011-05-23  Bruno Haible  <bruno@clisp.org>
17191
17192         quote: Move AC_LIBOBJ invocations to module description.
17193         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
17194         * modules/quote (Makefile.am): Augment lib_SOURCES.
17195
17196 2011-05-23  Bruno Haible  <bruno@clisp.org>
17197
17198         posixver: Move AC_LIBOBJ invocations to module description.
17199         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
17200         * modules/posixver (Makefile.am): Augment lib_SOURCES.
17201
17202 2011-05-23  Bruno Haible  <bruno@clisp.org>
17203
17204         posixtm: Move AC_LIBOBJ invocations to module description.
17205         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
17206         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
17207
17208 2011-05-23  Bruno Haible  <bruno@clisp.org>
17209
17210         physmem: Move AC_LIBOBJ invocations to module description.
17211         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
17212         * modules/physmem (Makefile.am): Augment lib_SOURCES.
17213
17214 2011-05-23  Bruno Haible  <bruno@clisp.org>
17215
17216         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
17217         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
17218         invocation.
17219         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
17220
17221 2011-05-23  Bruno Haible  <bruno@clisp.org>
17222
17223         mpsort: Move AC_LIBOBJ invocations to module description.
17224         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
17225         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
17226
17227 2011-05-23  Bruno Haible  <bruno@clisp.org>
17228
17229         modechange: Move AC_LIBOBJ invocations to module description.
17230         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
17231         * modules/modechange (Makefile.am): Augment lib_SOURCES.
17232
17233 2011-05-23  Bruno Haible  <bruno@clisp.org>
17234
17235         mkdir-p: Move AC_LIBOBJ invocations to module description.
17236         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
17237         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
17238
17239 2011-05-23  Bruno Haible  <bruno@clisp.org>
17240
17241         mkancesdirs: Move AC_LIBOBJ invocations to module description.
17242         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
17243         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
17244
17245 2011-05-23  Bruno Haible  <bruno@clisp.org>
17246
17247         mgetgroups: Move AC_LIBOBJ invocations to module description.
17248         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
17249         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
17250
17251 2011-05-23  Bruno Haible  <bruno@clisp.org>
17252
17253         memxor: Move AC_LIBOBJ invocations to module description.
17254         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
17255         * modules/memxor (Makefile.am): Augment lib_SOURCES.
17256
17257 2011-05-23  Bruno Haible  <bruno@clisp.org>
17258
17259         memcoll: Move AC_LIBOBJ invocations to module description.
17260         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
17261         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
17262
17263 2011-05-23  Bruno Haible  <bruno@clisp.org>
17264
17265         memcasecmp: Move AC_LIBOBJ invocations to module description.
17266         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
17267         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
17268
17269 2011-05-23  Bruno Haible  <bruno@clisp.org>
17270
17271         crypto/md5: Move AC_LIBOBJ invocations to module description.
17272         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
17273         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
17274
17275 2011-05-23  Bruno Haible  <bruno@clisp.org>
17276
17277         crypto/md4: Move AC_LIBOBJ invocations to module description.
17278         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
17279         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
17280
17281 2011-05-23  Bruno Haible  <bruno@clisp.org>
17282
17283         crypto/md2: Move AC_LIBOBJ invocations to module description.
17284         * m4/md2.m4: Remove file.
17285         * modules/crypto/md2 (Files): Remove it.
17286         (configure.ac): Remove gl_MD2 call.
17287         (Makefile.am): Augment lib_SOURCES.
17288
17289 2011-05-23  Bruno Haible  <bruno@clisp.org>
17290
17291         long-options: Move AC_LIBOBJ invocations to module description.
17292         * m4/long-options.m4: Remove file.
17293         * modules/long-options (Files): Remove it.
17294         (configure.ac): Remove gl_LONG_OPTIONS call.
17295         (Makefile.am): Augment lib_SOURCES.
17296
17297 2011-05-23  Bruno Haible  <bruno@clisp.org>
17298
17299         i-ring: Move AC_LIBOBJ invocations to module description.
17300         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
17301         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
17302
17303 2011-05-23  Bruno Haible  <bruno@clisp.org>
17304
17305         idcache: Move AC_LIBOBJ invocations to module description.
17306         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
17307         * modules/idcache (Makefile.am): Augment lib_SOURCES.
17308
17309 2011-05-23  Bruno Haible  <bruno@clisp.org>
17310
17311         human: Move AC_LIBOBJ invocations to module description.
17312         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
17313         * modules/human (Makefile.am): Augment lib_SOURCES.
17314
17315 2011-05-23  Bruno Haible  <bruno@clisp.org>
17316
17317         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
17318         * m4/hmac-sha1.m4: Remove file.
17319         * modules/crypto/hmac-sha1 (Files): Remove it.
17320         (configure.ac): Remove gl_HMAC_SHA1 call.
17321         (Makefile.am): Augment lib_SOURCES.
17322
17323 2011-05-23  Bruno Haible  <bruno@clisp.org>
17324
17325         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
17326         * m4/hmac-md5.m4: Remove file.
17327         * modules/crypto/hmac-md5 (Files): Remove it.
17328         (configure.ac): Remove gl_HMAC_MD5 call.
17329         (Makefile.am): Augment lib_SOURCES.
17330
17331 2011-05-23  Bruno Haible  <bruno@clisp.org>
17332
17333         hash: Move AC_LIBOBJ invocations to module description.
17334         * m4/hash.m4: Remove file.
17335         * modules/hash (Files): Remove it.
17336         (configure.ac): Remove gl_HASH call.
17337         (Makefile.am): Augment lib_SOURCES.
17338
17339 2011-05-23  Bruno Haible  <bruno@clisp.org>
17340
17341         hard-locale: Move AC_LIBOBJ invocations to module description.
17342         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
17343         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
17344
17345 2011-05-23  Bruno Haible  <bruno@clisp.org>
17346
17347         getugroups: Move AC_LIBOBJ invocations to module description.
17348         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
17349         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
17350
17351 2011-05-23  Bruno Haible  <bruno@clisp.org>
17352
17353         gettime: Move AC_LIBOBJ invocations to module description.
17354         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
17355         * modules/gettime (Makefile.am): Augment lib_SOURCES.
17356
17357 2011-05-23  Bruno Haible  <bruno@clisp.org>
17358
17359         getndelim2: Move AC_LIBOBJ invocations to module description.
17360         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
17361         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
17362
17363 2011-05-23  Bruno Haible  <bruno@clisp.org>
17364
17365         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
17366         * m4/gc-pbkdf2-sha1.m4: Remove file.
17367         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
17368         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
17369         (Makefile.am): Augment lib_SOURCES.
17370
17371 2011-05-23  Bruno Haible  <bruno@clisp.org>
17372
17373         fts: Move AC_LIBOBJ invocations to module description.
17374         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
17375         * modules/fts (configure.ac): ... to here.
17376
17377 2011-05-23  Bruno Haible  <bruno@clisp.org>
17378
17379         file-type: Move AC_LIBOBJ invocations to module description.
17380         * m4/file-type.m4: Remove file.
17381         * modules/file-type (Files): Remove it.
17382         (configure.ac): Remove gl_FILE_TYPE call.
17383         (Makefile.am): Augment lib_SOURCES.
17384
17385 2011-05-23  Bruno Haible  <bruno@clisp.org>
17386
17387         filenamecat*: Respect rules for use of AC_LIBOBJ.
17388         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
17389         Remove AC_LIBOBJ invocation.
17390         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
17391         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
17392
17393 2011-05-23  Bruno Haible  <bruno@clisp.org>
17394
17395         filemode: Move AC_LIBOBJ invocations to module description.
17396         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
17397         * modules/filemode (Makefile.am): Augment lib_SOURCES.
17398
17399 2011-05-23  Bruno Haible  <bruno@clisp.org>
17400
17401         openat-safer: Move AC_LIBOBJ invocations to module description.
17402         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
17403         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
17404
17405 2011-05-23  Bruno Haible  <bruno@clisp.org>
17406
17407         fcntl-safer: Move AC_LIBOBJ invocations to module description.
17408         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
17409         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
17410
17411 2011-05-23  Bruno Haible  <bruno@clisp.org>
17412
17413         exclude: Move AC_LIBOBJ invocations to module description.
17414         * m4/exclude.m4: Remove file.
17415         * modules/exclude (Files): Remove it.
17416         (configure.ac): Remove gl_EXCLUDE call.
17417         (Makefile.am): Augment lib_SOURCES.
17418
17419 2011-05-23  Bruno Haible  <bruno@clisp.org>
17420
17421         dirname*: Respect rules for use of AC_LIBOBJ.
17422         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
17423         invocations.
17424         * modules/dirname (Makefile.am): Augment lib_SOURCES.
17425         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
17426
17427 2011-05-23  Bruno Haible  <bruno@clisp.org>
17428
17429         dirent-safer: Move AC_LIBOBJ invocations to module description.
17430         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
17431         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
17432
17433 2011-05-23  Bruno Haible  <bruno@clisp.org>
17434
17435         crypto/des: Move AC_LIBOBJ invocations to module description.
17436         * m4/des.m4: Remove file.
17437         * modules/crypto/des (Files): Remove it.
17438         (configure.ac): Remove gl_DES call.
17439         (Makefile.am): Augment lib_SOURCES.
17440
17441 2011-05-23  Bruno Haible  <bruno@clisp.org>
17442
17443         cycle-check: Move AC_LIBOBJ invocations to module description.
17444         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
17445         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
17446
17447 2011-05-23  Bruno Haible  <bruno@clisp.org>
17448
17449         c-strtold: Move AC_LIBOBJ invocations to module description.
17450         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
17451         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
17452
17453 2011-05-23  Bruno Haible  <bruno@clisp.org>
17454
17455         c-strtod: Move AC_LIBOBJ invocations to module description.
17456         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
17457         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
17458
17459 2011-05-23  Bruno Haible  <bruno@clisp.org>
17460
17461         crc: Move AC_LIBOBJ invocations to module description.
17462         * m4/crc.m4: Remove file.
17463         * modules/crc (Files): Remove it.
17464         (configure.ac): Remove gl_CRC call.
17465         (Makefile.am): Augment lib_SOURCES.
17466
17467 2011-05-23  Bruno Haible  <bruno@clisp.org>
17468
17469         close-stream: Move AC_LIBOBJ invocations to module description.
17470         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
17471         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
17472
17473 2011-05-23  Bruno Haible  <bruno@clisp.org>
17474
17475         closeout: Move AC_LIBOBJ invocations to module description.
17476         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
17477         * modules/closeout (Makefile.am): Augment lib_SOURCES.
17478
17479 2011-05-23  Bruno Haible  <bruno@clisp.org>
17480
17481         closein: Move AC_LIBOBJ invocations to module description.
17482         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
17483         * modules/closein (Makefile.am): Augment lib_SOURCES.
17484
17485 2011-05-23  Bruno Haible  <bruno@clisp.org>
17486
17487         cloexec: Move AC_LIBOBJ invocations to module description.
17488         * m4/cloexec.m4: Remove file.
17489         * modules/cloexec (Files): Remove it.
17490         (configure.ac): Remove gl_CLOEXEC call.
17491         (Makefile.am): Augment lib_SOURCES.
17492
17493 2011-05-23  Bruno Haible  <bruno@clisp.org>
17494
17495         check-version: Move AC_LIBOBJ invocations to module description.
17496         * m4/check-version.m4: Remove file.
17497         * modules/check-version (Files): Remove it.
17498         (configure.ac): Remove gl_CHECK_VERSION call.
17499         (Makefile.am): Augment lib_SOURCES.
17500
17501 2011-05-23  Bruno Haible  <bruno@clisp.org>
17502
17503         chdir-safer: Move AC_LIBOBJ invocations to module description.
17504         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
17505         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
17506
17507 2011-05-23  Bruno Haible  <bruno@clisp.org>
17508
17509         canonicalize: Move AC_LIBOBJ invocations to module description.
17510         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
17511         AC_LIBOBJ invocation.
17512         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
17513
17514 2011-05-23  Bruno Haible  <bruno@clisp.org>
17515
17516         canon-host: Move AC_LIBOBJ invocations to module description.
17517         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
17518         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
17519         instead of gl_CANON_HOST.
17520         (Makefile.am): Augment lib_SOURCES.
17521
17522 2011-05-23  Bruno Haible  <bruno@clisp.org>
17523
17524         backupfile: Move AC_LIBOBJ invocations to module description.
17525         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
17526         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
17527
17528 2011-05-23  Bruno Haible  <bruno@clisp.org>
17529
17530         argmatch: Move AC_LIBOBJ invocations to module description.
17531         * m4/argmatch.m4: Remove file.
17532         * modules/argmatch (Files): Remove it.
17533         (configure.ac): Remove gl_ARGMATCH call.
17534         (Makefile.am): Augment lib_SOURCES.
17535
17536 2011-05-23  Bruno Haible  <bruno@clisp.org>
17537
17538         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
17539         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
17540         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
17541
17542 2011-05-23  Bruno Haible  <bruno@clisp.org>
17543
17544         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
17545         * m4/arcfour.m4: Remove file.
17546         * modules/crypto/arcfour (Files): Remove it.
17547         (configure.ac): Remove gl_ARCFOUR call.
17548         (Makefile.am): Augment lib_SOURCES.
17549
17550 2011-05-22  Bruno Haible  <bruno@clisp.org>
17551
17552         write: Move AC_LIBOBJ invocations to module description.
17553         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
17554         * modules/write (configure.ac): ... to here.
17555
17556 2011-05-22  Bruno Haible  <bruno@clisp.org>
17557
17558         wmemset: Move AC_LIBOBJ invocations to module description.
17559         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
17560         here...
17561         * modules/wmemset (configure.ac): ... to here.
17562
17563 2011-05-22  Bruno Haible  <bruno@clisp.org>
17564
17565         wmemmove: Move AC_LIBOBJ invocations to module description.
17566         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
17567         here...
17568         * modules/wmemmove (configure.ac): ... to here.
17569
17570 2011-05-22  Bruno Haible  <bruno@clisp.org>
17571
17572         wmemcpy: Move AC_LIBOBJ invocations to module description.
17573         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
17574         here...
17575         * modules/wmemcpy (configure.ac): ... to here.
17576
17577 2011-05-22  Bruno Haible  <bruno@clisp.org>
17578
17579         wmemcmp: Move AC_LIBOBJ invocations to module description.
17580         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
17581         here...
17582         * modules/wmemcmp (configure.ac): ... to here.
17583
17584 2011-05-22  Bruno Haible  <bruno@clisp.org>
17585
17586         wmemchr: Move AC_LIBOBJ invocations to module description.
17587         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
17588         here...
17589         * modules/wmemchr (configure.ac): ... to here.
17590
17591 2011-05-22  Bruno Haible  <bruno@clisp.org>
17592
17593         wcswidth: Move AC_LIBOBJ invocations to module description.
17594         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
17595         here...
17596         * modules/wcswidth (configure.ac): ... to here.
17597
17598 2011-05-22  Bruno Haible  <bruno@clisp.org>
17599
17600         wcwidth: Respect rules for use of AC_LIBOBJ.
17601         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
17602         invocation from here...
17603         * modules/wcwidth (configure.ac): ... to here.
17604         (Depends-on): Update conditions.
17605
17606 2011-05-22  Bruno Haible  <bruno@clisp.org>
17607
17608         wctype: Move AC_LIBOBJ invocations to module description.
17609         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
17610         invocation from here...
17611         * modules/wctype (configure.ac): ... to here.
17612         (Depends-on): Update conditions.
17613
17614 2011-05-22  Bruno Haible  <bruno@clisp.org>
17615
17616         wctrans: Move AC_LIBOBJ invocations to module description.
17617         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
17618         invocation from here...
17619         * modules/wctrans (configure.ac): ... to here.
17620
17621 2011-05-22  Bruno Haible  <bruno@clisp.org>
17622
17623         wctomb: Move AC_LIBOBJ invocations to module description.
17624         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
17625         invocations from here...
17626         * modules/wctomb (configure.ac): ... to here.
17627
17628 2011-05-22  Bruno Haible  <bruno@clisp.org>
17629
17630         wctob: Move AC_LIBOBJ invocations to module description.
17631         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
17632         gl_PREREQ_WCTOB invocations from here...
17633         * modules/wctob (configure.ac): ... to here.
17634         (Depends-on): Update conditions.
17635
17636 2011-05-22  Bruno Haible  <bruno@clisp.org>
17637
17638         wcsxfrm: Move AC_LIBOBJ invocations to module description.
17639         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
17640         here...
17641         * modules/wcsxfrm (configure.ac): ... to here.
17642
17643 2011-05-22  Bruno Haible  <bruno@clisp.org>
17644
17645         wcstok: Move AC_LIBOBJ invocations to module description.
17646         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
17647         * modules/wcstok (configure.ac): ... to here.
17648
17649 2011-05-22  Bruno Haible  <bruno@clisp.org>
17650
17651         wcsstr: Move AC_LIBOBJ invocations to module description.
17652         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
17653         * modules/wcsstr (configure.ac): ... to here.
17654
17655 2011-05-22  Bruno Haible  <bruno@clisp.org>
17656
17657         wcsspn: Move AC_LIBOBJ invocations to module description.
17658         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
17659         * modules/wcsspn (configure.ac): ... to here.
17660
17661 2011-05-22  Bruno Haible  <bruno@clisp.org>
17662
17663         wcsrtombs: Move AC_LIBOBJ invocations to module description.
17664         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
17665         gl_PREREQ_WCSRTOMBS invocations from here...
17666         * modules/wcsrtombs (configure.ac): ... to here.
17667
17668 2011-05-22  Bruno Haible  <bruno@clisp.org>
17669
17670         wcsrchr: Move AC_LIBOBJ invocations to module description.
17671         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
17672         here...
17673         * modules/wcsrchr (configure.ac): ... to here.
17674
17675 2011-05-22  Bruno Haible  <bruno@clisp.org>
17676
17677         wcspbrk: Move AC_LIBOBJ invocations to module description.
17678         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
17679         here...
17680         * modules/wcspbrk (configure.ac): ... to here.
17681
17682 2011-05-22  Bruno Haible  <bruno@clisp.org>
17683
17684         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
17685         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
17686         gl_PREREQ_WCSNRTOMBS invocations from here...
17687         * modules/wcsnrtombs (configure.ac): ... to here.
17688
17689 2011-05-22  Bruno Haible  <bruno@clisp.org>
17690
17691         wcsnlen: Move AC_LIBOBJ invocations to module description.
17692         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
17693         here...
17694         * modules/wcsnlen (configure.ac): ... to here.
17695
17696 2011-05-22  Bruno Haible  <bruno@clisp.org>
17697
17698         wcsncpy: Move AC_LIBOBJ invocations to module description.
17699         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
17700         here...
17701         * modules/wcsncpy (configure.ac): ... to here.
17702
17703 2011-05-22  Bruno Haible  <bruno@clisp.org>
17704
17705         wcsncmp: Move AC_LIBOBJ invocations to module description.
17706         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
17707         here...
17708         * modules/wcsncmp (configure.ac): ... to here.
17709
17710 2011-05-22  Bruno Haible  <bruno@clisp.org>
17711
17712         wcsncat: Move AC_LIBOBJ invocations to module description.
17713         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
17714         here...
17715         * modules/wcsncat (configure.ac): ... to here.
17716
17717 2011-05-22  Bruno Haible  <bruno@clisp.org>
17718
17719         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
17720         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
17721         from here...
17722         * modules/wcsncasecmp (configure.ac): ... to here.
17723
17724 2011-05-22  Bruno Haible  <bruno@clisp.org>
17725
17726         wcslen: Move AC_LIBOBJ invocations to module description.
17727         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
17728         * modules/wcslen (configure.ac): ... to here.
17729
17730 2011-05-22  Bruno Haible  <bruno@clisp.org>
17731
17732         wcsdup: Move AC_LIBOBJ invocations to module description.
17733         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
17734         * modules/wcsdup (configure.ac): ... to here.
17735
17736 2011-05-22  Bruno Haible  <bruno@clisp.org>
17737
17738         wcscspn: Move AC_LIBOBJ invocations to module description.
17739         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
17740         here...
17741         * modules/wcscspn (configure.ac): ... to here.
17742
17743 2011-05-22  Bruno Haible  <bruno@clisp.org>
17744
17745         wcscpy: Move AC_LIBOBJ invocations to module description.
17746         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
17747         * modules/wcscpy (configure.ac): ... to here.
17748
17749 2011-05-22  Bruno Haible  <bruno@clisp.org>
17750
17751         wcscoll: Move AC_LIBOBJ invocations to module description.
17752         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
17753         here...
17754         * modules/wcscoll (configure.ac): ... to here.
17755
17756 2011-05-22  Bruno Haible  <bruno@clisp.org>
17757
17758         wcscmp: Move AC_LIBOBJ invocations to module description.
17759         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
17760         * modules/wcscmp (configure.ac): ... to here.
17761
17762 2011-05-22  Bruno Haible  <bruno@clisp.org>
17763
17764         wcschr: Move AC_LIBOBJ invocations to module description.
17765         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
17766         * modules/wcschr (configure.ac): ... to here.
17767
17768 2011-05-22  Bruno Haible  <bruno@clisp.org>
17769
17770         wcscat: Move AC_LIBOBJ invocations to module description.
17771         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
17772         * modules/wcscat (configure.ac): ... to here.
17773
17774 2011-05-22  Bruno Haible  <bruno@clisp.org>
17775
17776         wcscasecmp: Move AC_LIBOBJ invocations to module description.
17777         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
17778         here...
17779         * modules/wcscasecmp (configure.ac): ... to here.
17780
17781 2011-05-22  Bruno Haible  <bruno@clisp.org>
17782
17783         wcrtomb: Move AC_LIBOBJ invocations to module description.
17784         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
17785         invocations from here...
17786         * modules/wcrtomb (configure.ac): ... to here.
17787
17788 2011-05-22  Bruno Haible  <bruno@clisp.org>
17789
17790         wcpncpy: Move AC_LIBOBJ invocations to module description.
17791         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
17792         here...
17793         * modules/wcpncpy (configure.ac): ... to here.
17794
17795 2011-05-22  Bruno Haible  <bruno@clisp.org>
17796
17797         wcpcpy: Move AC_LIBOBJ invocations to module description.
17798         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
17799         * modules/wcpcpy (configure.ac): ... to here.
17800
17801 2011-05-22  Bruno Haible  <bruno@clisp.org>
17802
17803         waitpid: Move AC_LIBOBJ invocations to module description.
17804         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
17805         invocation from here...
17806         * modules/waitpid (configure.ac): ... to here.
17807
17808 2011-05-22  Bruno Haible  <bruno@clisp.org>
17809
17810         utimensat: Move AC_LIBOBJ invocations to module description.
17811         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
17812         here...
17813         * modules/utimensat (configure.ac): ... to here.
17814
17815 2011-05-22  Bruno Haible  <bruno@clisp.org>
17816
17817         usleep: Move AC_LIBOBJ invocations to module description.
17818         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
17819         here...
17820         * modules/usleep (configure.ac): ... to here.
17821
17822 2011-05-22  Bruno Haible  <bruno@clisp.org>
17823
17824         unlockpt: Move AC_LIBOBJ invocations to module description.
17825         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
17826         gl_PREREQ_UNLOCKPT invocations from here...
17827         * modules/unlockpt (configure.ac): ... to here.
17828
17829 2011-05-22  Bruno Haible  <bruno@clisp.org>
17830
17831         unlink: Respect rules for use of AC_LIBOBJ.
17832         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
17833         * modules/unlink (configure.ac): ... to here.
17834
17835 2011-05-22  Bruno Haible  <bruno@clisp.org>
17836
17837         uname: Move AC_LIBOBJ invocations to module description.
17838         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
17839         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
17840         here...
17841         * modules/uname (configure.ac): ... to here.
17842
17843 2011-05-22  Bruno Haible  <bruno@clisp.org>
17844
17845         ttyname_r: Move AC_LIBOBJ invocations to module description.
17846         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
17847         gl_PREREQ_TTYNAME_R invocations from here...
17848         * modules/ttyname_r (configure.ac): ... to here.
17849
17850 2011-05-22  Bruno Haible  <bruno@clisp.org>
17851
17852         tsearch: Move AC_LIBOBJ invocations to module description.
17853         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
17854         invocations from here...
17855         * modules/tsearch (configure.ac): ... to here.
17856
17857 2011-05-22  Bruno Haible  <bruno@clisp.org>
17858
17859         towctrans: Move AC_LIBOBJ invocations to module description.
17860         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
17861         AC_LIBOBJ invocation from here...
17862         * modules/towctrans (configure.ac): ... to here.
17863
17864 2011-05-22  Bruno Haible  <bruno@clisp.org>
17865
17866         tmpfile: Move AC_LIBOBJ invocations to module description.
17867         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
17868         invocations from here...
17869         * modules/tmpfile (configure.ac): ... to here.
17870
17871 2011-05-22  Bruno Haible  <bruno@clisp.org>
17872
17873         times: Move AC_LIBOBJ invocations to module description.
17874         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
17875         * modules/times (configure.ac): ... to here.
17876
17877 2011-05-22  Bruno Haible  <bruno@clisp.org>
17878
17879         time_r: Move AC_LIBOBJ invocations to module description.
17880         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
17881         invocations from here...
17882         * modules/time_r (configure.ac): ... to here.
17883
17884 2011-05-22  Bruno Haible  <bruno@clisp.org>
17885
17886         timegm: Move AC_LIBOBJ invocations to module description.
17887         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
17888         invocations from here...
17889         * modules/timegm (configure.ac): ... to here.
17890
17891 2011-05-22  Bruno Haible  <bruno@clisp.org>
17892
17893         tcgetsid: Move AC_LIBOBJ invocations to module description.
17894         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
17895         and gl_PREREQ_TCGETSID invocations from here...
17896         * modules/tcgetsid (configure.ac): ... to here.
17897         (Depends-on): Update conditions.
17898
17899 2011-05-22  Bruno Haible  <bruno@clisp.org>
17900
17901         symlinkat: Move AC_LIBOBJ invocations to module description.
17902         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
17903         here...
17904         * modules/symlinkat (configure.ac): ... to here.
17905
17906 2011-05-22  Bruno Haible  <bruno@clisp.org>
17907
17908         symlink: Move AC_LIBOBJ invocations to module description.
17909         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
17910         here...
17911         * modules/symlink (configure.ac): ... to here.
17912
17913 2011-05-22  Bruno Haible  <bruno@clisp.org>
17914
17915         strverscmp: Move AC_LIBOBJ invocations to module description.
17916         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
17917         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
17918         from here...
17919         * modules/strverscmp (configure.ac): ... to here.
17920
17921 2011-05-22  Bruno Haible  <bruno@clisp.org>
17922
17923         strtok_r: Move AC_LIBOBJ invocations to module description.
17924         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
17925         and gl_PREREQ_STRTOK_R invocations from here...
17926         * modules/strtok_r (configure.ac): ... to here.
17927         (Depends-on): Update conditions.
17928
17929 2011-05-22  Bruno Haible  <bruno@clisp.org>
17930
17931         strtoumax: Move AC_LIBOBJ invocations to module description.
17932         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
17933         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
17934         from here...
17935         * modules/strtoumax (configure.ac): ... to here.
17936
17937 2011-05-22  Bruno Haible  <bruno@clisp.org>
17938
17939         strtoimax: Move AC_LIBOBJ invocations to module description.
17940         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
17941         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
17942         from here...
17943         * modules/strtoimax (configure.ac): ... to here.
17944
17945 2011-05-22  Bruno Haible  <bruno@clisp.org>
17946
17947         strtoull: Move AC_LIBOBJ invocations to module description.
17948         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
17949         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
17950         from here...
17951         * modules/strtoull (configure.ac): ... to here.
17952
17953 2011-05-22  Bruno Haible  <bruno@clisp.org>
17954
17955         strtoll: Move AC_LIBOBJ invocations to module description.
17956         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
17957         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
17958         here...
17959         * modules/strtoll (configure.ac): ... to here.
17960
17961 2011-05-22  Bruno Haible  <bruno@clisp.org>
17962
17963         strtoul: Move AC_LIBOBJ invocations to module description.
17964         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
17965         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17966         * modules/strtoul (configure.ac): ... to here.
17967
17968 2011-05-22  Bruno Haible  <bruno@clisp.org>
17969
17970         strtol: Move AC_LIBOBJ invocations to module description.
17971         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
17972         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17973         * modules/strtol (configure.ac): ... to here.
17974
17975 2011-05-22  Bruno Haible  <bruno@clisp.org>
17976
17977         strtod: Move AC_LIBOBJ invocations to module description.
17978         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
17979         invocations from here...
17980         * modules/strtod (configure.ac): ... to here.
17981
17982 2011-05-22  Bruno Haible  <bruno@clisp.org>
17983
17984         strstr*: Move AC_LIBOBJ invocations to module description.
17985         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
17986         invocations from here...
17987         * modules/strstr-simple (configure.ac): ... to here.
17988         * modules/strstr (configure.ac): ... and here.
17989
17990 2011-05-22  Bruno Haible  <bruno@clisp.org>
17991
17992         strsignal: Move AC_LIBOBJ invocations to module description.
17993         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
17994         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
17995         * modules/strsignal (configure.ac): ... to here.
17996         (Depends-on): Update conditions.
17997
17998 2011-05-22  Bruno Haible  <bruno@clisp.org>
17999
18000         strsep: Move AC_LIBOBJ invocations to module description.
18001         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
18002         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
18003         here...
18004         * modules/strsep (configure.ac): ... to here.
18005
18006 2011-05-22  Bruno Haible  <bruno@clisp.org>
18007
18008         strptime: Move AC_LIBOBJ invocations to module description.
18009         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
18010         gl_PREREQ_STRPTIME invocations from here...
18011         * modules/strptime (configure.ac): ... to here.
18012
18013 2011-05-22  Bruno Haible  <bruno@clisp.org>
18014
18015         strpbrk: Move AC_LIBOBJ invocations to module description.
18016         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
18017         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
18018         here...
18019         * modules/strpbrk (configure.ac): ... to here.
18020
18021 2011-05-22  Bruno Haible  <bruno@clisp.org>
18022
18023         strnlen: Move AC_LIBOBJ invocations to module description.
18024         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
18025         invocations from here...
18026         * modules/strnlen (configure.ac): ... to here.
18027
18028 2011-05-22  Bruno Haible  <bruno@clisp.org>
18029
18030         strndup: Move AC_LIBOBJ invocations to module description.
18031         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
18032         invocations from here...
18033         * modules/strndup (configure.ac): ... to here.
18034         (Depends-on): Update conditions.
18035
18036 2011-05-22  Bruno Haible  <bruno@clisp.org>
18037
18038         strncat: Move AC_LIBOBJ invocations to module description.
18039         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
18040         invocations from here...
18041         * modules/strncat (configure.ac): ... to here.
18042
18043 2011-05-22  Bruno Haible  <bruno@clisp.org>
18044
18045         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
18046         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
18047         invocations from here...
18048         * modules/strdup (configure.ac): ... to here.
18049         * modules/strdup-posix (configure.ac): ... and here.
18050
18051 2011-05-22  Bruno Haible  <bruno@clisp.org>
18052
18053         strcspn: Move AC_LIBOBJ invocations to module description.
18054         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
18055         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
18056         here...
18057         * modules/strcspn (configure.ac): ... to here.
18058
18059 2011-05-22  Bruno Haible  <bruno@clisp.org>
18060
18061         strchrnul: Move AC_LIBOBJ invocations to module description.
18062         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
18063         gl_PREREQ_STRCHRNUL invocations from here...
18064         * modules/strchrnul (configure.ac): ... to here.
18065
18066 2011-05-22  Bruno Haible  <bruno@clisp.org>
18067
18068         strcasestr*: Move AC_LIBOBJ invocations to module description.
18069         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
18070         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
18071         * modules/strcasestr-simple (configure.ac): ... to here.
18072         * modules/strcasestr (configure.ac): ... and here.
18073
18074 2011-05-22  Bruno Haible  <bruno@clisp.org>
18075
18076         strcase: Move AC_LIBOBJ invocations to module description.
18077         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
18078         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
18079         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
18080         gl_PREREQ_STRNCASECMP invocations from here...
18081         * modules/strcase (configure.ac): ... to here.
18082
18083 2011-05-22  Bruno Haible  <bruno@clisp.org>
18084
18085         stpncpy: Move AC_LIBOBJ invocations to module description.
18086         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
18087         here...
18088         * modules/stpncpy (configure.ac): ... to here.
18089
18090 2011-05-22  Bruno Haible  <bruno@clisp.org>
18091
18092         stpcpy: Move AC_LIBOBJ invocations to module description.
18093         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
18094         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
18095         here...
18096         * modules/stpcpy (configure.ac): ... to here.
18097
18098 2011-05-21  Bruno Haible  <bruno@clisp.org>
18099
18100         stat: Move AC_LIBOBJ invocations to module description.
18101         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
18102         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
18103         here...
18104         * modules/stat (configure.ac): ... to here.
18105
18106 2011-05-21  Bruno Haible  <bruno@clisp.org>
18107
18108         sleep: Move AC_LIBOBJ invocations to module description.
18109         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
18110         * modules/sleep (configure.ac): ... to here.
18111
18112 2011-05-21  Bruno Haible  <bruno@clisp.org>
18113
18114         signbit: Move AC_LIBOBJ invocations to module description.
18115         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
18116         * modules/signbit (configure.ac): ... to here.
18117
18118 2011-05-21  Bruno Haible  <bruno@clisp.org>
18119
18120         sigprocmask: Move AC_LIBOBJ invocations to module description.
18121         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
18122         gl_PREREQ_SIGPROMASK invocations from here...
18123         * modules/sigprocmask (configure.ac): ... to here.
18124
18125 2011-05-21  Bruno Haible  <bruno@clisp.org>
18126
18127         sigaction: Move AC_LIBOBJ invocations to module description.
18128         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
18129         gl_PREREQ_SIGACTION invocations from here...
18130         * modules/sigaction (configure.ac): ... to here.
18131
18132 2011-05-21  Bruno Haible  <bruno@clisp.org>
18133
18134         sig2str: Move AC_LIBOBJ invocations to module description.
18135         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
18136         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
18137         here...
18138         * modules/sig2str (configure.ac): ... to here.
18139
18140 2011-05-21  Bruno Haible  <bruno@clisp.org>
18141
18142         setlocale: Move AC_LIBOBJ invocations to module description.
18143         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
18144         gl_PREREQ_SETLOCALE invocations from here...
18145         * modules/setlocale (configure.ac): ... to here.
18146
18147 2011-05-21  Bruno Haible  <bruno@clisp.org>
18148
18149         unsetenv: Move AC_LIBOBJ invocations to module description.
18150         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
18151         and gl_PREREQ_UNSETENV invocations from here...
18152         * modules/unsetenv (configure.ac): ... to here.
18153         (Depends-on): Update.
18154
18155 2011-05-21  Bruno Haible  <bruno@clisp.org>
18156
18157         setenv: Move AC_LIBOBJ invocations to module description.
18158         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
18159         here...
18160         * modules/setenv (configure.ac): ... to here.
18161
18162 2011-05-21  Bruno Haible  <bruno@clisp.org>
18163
18164         selinux-h: Move AC_LIBOBJ invocations to module description.
18165         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
18166         AC_LIBOBJ invocation from here...
18167         * modules/selinux-h (configure.ac): ... to here.
18168
18169 2011-05-21  Bruno Haible  <bruno@clisp.org>
18170
18171         select: Respect rules for use of AC_LIBOBJ.
18172         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
18173         here...
18174         * modules/select (configure.ac): ... to here.
18175
18176 2011-05-21  Bruno Haible  <bruno@clisp.org>
18177
18178         scandir: Move AC_LIBOBJ invocations to module description.
18179         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
18180         invocations from here...
18181         * modules/scandir (configure.ac): ... to here.
18182
18183 2011-05-21  Bruno Haible  <bruno@clisp.org>
18184
18185         rpmatch: Move AC_LIBOBJ invocations to module description.
18186         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
18187         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
18188         here...
18189         * modules/rpmatch (configure.ac): ... to here.
18190
18191 2011-05-21  Bruno Haible  <bruno@clisp.org>
18192
18193         rmdir: Respect rules for use of AC_LIBOBJ.
18194         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
18195         * modules/rmdir (configure.ac): ... to here.
18196
18197 2011-05-21  Bruno Haible  <bruno@clisp.org>
18198
18199         renameat: Move AC_LIBOBJ invocations to module description.
18200         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
18201         here...
18202         * modules/renameat (configure.ac): ... to here.
18203
18204 2011-05-21  Bruno Haible  <bruno@clisp.org>
18205
18206         rename: Respect rules for use of AC_LIBOBJ.
18207         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
18208         here...
18209         * modules/rename (configure.ac): ... to here.
18210
18211 2011-05-21  Bruno Haible  <bruno@clisp.org>
18212
18213         remove: Move AC_LIBOBJ invocations to module description.
18214         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
18215         here...
18216         * modules/remove (configure.ac): ... to here.
18217
18218 2011-05-21  Bruno Haible  <bruno@clisp.org>
18219
18220         relocatable-lib: Move AC_LIBOBJ invocations to module description.
18221         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
18222         macro.
18223         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
18224         * modules/relocatable-lib (configure.ac): ... to here.
18225         * modules/relocatable-prog-wrapper (configure.ac): Invoke
18226         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
18227
18228 2011-05-21  Bruno Haible  <bruno@clisp.org>
18229
18230         relocatable-prog: Move AC_LIBOBJ invocations to module description.
18231         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
18232         here...
18233         * modules/relocatable-prog (configure.ac): ... to here.
18234
18235 2011-05-21  Bruno Haible  <bruno@clisp.org>
18236
18237         regex: Move AC_LIBOBJ invocations to module description.
18238         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
18239         invocations from here...
18240         * modules/regex (configure.ac): ... to here.
18241
18242 2011-05-21  Bruno Haible  <bruno@clisp.org>
18243
18244         realloc-*: Move AC_LIBOBJ invocations to module description.
18245         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
18246         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
18247         AC_LIBOBJ invocations from here...
18248         * modules/realloc-gnu (configure.ac): ... to here.
18249         * modules/realloc-posix (configure.ac): ... and here.
18250
18251 2011-05-21  Bruno Haible  <bruno@clisp.org>
18252
18253         readutmp: Move AC_LIBOBJ invocations to module description.
18254         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
18255         * modules/readutmp (configure.ac): ... to here.
18256
18257 2011-05-21  Bruno Haible  <bruno@clisp.org>
18258
18259         readlinkat: Move AC_LIBOBJ invocations to module description.
18260         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
18261         here...
18262         * modules/readlinkat (configure.ac): ... to here.
18263
18264 2011-05-21  Bruno Haible  <bruno@clisp.org>
18265
18266         readlink: Move AC_LIBOBJ invocations to module description.
18267         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
18268         gl_PREREQ_READLINK invocations from here...
18269         * modules/readlink (configure.ac): ... to here.
18270
18271 2011-05-21  Bruno Haible  <bruno@clisp.org>
18272
18273         readline: Move AC_LIBOBJ invocations to module description.
18274         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
18275         gl_PREREQ_READLINE invocations from here...
18276         * modules/readline (configure.ac): ... to here.
18277
18278 2011-05-21  Bruno Haible  <bruno@clisp.org>
18279
18280         read: Move AC_LIBOBJ invocations to module description.
18281         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
18282         * modules/read (configure.ac): ... to here.
18283
18284 2011-05-21  Bruno Haible  <bruno@clisp.org>
18285
18286         rawmemchr: Move AC_LIBOBJ invocations to module description.
18287         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
18288         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
18289         from here...
18290         * modules/rawmemchr (configure.ac): ... to here.
18291
18292 2011-05-21  Bruno Haible  <bruno@clisp.org>
18293
18294         random_r: Move AC_LIBOBJ invocations to module description.
18295         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
18296         gl_PREREQ_RANDOM_R invocations from here...
18297         * modules/random_r (configure.ac): ... to here.
18298
18299 2011-05-21  Bruno Haible  <bruno@clisp.org>
18300
18301         pwrite: Move AC_LIBOBJ invocations to module description.
18302         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
18303         * modules/pwrite (configure.ac): ... to here.
18304
18305 2011-05-21  Bruno Haible  <bruno@clisp.org>
18306
18307         putenv: Move AC_LIBOBJ invocations to module description.
18308         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
18309         * modules/putenv (configure.ac): ... to here.
18310
18311 2011-05-21  Bruno Haible  <bruno@clisp.org>
18312
18313         login_tty: Move AC_LIBOBJ invocations to module description.
18314         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
18315         * modules/login_tty (configure.ac): ... to here.
18316
18317 2011-05-21  Bruno Haible  <bruno@clisp.org>
18318
18319         openpty: Move AC_LIBOBJ invocations to module description.
18320         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
18321         * modules/openpty (configure.ac): ... to here.
18322
18323 2011-05-21  Bruno Haible  <bruno@clisp.org>
18324
18325         forkpty: Move AC_LIBOBJ invocations to module description.
18326         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
18327         * modules/forkpty (configure.ac): ... to here.
18328
18329 2011-05-21  Bruno Haible  <bruno@clisp.org>
18330
18331         ptsname: Move AC_LIBOBJ invocations to module description.
18332         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
18333         invocations from here...
18334         * modules/ptsname (configure.ac): ... to here.
18335
18336 2011-05-21  Bruno Haible  <bruno@clisp.org>
18337
18338         pread: Move AC_LIBOBJ invocations to module description.
18339         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
18340         * modules/pread (configure.ac): ... to here.
18341
18342 2011-05-21  Bruno Haible  <bruno@clisp.org>
18343
18344         posix_spawn*: Move AC_LIBOBJ invocations to module description.
18345         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
18346         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
18347         * modules/posix_spawn (configure.ac): ... to here.
18348         * modules/posix_spawnp (configure.ac): ... and here.
18349
18350 2011-05-21  Bruno Haible  <bruno@clisp.org>
18351
18352         popen: Move AC_LIBOBJ invocations to module description.
18353         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
18354         invocations from here...
18355         * modules/popen (configure.ac): ... to here.
18356
18357 2011-05-21  Bruno Haible  <bruno@clisp.org>
18358
18359         poll: Move AC_LIBOBJ invocations to module description.
18360         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
18361         invocations from here...
18362         * modules/poll (configure.ac): ... to here.
18363
18364 2011-05-21  Bruno Haible  <bruno@clisp.org>
18365
18366         pipe-posix: Move AC_LIBOBJ invocations to module description.
18367         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
18368         * modules/pipe-posix (configure.ac): ... to here.
18369
18370 2011-05-21  Bruno Haible  <bruno@clisp.org>
18371
18372         openat: Respect rules for use of AC_LIBOBJ.
18373         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
18374         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18375         * modules/openat (configure.ac): ... to here.
18376
18377 2011-05-21  Bruno Haible  <bruno@clisp.org>
18378
18379         obstack-printf*: Move AC_LIBOBJ invocations to module description.
18380         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
18381         invocation from here...
18382         * modules/obstack-printf (configure.ac): ... to here.
18383         * modules/obstack-printf-posix (configure.ac): ... and here.
18384
18385 2011-05-21  Bruno Haible  <bruno@clisp.org>
18386
18387         nl_langinfo: Move AC_LIBOBJ invocations to module description.
18388         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
18389         from here...
18390         * modules/nl_langinfo (configure.ac): ... to here.
18391
18392 2011-05-21  Bruno Haible  <bruno@clisp.org>
18393
18394         nanosleep: Move AC_LIBOBJ invocations to module description.
18395         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
18396         gl_PREREQ_NANOSLEEP invocations from here...
18397         * modules/nanosleep (configure.ac): ... to here.
18398
18399 2011-05-21  Bruno Haible  <bruno@clisp.org>
18400
18401         mountlist: Move AC_LIBOBJ invocations to module description.
18402         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
18403         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
18404         * modules/mountlist (configure.ac): ... to here.
18405
18406 2011-05-21  Bruno Haible  <bruno@clisp.org>
18407
18408         mktime: Respect rules for use of AC_LIBOBJ.
18409         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
18410         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
18411         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
18412         (gl_FUNC_MKTIME_INTERNAL): ... and here...
18413         * modules/mktime (configure.ac): ... to here.
18414         * modules/mktime-internal (configure.ac): ... and here.
18415         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
18416
18417 2011-05-21  Bruno Haible  <bruno@clisp.org>
18418
18419         mkstemps: Move AC_LIBOBJ invocations to module description.
18420         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
18421         here...
18422         * modules/mkstemps (configure.ac): ... to here.
18423
18424 2011-05-21  Bruno Haible  <bruno@clisp.org>
18425
18426         mkstemp: Move AC_LIBOBJ invocations to module description.
18427         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
18428         gl_PREREQ_MKSTEMP invocations from here...
18429         * modules/mkstemp (configure.ac): ... to here.
18430
18431 2011-05-21  Bruno Haible  <bruno@clisp.org>
18432
18433         mkostemps: Move AC_LIBOBJ invocations to module description.
18434         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
18435         here...
18436         * modules/mkostemps (configure.ac): ... to here.
18437
18438 2011-05-21  Bruno Haible  <bruno@clisp.org>
18439
18440         mkostemp: Move AC_LIBOBJ invocations to module description.
18441         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
18442         gl_PREREQ_MKOSTEMP invocations from here...
18443         * modules/mkostemp (configure.ac): ... to here.
18444
18445 2011-05-21  Bruno Haible  <bruno@clisp.org>
18446
18447         mknod: Move AC_LIBOBJ invocations to module description.
18448         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
18449         * modules/mknod (configure.ac): ... to here.
18450
18451 2011-05-21  Bruno Haible  <bruno@clisp.org>
18452
18453         mkfifoat: Move AC_LIBOBJ invocations to module description.
18454         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
18455         here...
18456         * modules/mkfifoat (configure.ac): ... to here.
18457
18458 2011-05-21  Bruno Haible  <bruno@clisp.org>
18459
18460         mkfifo: Respect rules for use of AC_LIBOBJ.
18461         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
18462         here...
18463         * modules/mkfifo (configure.ac): ... to here.
18464
18465 2011-05-21  Bruno Haible  <bruno@clisp.org>
18466
18467         mkdtemp: Move AC_LIBOBJ invocations to module description.
18468         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
18469         invocations from here...
18470         * modules/mkdtemp (configure.ac): ... to here.
18471
18472 2011-05-21  Bruno Haible  <bruno@clisp.org>
18473
18474         mkdir: Move AC_LIBOBJ invocations to module description.
18475         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
18476         * modules/mkdir (configure.ac): ... to here.
18477
18478 2011-05-21  Bruno Haible  <bruno@clisp.org>
18479
18480         memset: Move AC_LIBOBJ invocations to module description.
18481         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
18482         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
18483         here...
18484         * modules/memset (configure.ac): ... to here.
18485
18486 2011-05-21  Bruno Haible  <bruno@clisp.org>
18487
18488         memrchr: Move AC_LIBOBJ invocations to module description.
18489         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
18490         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
18491         here...
18492         * modules/memrchr (configure.ac): ... to here.
18493
18494 2011-05-21  Bruno Haible  <bruno@clisp.org>
18495
18496         mempcpy: Move AC_LIBOBJ invocations to module description.
18497         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
18498         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
18499         here...
18500         * modules/mempcpy (configure.ac): ... to here.
18501
18502 2011-05-21  Bruno Haible  <bruno@clisp.org>
18503
18504         memmove: Move AC_LIBOBJ invocations to module description.
18505         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
18506         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
18507         here...
18508         * modules/memmove (configure.ac): ... to here.
18509
18510 2011-05-21  Bruno Haible  <bruno@clisp.org>
18511
18512         memmem*: Move AC_LIBOBJ invocations to module description.
18513         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
18514         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
18515         here...
18516         (gl_FUNC_MEMMEM): ... and here...
18517         * modules/memmem-simple (configure.ac): ... to here.
18518         * modules/memmem (configure.ac): ... and here.
18519
18520 2011-05-21  Bruno Haible  <bruno@clisp.org>
18521
18522         memcpy: Move AC_LIBOBJ invocations to module description.
18523         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
18524         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
18525         here...
18526         * modules/memcpy (configure.ac): ... to here.
18527
18528 2011-05-21  Bruno Haible  <bruno@clisp.org>
18529
18530         memcmp: Simplify autoconf macro.
18531         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
18532         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
18533         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
18534
18535 2011-05-21  Bruno Haible  <bruno@clisp.org>
18536
18537         memcmp: Move AC_LIBOBJ invocations to module description.
18538         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
18539         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
18540         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
18541         * modules/memcmp (configure.ac): ... to here.
18542         (Depends-on): Update conditions.
18543
18544 2011-05-21  Bruno Haible  <bruno@clisp.org>
18545
18546         memchr: Respect rules for use of AC_LIBOBJ.
18547         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
18548         invocations from here...
18549         * modules/memchr (configure.ac): ... to here.
18550
18551 2011-05-21  Bruno Haible  <bruno@clisp.org>
18552
18553         mbtowc: Move AC_LIBOBJ invocations to module description.
18554         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
18555         invocations from here...
18556         * modules/mbtowc (configure.ac): ... to here.
18557
18558 2011-05-21  Bruno Haible  <bruno@clisp.org>
18559
18560         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
18561         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
18562         gl_PREREQ_MBSRTOWCS invocations from here...
18563         * modules/mbsrtowcs (configure.ac): ... to here.
18564
18565 2011-05-21  Bruno Haible  <bruno@clisp.org>
18566
18567         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
18568         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
18569         gl_PREREQ_MBSNRTOWCS invocations from here...
18570         * modules/mbsnrtowcs (configure.ac): ... to here.
18571
18572 2011-05-21  Bruno Haible  <bruno@clisp.org>
18573
18574         mbsinit: Move AC_LIBOBJ invocations to module description.
18575         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
18576         invocations from here...
18577         * modules/mbsinit (configure.ac): ... to here.
18578
18579 2011-05-21  Bruno Haible  <bruno@clisp.org>
18580
18581         mbrlen: Move AC_LIBOBJ invocations to module description.
18582         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
18583         invocations from here...
18584         * modules/mbrlen (configure.ac): ... to here.
18585
18586 2011-05-21  Bruno Haible  <bruno@clisp.org>
18587
18588         mbrtowc: Respect rules for use of AC_LIBOBJ.
18589         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
18590         invocations from here...
18591         * modules/mbrtowc (configure.ac): ... to here.
18592
18593 2011-05-21  Bruno Haible  <bruno@clisp.org>
18594
18595         malloc-*: Move AC_LIBOBJ invocations to module description.
18596         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
18597         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
18598         AC_LIBOBJ invocations from here...
18599         * modules/malloc-gnu (configure.ac): ... to here.
18600         * modules/malloc-posix (configure.ac): ... and here.
18601
18602 2011-05-21  Bruno Haible  <bruno@clisp.org>
18603
18604         lstat, openat: Respect rules for use of AC_LIBOBJ.
18605         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
18606         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
18607         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
18608         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
18609         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
18610         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
18611         here.
18612         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
18613
18614 2011-05-21  Bruno Haible  <bruno@clisp.org>
18615
18616         lseek: Move AC_LIBOBJ invocations to module description.
18617         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
18618         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
18619         * modules/lseek (configure.ac): ... to here.
18620
18621 2011-05-21  Bruno Haible  <bruno@clisp.org>
18622
18623         linkat: Move AC_LIBOBJ invocations to module description.
18624         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
18625         here...
18626         * modules/linkat (configure.ac): ... to here.
18627
18628 2011-05-21  Bruno Haible  <bruno@clisp.org>
18629
18630         link: Respect rules for use of AC_LIBOBJ.
18631         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
18632         * modules/link (configure.ac): ... to here.
18633
18634 2011-05-21  Bruno Haible  <bruno@clisp.org>
18635
18636         lchown: Move AC_LIBOBJ invocations to module description.
18637         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18638         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18639         * modules/lchown (configure.ac): ... to here.
18640
18641 2011-05-21  Bruno Haible  <bruno@clisp.org>
18642
18643         iswctype: Move AC_LIBOBJ invocations to module description.
18644         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
18645         here...
18646         * modules/iswctype (configure.ac): ... to here.
18647
18648 2011-05-21  Bruno Haible  <bruno@clisp.org>
18649
18650         iswblank: Move AC_LIBOBJ invocations to module description.
18651         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
18652         here...
18653         * modules/iswblank (configure.ac): ... to here.
18654
18655 2011-05-21  Bruno Haible  <bruno@clisp.org>
18656
18657         atanl: Move AC_LIBOBJ invocations to module description.
18658         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
18659         * modules/atanl (configure.ac): ... to here.
18660
18661 2011-05-21  Bruno Haible  <bruno@clisp.org>
18662
18663         acosl: Move AC_LIBOBJ invocations to module description.
18664         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
18665         * modules/acosl (configure.ac): ... to here.
18666
18667 2011-05-21  Bruno Haible  <bruno@clisp.org>
18668
18669         asinl: Respect rules for use of AC_LIBOBJ.
18670         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
18671         * modules/asinl (configure.ac): ... to here.
18672
18673 2011-05-21  Bruno Haible  <bruno@clisp.org>
18674
18675         tanl: Move AC_LIBOBJ invocations to module description.
18676         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
18677         * modules/tanl (configure.ac): ... to here.
18678
18679 2011-05-21  Bruno Haible  <bruno@clisp.org>
18680
18681         cosl: Move AC_LIBOBJ invocations to module description.
18682         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
18683         * modules/cosl (configure.ac): ... to here.
18684
18685 2011-05-21  Bruno Haible  <bruno@clisp.org>
18686
18687         sinl: Move AC_LIBOBJ invocations to module description.
18688         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
18689         * modules/sinl (configure.ac): ... to here.
18690
18691 2011-05-21  Bruno Haible  <bruno@clisp.org>
18692
18693         logl: Move AC_LIBOBJ invocations to module description.
18694         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
18695         * modules/logl (configure.ac): ... to here.
18696
18697 2011-05-21  Bruno Haible  <bruno@clisp.org>
18698
18699         expl: Move AC_LIBOBJ invocations to module description.
18700         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
18701         * modules/expl (configure.ac): ... to here.
18702
18703 2011-05-21  Bruno Haible  <bruno@clisp.org>
18704
18705         roundl: Move AC_LIBOBJ invocations to module description.
18706         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
18707         * modules/roundl (configure.ac): ... to here.
18708
18709 2011-05-21  Bruno Haible  <bruno@clisp.org>
18710
18711         round: Move AC_LIBOBJ invocations to module description.
18712         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
18713         * modules/round (configure.ac): ... to here.
18714
18715 2011-05-21  Bruno Haible  <bruno@clisp.org>
18716
18717         roundf: Move AC_LIBOBJ invocations to module description.
18718         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
18719         * modules/roundf (configure.ac): ... to here.
18720
18721 2011-05-21  Bruno Haible  <bruno@clisp.org>
18722
18723         truncl: Move AC_LIBOBJ invocations to module description.
18724         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
18725         * modules/truncl (configure.ac): ... to here.
18726
18727 2011-05-21  Bruno Haible  <bruno@clisp.org>
18728
18729         trunc: Move AC_LIBOBJ invocations to module description.
18730         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
18731         * modules/trunc (configure.ac): ... to here.
18732
18733 2011-05-21  Bruno Haible  <bruno@clisp.org>
18734
18735         truncf: Move AC_LIBOBJ invocations to module description.
18736         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
18737         * modules/truncf (configure.ac): ... to here.
18738
18739 2011-05-21  Bruno Haible  <bruno@clisp.org>
18740
18741         ceill: Move AC_LIBOBJ invocations to module description.
18742         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
18743         * modules/ceill (configure.ac): ... to here.
18744
18745 2011-05-21  Bruno Haible  <bruno@clisp.org>
18746
18747         ceil: Move AC_LIBOBJ invocations to module description.
18748         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
18749         * modules/ceil (configure.ac): ... to here.
18750
18751 2011-05-21  Bruno Haible  <bruno@clisp.org>
18752
18753         ceilf: Move AC_LIBOBJ invocations to module description.
18754         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
18755         * modules/ceilf (configure.ac): ... to here.
18756
18757 2011-05-21  Bruno Haible  <bruno@clisp.org>
18758
18759         floorl: Respect rules for use of AC_LIBOBJ.
18760         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
18761         * modules/floorl (configure.ac): ... to here.
18762
18763 2011-05-21  Bruno Haible  <bruno@clisp.org>
18764
18765         floor: Respect rules for use of AC_LIBOBJ.
18766         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
18767         * modules/floor (configure.ac): ... to here.
18768
18769 2011-05-21  Bruno Haible  <bruno@clisp.org>
18770
18771         floorf: Move AC_LIBOBJ invocations to module description.
18772         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
18773         * modules/floorf (configure.ac): ... to here.
18774
18775 2011-05-20  Bruno Haible  <bruno@clisp.org>
18776
18777         sqrtl: Respect rules for use of AC_LIBOBJ.
18778         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
18779         * modules/sqrtl (configure.ac): ... to here.
18780
18781 2011-05-20  Bruno Haible  <bruno@clisp.org>
18782
18783         ldexpl: Respect rules for use of AC_LIBOBJ.
18784         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
18785         * modules/ldexpl (configure.ac): ... to here.
18786
18787 2011-05-20  Bruno Haible  <bruno@clisp.org>
18788
18789         frexpl*: Respect rules for use of AC_LIBOBJ.
18790         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
18791         invocation from here...
18792         * modules/frexpl (configure.ac): ... to here.
18793         * modules/frexpl-nolibm (configure.ac): ... and here.
18794
18795 2011-05-20  Bruno Haible  <bruno@clisp.org>
18796
18797         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
18798         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
18799         invocation from here...
18800         * modules/frexp (configure.ac): ... to here.
18801         * modules/frexp-nolibm (configure.ac): ... and here.
18802
18803 2011-05-20  Bruno Haible  <bruno@clisp.org>
18804
18805         isnan: Respect rules for use of AC_LIBOBJ.
18806         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
18807         invocations here.
18808         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
18809         REPLACE_ISNAN.
18810         * modules/isnand (configure.ac): Likewise.
18811         * modules/isnanl (configure.ac): Likewise.
18812
18813 2011-05-20  Bruno Haible  <bruno@clisp.org>
18814
18815         isnanl*: Respect rules for use of AC_LIBOBJ.
18816         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
18817         invocation from here...
18818         * modules/isnanl (configure.ac): ... to here.
18819         * modules/isnanl-nolibm (configure.ac): ... and here.
18820
18821 2011-05-20  Bruno Haible  <bruno@clisp.org>
18822
18823         isnand*: Move AC_LIBOBJ invocations to module description.
18824         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
18825         invocation from here...
18826         * modules/isnand (configure.ac): ... to here.
18827         * modules/isnand-nolibm (configure.ac): ... and here.
18828
18829 2011-05-20  Bruno Haible  <bruno@clisp.org>
18830
18831         isnanf*: Move AC_LIBOBJ invocations to module description.
18832         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
18833         invocation from here...
18834         * modules/isnanf (configure.ac): ... to here.
18835         * modules/isnanf-nolibm (configure.ac): ... and here.
18836
18837 2011-05-20  Bruno Haible  <bruno@clisp.org>
18838
18839         isnan*: Separate the AC_LIBOBJ invocations.
18840         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
18841         AC_LIBOBJ invocation.
18842         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
18843         here.
18844         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
18845         AC_LIBOBJ invocation.
18846         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
18847         here.
18848         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
18849         AC_LIBOBJ invocation.
18850         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
18851         here.
18852         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
18853
18854 2011-05-08  Bruno Haible  <bruno@clisp.org>
18855
18856         isinf: Move AC_LIBOBJ invocations to module description.
18857         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
18858         * modules/isinf (configure.ac): ... to here.
18859
18860 2011-05-08  Bruno Haible  <bruno@clisp.org>
18861
18862         isfinite: Move AC_LIBOBJ invocations to module description.
18863         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
18864         * modules/isfinite (configure.ac): ... to here.
18865
18866 2011-05-08  Bruno Haible  <bruno@clisp.org>
18867
18868         isblank: Move AC_LIBOBJ invocations to module description.
18869         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
18870         here...
18871         * modules/isblank (configure.ac): ... to here.
18872
18873 2011-05-08  Bruno Haible  <bruno@clisp.org>
18874
18875         isapipe: Move AC_LIBOBJ invocations to module description.
18876         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
18877         gl_PREREQ_ISAPIPE invocations from here...
18878         * modules/isapipe (configure.ac): ... to here.
18879         (Depends-on): Update condition.
18880
18881 2011-05-08  Bruno Haible  <bruno@clisp.org>
18882
18883         ioctl: Move AC_LIBOBJ invocations to module description.
18884         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
18885         invocations from here...
18886         * modules/ioctl (configure.ac): ... to here.
18887         (Depends-on): Update condition.
18888
18889 2011-05-08  Bruno Haible  <bruno@clisp.org>
18890
18891         imaxdiv: Move AC_LIBOBJ invocations to module description.
18892         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
18893         invocations from here...
18894         * modules/imaxdiv (configure.ac): ... to here.
18895
18896 2011-05-08  Bruno Haible  <bruno@clisp.org>
18897
18898         imaxabs: Move AC_LIBOBJ invocations to module description.
18899         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
18900         invocations from here...
18901         * modules/imaxabs (configure.ac): ... to here.
18902
18903 2011-05-08  Bruno Haible  <bruno@clisp.org>
18904
18905         getaddrinfo: Move AC_LIBOBJ invocations to module description.
18906         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
18907         AC_LIBOBJ invocations from here...
18908         * modules/getaddrinfo (configure.ac): ... to here.
18909         (Depends-on): Add conditions.
18910
18911 2011-05-08  Bruno Haible  <bruno@clisp.org>
18912
18913         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18914         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
18915         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18916         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
18917         (gl_PREREQ_INET_PTON): ... from here.
18918         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
18919         gl_PREREQ_INET_PTON here.
18920         (Depends-on): Update condition.
18921
18922 2011-05-08  Bruno Haible  <bruno@clisp.org>
18923
18924         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18925         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
18926         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18927         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
18928         (gl_PREREQ_INET_NTOP): ... from here.
18929         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
18930         gl_PREREQ_INET_NTOP here.
18931         (Depends-on): Update condition.
18932
18933 2011-05-08  Bruno Haible  <bruno@clisp.org>
18934
18935         iconv_open: Move AC_LIBOBJ invocations to module description.
18936         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
18937         AC_LIBOBJ invocations from here...
18938         * modules/iconv_open (configure.ac): ... to here.
18939
18940 2011-05-08  Bruno Haible  <bruno@clisp.org>
18941
18942         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
18943         If module 'iconv_open' is among the main modules and module
18944         'iconv_open-utf' is among the tests dependencies, then
18945         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
18946         return the special iconv_t values. Therefore iconv() and iconv_close()
18947         must support these special iconv_t values, already in lib, not only in
18948         tests.
18949         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
18950         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
18951         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
18952         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
18953         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
18954         (Depends-on): Add the dependencies of iconv_open-utf.
18955         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
18956         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
18957         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
18958
18959 2011-05-08  Bruno Haible  <bruno@clisp.org>
18960
18961         group-member: Move AC_LIBOBJ invocations to module description.
18962         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
18963         gl_PREREQ_GROUP_MEMBER invocations from here...
18964         * modules/group-member (configure.ac): ... to here.
18965
18966 2011-05-08  Bruno Haible  <bruno@clisp.org>
18967
18968         grantpt: Move AC_LIBOBJ invocations to module description.
18969         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
18970         invocations from here...
18971         * modules/grantpt (configure.ac): ... to here.
18972
18973 2011-05-08  Bruno Haible  <bruno@clisp.org>
18974
18975         glob: Move AC_LIBOBJ invocations to module description.
18976         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
18977         from here...
18978         * modules/glob (configure.ac): ... to here.
18979
18980 2011-05-08  Bruno Haible  <bruno@clisp.org>
18981
18982         getusershell: Move AC_LIBOBJ invocations to module description.
18983         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
18984         Move AC_LIBOBJ invocation from here...
18985         * modules/getusershell (configure.ac): ... to here.
18986         (Depends-on): Update condition.
18987
18988 2011-05-08  Bruno Haible  <bruno@clisp.org>
18989
18990         gettimeofday: Move AC_LIBOBJ invocations to module description.
18991         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
18992         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
18993         gl_PREREQ_GETTIMEOFDAY invocations from here...
18994         * modules/gettimeofday (configure.ac): ... to here.
18995
18996 2011-05-08  Bruno Haible  <bruno@clisp.org>
18997
18998         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
18999         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
19000         just gl_FUNC_TZSET.
19001         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
19002         (gl_FUNC_TZSET_CLOBBER): Remove actions.
19003         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
19004         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
19005
19006 2011-05-08  Bruno Haible  <bruno@clisp.org>
19007
19008         getsubopt: Move AC_LIBOBJ invocations to module description.
19009         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
19010         gl_PREREQ_GETSUBOPT invocations from here...
19011         * modules/getsubopt (configure.ac): ... to here.
19012
19013 2011-05-08  Bruno Haible  <bruno@clisp.org>
19014
19015         getpass-gnu: Move AC_LIBOBJ invocations to module description.
19016         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
19017         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
19018         * modules/getpass-gnu (configure.ac): ... to here.
19019
19020 2011-05-08  Bruno Haible  <bruno@clisp.org>
19021
19022         getpass: Move AC_LIBOBJ invocations to module description.
19023         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
19024         gl_PREREQ_GETPASS invocations from here...
19025         * modules/getpass (configure.ac): ... to here.
19026
19027 2011-05-08  Bruno Haible  <bruno@clisp.org>
19028
19029         getpagesize: Move AC_LIBOBJ invocations to module description.
19030         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
19031         from here...
19032         * modules/getpagesize (configure.ac): ... to here.
19033
19034 2011-05-08  Bruno Haible  <bruno@clisp.org>
19035
19036         getopt: Move AC_LIBOBJ invocations to module description.
19037         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
19038         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
19039         invocations from here...
19040         * modules/getopt-gnu (configure.ac): ... to here.
19041         * modules/getopt-posix (configure.ac): ... and here.
19042         (Depends-on): Update condition.
19043
19044 2011-05-08  Bruno Haible  <bruno@clisp.org>
19045
19046         getopt, argp: Respect rules for use of AC_LIBOBJ.
19047         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
19048         (gl_REPLACE_GETOPT_ALWAYS): New macro.
19049         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
19050         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
19051
19052 2011-05-08  Bruno Haible  <bruno@clisp.org>
19053
19054         getlogin_r: Move AC_LIBOBJ invocations to module description.
19055         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
19056         gl_PREREQ_GETLOGIN_R invocations from here...
19057         * modules/getlogin_r (configure.ac): ... to here.
19058
19059 2011-05-08  Bruno Haible  <bruno@clisp.org>
19060
19061         getlogin: Move AC_LIBOBJ invocations to module description.
19062         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
19063         here...
19064         * modules/getlogin (configure.ac): ... to here.
19065
19066 2011-05-08  Bruno Haible  <bruno@clisp.org>
19067
19068         getloadavg: Move AC_LIBOBJ invocations to module description.
19069         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
19070         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
19071         * modules/getloadavg (configure.ac): ... to here.
19072
19073 2011-05-08  Bruno Haible  <bruno@clisp.org>
19074
19075         gethrxtime: Move AC_LIBOBJ invocations to module description.
19076         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
19077         LIB_GETHRXTIME from here...
19078         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
19079         invocations from here...
19080         * modules/gethrxtime (configure.ac): ... to here.
19081
19082 2011-05-08  Bruno Haible  <bruno@clisp.org>
19083
19084         gethostname: Move AC_LIBOBJ invocations to module description.
19085         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
19086         gl_PREREQ_GETHOSTNAME invocations from here...
19087         * modules/gethostname (configure.ac): ... to here.
19088
19089 2011-05-08  Bruno Haible  <bruno@clisp.org>
19090
19091         getgroups: Move AC_LIBOBJ invocations to module description.
19092         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
19093         here...
19094         * modules/getgroups (configure.ac): ... to here.
19095
19096 2011-05-08  Bruno Haible  <bruno@clisp.org>
19097
19098         getdtablesize: Move AC_LIBOBJ invocations to module description.
19099         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
19100         invocation from here...
19101         * modules/getdtablesize (configure.ac): ... to here.
19102
19103 2011-05-08  Bruno Haible  <bruno@clisp.org>
19104
19105         getdomainname: Move AC_LIBOBJ invocations to module description.
19106         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
19107         gl_PREREQ_GETDOMAINNAME invocations from here...
19108         * modules/getdomainname (configure.ac): ... to here.
19109
19110 2011-05-08  Bruno Haible  <bruno@clisp.org>
19111
19112         getline: Move AC_LIBOBJ invocations to module description.
19113         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
19114         invocations from here...
19115         * modules/getline (configure.ac): ... to here.
19116
19117 2011-05-08  Bruno Haible  <bruno@clisp.org>
19118
19119         getline: Simplify.
19120         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
19121         It's already handled through the module dependency.
19122
19123 2011-05-08  Bruno Haible  <bruno@clisp.org>
19124
19125         getdelim: Move AC_LIBOBJ invocations to module description.
19126         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
19127         and gl_PREREQ_GETDELIM invocations from here...
19128         * modules/getdelim (configure.ac): ... to here.
19129         (Depends-on): Fix condition.
19130
19131 2011-05-08  Bruno Haible  <bruno@clisp.org>
19132
19133         getcwd: Move AC_LIBOBJ invocations to module description.
19134         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
19135         invocations from here...
19136         * modules/getcwd (configure.ac): ... to here.
19137
19138 2011-05-08  Bruno Haible  <bruno@clisp.org>
19139
19140         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
19141         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
19142         here...
19143         * modules/getcwd-lgpl (configure.ac): ... to here.
19144
19145 2011-05-07  Bruno Haible  <bruno@clisp.org>
19146
19147         crypto/gc: Move AC_LIBOBJ invocations to module description.
19148         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
19149         * modules/crypto/gc (configure.ac): ... to here.
19150
19151 2011-05-07  Bruno Haible  <bruno@clisp.org>
19152
19153         fwriting: Move AC_LIBOBJ invocations to module description.
19154         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
19155         here...
19156         * modules/fwriting (configure.ac): ... to here.
19157
19158 2011-05-07  Bruno Haible  <bruno@clisp.org>
19159
19160         fwritable: Move AC_LIBOBJ invocations to module description.
19161         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
19162         here...
19163         * modules/fwritable (configure.ac): ... to here.
19164
19165 2011-05-07  Bruno Haible  <bruno@clisp.org>
19166
19167         futimens: Move AC_LIBOBJ invocations to module description.
19168         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
19169         here...
19170         * modules/futimens (configure.ac): ... to here.
19171
19172 2011-05-07  Bruno Haible  <bruno@clisp.org>
19173
19174         ftruncate: Move AC_LIBOBJ invocations to module description.
19175         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
19176         gl_PREREQ_FTRUNCATE invocations from here...
19177         * modules/ftruncate (configure.ac): ... to here.
19178
19179 2011-05-07  Bruno Haible  <bruno@clisp.org>
19180
19181         fsync: Move AC_LIBOBJ invocations to module description.
19182         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
19183         invocations from here...
19184         * modules/fsync (configure.ac): ... to here.
19185
19186 2011-05-07  Bruno Haible  <bruno@clisp.org>
19187
19188         fsusage: Move AC_LIBOBJ invocations to module description.
19189         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
19190         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
19191         * modules/fsusage (configure.ac): ... to here.
19192
19193 2011-05-07  Bruno Haible  <bruno@clisp.org>
19194
19195         freopen: Move AC_LIBOBJ invocations to module description.
19196         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
19197         invocations from here...
19198         * modules/freopen (configure.ac): ... to here.
19199
19200 2011-05-07  Bruno Haible  <bruno@clisp.org>
19201
19202         free: Move AC_LIBOBJ invocations to module description.
19203         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
19204         invocations from here...
19205         * modules/free (configure.ac): ... to here.
19206
19207 2011-05-07  Bruno Haible  <bruno@clisp.org>
19208
19209         freadable: Move AC_LIBOBJ invocations to module description.
19210         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
19211         here...
19212         * modules/freadable (configure.ac): ... to here.
19213
19214 2011-05-07  Bruno Haible  <bruno@clisp.org>
19215
19216         fpurge: Move AC_LIBOBJ invocations to module description.
19217         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
19218         invocations from here...
19219         * modules/fpurge (configure.ac): ... to here.
19220
19221 2011-05-07  Bruno Haible  <bruno@clisp.org>
19222
19223         fpending: Move AC_LIBOBJ invocations to module description.
19224         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
19225         gl_FUNC_FPENDING.
19226         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
19227         invocations from here...
19228         * modules/fpending (configure.ac): ... to here.
19229
19230 2011-05-07  Bruno Haible  <bruno@clisp.org>
19231
19232         fopen: Move AC_LIBOBJ invocations to module description.
19233         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
19234         invocations from here...
19235         * modules/fopen (configure.ac): ... to here.
19236
19237 2011-05-07  Bruno Haible  <bruno@clisp.org>
19238
19239         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
19240         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
19241         gl_FUNC_FNMATCH_POSIX.
19242         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
19243         invocations from here...
19244         * modules/fnmatch (configure.ac): ... to here.
19245         * modules/fnmatch-gnu (configure.ac): ... and here.
19246
19247 2011-05-07  Bruno Haible  <bruno@clisp.org>
19248
19249         flock: Move AC_LIBOBJ invocations to module description.
19250         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
19251         invocations from here...
19252         * modules/flock (configure.ac): ... to here.
19253
19254 2011-05-07  Bruno Haible  <bruno@clisp.org>
19255
19256         fileblocks: Move AC_LIBOBJ invocations to module description.
19257         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
19258         gl_PREREQ_FILEBLOCKS invocations from here...
19259         * modules/fileblocks (configure.ac): ... to here.
19260
19261 2011-05-06  Bruno Haible  <bruno@clisp.org>
19262
19263         fflush: Move AC_LIBOBJ invocations to module description.
19264         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
19265         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
19266         invocations from here...
19267         * modules/fflush (configure.ac): ... to here.
19268
19269 2011-05-06  Bruno Haible  <bruno@clisp.org>
19270
19271         fdopendir: Move AC_LIBOBJ invocations to module description.
19272         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
19273         here...
19274         * modules/fdopendir (configure.ac): ... to here.
19275         (Depends-on): Improve conditions.
19276
19277 2011-05-06  Bruno Haible  <bruno@clisp.org>
19278
19279         _Exit: Move AC_LIBOBJ invocations to module description.
19280         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
19281         invocations from here...
19282         * modules/_Exit (configure.ac): ... to here.
19283
19284 2011-05-21  Bruno Haible  <bruno@clisp.org>
19285
19286         euidaccess: Respect rules for use of AC_LIBOBJ.
19287         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
19288         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
19289         from here...
19290         * modules/euidaccess (configure.ac): ... to here.
19291
19292 2011-05-06  Bruno Haible  <bruno@clisp.org>
19293
19294         error: Move AC_LIBOBJ invocations to module description.
19295         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
19296         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
19297         invocations from here...
19298         * modules/error (configure.ac): ... to here.
19299
19300 2011-05-06  Bruno Haible  <bruno@clisp.org>
19301
19302         duplocale: Move AC_LIBOBJ invocations to module description.
19303         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
19304         gl_PREREQ_DUPLOCALE invocations from here...
19305         * modules/duplocale (configure.ac): ... to here.
19306
19307 2011-05-05  Bruno Haible  <bruno@clisp.org>
19308
19309         dirfd: Move AC_LIBOBJ invocations to module description.
19310         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
19311         gl_FUNC_DIRFD.
19312         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
19313         here...
19314         * modules/dirfd (configure.ac): ... to here.
19315         (Depends-on): Fix condition.
19316
19317 2011-05-05  Bruno Haible  <bruno@clisp.org>
19318
19319         chown: Respect rules for use of AC_LIBOBJ.
19320         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
19321         * modules/chown (configure.ac): ... to here.
19322
19323 2011-05-05  Bruno Haible  <bruno@clisp.org>
19324
19325         chdir-long: Move AC_LIBOBJ invocations to module description.
19326         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
19327         gl_PREREQ_CHDIR_LONG invocations from here...
19328         * modules/chdir-long (configure.ac): ... to here.
19329
19330 2011-05-05  Bruno Haible  <bruno@clisp.org>
19331
19332         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
19333         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
19334         from here...
19335         * modules/canonicalize-lgpl (configure.ac): ... to here.
19336
19337 2011-05-05  Bruno Haible  <bruno@clisp.org>
19338
19339         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
19340         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
19341         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
19342         REPLACE_CALLOC.
19343         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
19344         * modules/calloc-gnu (configure.ac): Likewise.
19345
19346 2011-05-05  Bruno Haible  <bruno@clisp.org>
19347
19348         btowc: Move AC_LIBOBJ invocations to module description.
19349         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
19350         invocations from here...
19351         * modules/btowc (configure.ac): ... to here.
19352
19353 2011-05-21  Bruno Haible  <bruno@clisp.org>
19354
19355         atexit: Move AC_LIBOBJ invocations to module description.
19356         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
19357         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
19358         here...
19359         * modules/atexit (configure.ac): ... to here.
19360
19361 2011-05-05  Bruno Haible  <bruno@clisp.org>
19362
19363         atoll: Move AC_LIBOBJ invocations to module description.
19364         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
19365         invocations from here...
19366         * modules/atoll (configure.ac): ... to here.
19367
19368 2011-05-05  Bruno Haible  <bruno@clisp.org>
19369
19370         argz: Move AC_LIBOBJ invocations to module description.
19371         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
19372         * modules/argz (configure.ac): ... to here.
19373
19374 2011-05-05  Bruno Haible  <bruno@clisp.org>
19375
19376         alphasort: Move AC_LIBOBJ invocations to module description.
19377         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
19378         gl_PREREQ_ALPHASORT invocations from here...
19379         * modules/alphasort (configure.ac): ... to here.
19380
19381 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19382
19383         verify: new macro verify_expr; verify_true deprecated
19384         * NEWS: Mention this.
19385         * doc/verify.texi (Compile-time Assertions): Document this.
19386         * lib/verify.h (verify_true): Deprecate.
19387         (verify_expr): New macro.
19388         * tests/test-verify.c (function): Test verify_expr.
19389
19390 2011-06-14  Jim Meyering  <meyering@redhat.com>
19391
19392         init.sh: give more portable redirection-related advice in a comment
19393         * tests/init.sh (stderr_fileno_): Update the advice in comments.
19394         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
19395         for lots of discussion.  Stefano Lattarini suggested the solution
19396         of putting "9>&2" after the command.  Reported by Bruno Haible.
19397
19398 2011-06-13  Bruno Haible  <bruno@clisp.org>
19399
19400         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
19401         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
19402         'none'.
19403
19404 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
19405
19406         ftoastr: use strtof only if HAVE_STRTOF
19407         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
19408         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
19409         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
19410         * modules/ftoastr (configure.ac): Check for strtof.
19411
19412 2011-06-13  Bruno Haible  <bruno@clisp.org>
19413
19414         gnulib-tool: Addendum to 2011-06-08 commit.
19415         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
19416         and --witness-c-macro have been given, augment AM_CPPFLAGS.
19417
19418 2011-06-13  Bruno Haible  <bruno@clisp.org>
19419
19420         fseeko: Provide a non-inline replacement of fseek().
19421         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
19422         * modules/fseeko (Depends-on): Add fseek.
19423         * modules/fseek (License): Change to LGPLv2+.
19424
19425 2011-06-13  Bruno Haible  <bruno@clisp.org>
19426
19427         ftello: Provide a non-inline replacement of ftell().
19428         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
19429         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
19430         not have ftello() (such as on mingw).
19431         * modules/ftello (Depends-on): Add ftell.
19432         * modules/ftell (License): Change to LGPLv2+.
19433
19434 2011-05-07  Bruno Haible  <bruno@clisp.org>
19435
19436         ftell: Move AC_LIBOBJ invocations to module description.
19437         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
19438         * modules/ftell (configure.ac): ... to here.
19439
19440 2011-05-07  Bruno Haible  <bruno@clisp.org>
19441
19442         ftello: Respect rules for use of AC_LIBOBJ.
19443         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
19444         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
19445         here...
19446         * modules/ftello (configure.ac): ... to here.
19447
19448 2011-05-07  Bruno Haible  <bruno@clisp.org>
19449
19450         fseeko: Simplify.
19451         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
19452         (gl_FUNC_FSEEKO): Inline it here.
19453
19454 2011-05-07  Bruno Haible  <bruno@clisp.org>
19455
19456         fseek: Move AC_LIBOBJ invocations to module description.
19457         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
19458         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
19459         * modules/fseek (configure.ac): ... to here.
19460
19461 2011-05-07  Bruno Haible  <bruno@clisp.org>
19462
19463         fseek: Respect rules for use of AC_LIBOBJ.
19464         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
19465         here...
19466         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
19467
19468 2011-05-07  Bruno Haible  <bruno@clisp.org>
19469
19470         fseeko: Respect rules for use of AC_LIBOBJ.
19471         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
19472         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
19473         here...
19474         * modules/fseeko (configure.ac): ... to here.
19475
19476 2011-06-13  Bruno Haible  <bruno@clisp.org>
19477
19478         gnulib-tool: Allow comments in the 'Depends-on' section.
19479         * doc/gnulib.texi (Module description): Mention comment syntax in the
19480         Depends-on section.
19481         * gnulib-tool (func_get_dependencies): Filter out comment lines.
19482
19483 2011-06-13  Bruno Haible  <bruno@clisp.org>
19484
19485         file-set.h: guard __attibute__ use, now that it's not always defined
19486         * lib/file-set.h (record_file): Use __attribute__ only with compiler
19487         versions that support it.  This fixes a coreutils build failure with
19488         the vendor cc on HP-UX 11.31.
19489
19490 2011-06-12  Bruno Haible  <bruno@clisp.org>
19491
19492         acl: Add support for HP-UX >= 11.11 JFS ACLs.
19493         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
19494         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
19495         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
19496         (acl, aclsort): New declarations.
19497         (aclv_nontrivial): New declaration.
19498         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
19499         (file_has_acl): Read also the second kind of HP-UX ACLs.
19500         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
19501         kind of HP-UX ACLs if the first kind fails.
19502         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
19503         second kind of HP-UX ACLs.
19504         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
19505         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
19506         agree.
19507         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19508         hpuxjfs.
19509         Handle hpuxjfs.
19510         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19511         hpuxjfs.
19512         Handle hpuxjfs.
19513         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19514         (func_test_same_acls): Use both lsacl and getacl.
19515         Handle hpuxjfs.
19516         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19517         (func_test_same_acls): Use both lsacl and getacl.
19518         Handle hpuxjfs.
19519
19520 2011-06-12  Bruno Haible  <bruno@clisp.org>
19521
19522         acl: Complete the 2010-08-10 fix.
19523         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
19524         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
19525         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
19526         explicitly.
19527         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
19528         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
19529
19530 2011-06-12  Bruno Haible  <bruno@clisp.org>
19531
19532         spawn-pipe tests: Comments.
19533         * tests/test-spawn-pipe-child.c (main): Update comment.
19534         Reported by James Youngman <jay@gnu.org>.
19535
19536 2011-06-11  James Youngman  <jay@gnu.org>
19537
19538         New module 'stat-size'.
19539         * modules/stat-size: New module.  Provides macros for accessing
19540         file size information in instances of struct stat.  Depends on the
19541         fileblocks module because it calls st_blocks.
19542         * lib/stat-size.h: New file, adapted from coreutils' system.h.
19543         * doc/gnulib.texi: Include stat-size.texi.
19544         * doc/stat-size.texi: Documentation for this module.
19545         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
19546         * m4/fileblocks.m4: Mention that stat-size depends on the call to
19547         AC_STRUCT_ST_BLOCKS.
19548
19549 2011-06-09  Bruno Haible  <bruno@clisp.org>
19550
19551         thread: Support pthreads-win32.
19552         * lib/glthread/thread.h (gl_thread_self): Define differently on
19553         pthreads-win32.
19554         (gl_null_thread): New declaration.
19555         (gl_thread_self_pointer): New macro.
19556         * lib/glthread/thread.c (gl_null_thread): New constant.
19557         * tests/test-lock.c: Use gl_thread_self_pointer instead of
19558         gl_thread_self.
19559         * tests/test-tls.c: Likewise.
19560         Suggested by Paul Eggert. Reported by Eric Blake.
19561
19562 2011-06-09  Bruno Haible  <bruno@clisp.org>
19563
19564         thread: Fix confusion between NULL and 0.
19565         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
19566         Reported by Paul Eggert.
19567
19568 2011-06-09  Bruno Haible  <bruno@clisp.org>
19569
19570         spawn-pipe tests: Avoid test failure on HP-UX 11.
19571         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
19572         is closed.
19573
19574 2011-06-09  Bruno Haible  <bruno@clisp.org>
19575
19576         acl tests: Fix compilation error on HP-UX 11.
19577         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
19578
19579 2011-06-09  Bruno Haible  <bruno@clisp.org>
19580
19581         rmdir: Avoid test failure on HP-UX 10.20.
19582         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
19583         EEXIST.
19584
19585 2011-06-08  Eric Blake  <eblake@redhat.com>
19586
19587         perror: fix test on mingw
19588         * modules/perror-tests (Depends-on): Add dup2.
19589
19590         strerror_r-posix: fix on MacOS
19591         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
19592         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
19593         logic bug.
19594         * lib/strerror_r.c (strerror_r): Fix the bug.
19595         * lib/strerror.c (strerror): Likewise.
19596         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19597         problem.
19598         * doc/posix-functions/strerror.texi (strerror): Likewise.
19599         * doc/posix-functions/perror.texi (perror): Likewise.
19600         * tests/test-strerror.c (main): Enhance test.
19601         * tests/test-strerror_r.c (main): Likewise.
19602
19603 2011-06-08  Bruno Haible  <bruno@clisp.org>
19604
19605         gnulib-tool: Better isolation between different gnulib-tool invocations.
19606         * gnulib-tool: New option --witness-c-macro.
19607         (witness_c_macro): New variable.
19608         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
19609         AM_CPPFLAGS define it as a C macro.
19610         (func_emit_tests_Makefile_am): Likewise.
19611         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
19612         read it from there.
19613         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
19614         m4_define, not AC_DEFUN.
19615         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
19616         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
19617         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
19618         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
19619         s|...|...|, to substitute the values of the GNULIB_* module indicator
19620         variables.
19621         * modules/dirent (Makefile.am): Likewise.
19622         * modules/fcntl-h (Makefile.am): Likewise.
19623         * modules/iconv-h (Makefile.am): Likewise.
19624         * modules/langinfo (Makefile.am): Likewise.
19625         * modules/locale (Makefile.am): Likewise.
19626         * modules/math (Makefile.am): Likewise.
19627         * modules/netdb (Makefile.am): Likewise.
19628         * modules/poll-h (Makefile.am): Likewise.
19629         * modules/pty (Makefile.am): Likewise.
19630         * modules/search (Makefile.am): Likewise.
19631         * modules/signal (Makefile.am): Likewise.
19632         * modules/spawn (Makefile.am): Likewise.
19633         * modules/stdio (Makefile.am): Likewise.
19634         * modules/stdlib (Makefile.am): Likewise.
19635         * modules/string (Makefile.am): Likewise.
19636         * modules/sys_ioctl (Makefile.am): Likewise.
19637         * modules/sys_select (Makefile.am): Likewise.
19638         * modules/sys_socket (Makefile.am): Likewise.
19639         * modules/sys_stat (Makefile.am): Likewise.
19640         * modules/sys_times (Makefile.am): Likewise.
19641         * modules/sys_utsname (Makefile.am): Likewise.
19642         * modules/sys_wait (Makefile.am): Likewise.
19643         * modules/termios (Makefile.am): Likewise.
19644         * modules/time (Makefile.am): Likewise.
19645         * modules/unistd (Makefile.am): Likewise.
19646         * modules/wchar (Makefile.am): Likewise.
19647
19648 2011-06-08  Eric Blake  <eblake@redhat.com>
19649
19650         strerror: simplify replacement
19651         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
19652         * modules/strerror (configure.ac): No prereqs needed here...
19653         * modules/strerror-override (configure.ac): ...but this needs it.
19654         (Files): Add file for needed prereq macro.
19655
19656 2011-06-08  Bruno Haible  <bruno@clisp.org>
19657
19658         strerror_r-posix: Tweaks.
19659         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
19660         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
19661         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
19662         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
19663         (gl_FUNC_STRERROR_R): ... to here.
19664         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
19665
19666 2011-06-07  Eric Blake  <eblake@redhat.com>
19667
19668         perror: document fixed bugs
19669         * doc/posix-functions/perror.texi (perror): Document recent
19670         patches.
19671
19672 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
19673
19674         stat-time: get_stat_birthtime failure is better-defined
19675         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
19676         return a timestamp whose tv_sec and tv_nsec values are both -1.
19677         Previously, the spec said only that the tv_nsec value was negative.
19678         This upward-compatible change simplifies GNU tar a bit.
19679
19680 2011-06-07  Eric Blake  <eblake@redhat.com>
19681
19682         strerror_r-posix: work around cygwin 1.7.9
19683         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
19684         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
19685         bug without replacing strerror_r.
19686         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
19687         strerror_r is buggy, but without requiring strerror_r compilation.
19688         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
19689
19690         test-perror: relax test to ignore cygwin bug
19691         * tests/test-perror2.c (main): Relax test on requiring detection
19692         of stream errors, and use unbuffered stream.
19693         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
19694         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
19695         * doc/posix-functions/fputc.texi (fputc): Likewise.
19696         * doc/posix-functions/fputs.texi (fputs): Likewise.
19697         * doc/posix-functions/fputws.texi (fputws): Likewise.
19698         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
19699         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
19700         * doc/posix-functions/getopt.texi (getopt): Likewise.
19701         * doc/posix-functions/perror.texi (perror): Likewise.
19702         * doc/posix-functions/printf.texi (printf): Likewise.
19703         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
19704         * doc/posix-functions/psignal.texi (psignal): Likewise.
19705         * doc/posix-functions/putc.texi (putc): Likewise.
19706         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
19707         Likewise.
19708         * doc/posix-functions/putchar.texi (putchar): Likewise.
19709         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
19710         Likewise.
19711         * doc/posix-functions/puts.texi (puts): Likewise.
19712         * doc/posix-functions/putwc.texi (putwc): Likewise.
19713         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
19714         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
19715         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19716         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
19717         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19718         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
19719         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
19720         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
19721
19722 2011-05-22  Bruno Haible  <bruno@clisp.org>
19723
19724         strerror: Move AC_LIBOBJ invocations to module description.
19725         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
19726         gl_PREREQ_STRERROR invocations from here...
19727         * modules/strerror (configure.ac): ... to here.
19728
19729 2011-05-21  Bruno Haible  <bruno@clisp.org>
19730
19731         perror: Use common idiom.
19732         * modules/perror (configure.ac): Reorder statements.
19733
19734 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19735
19736         tests: fix usage message in 'mktempd_'
19737         * tests/init.sh (mktempd_): In the usage message, use literal
19738         'mktempd_', not '$ME' (which is even undefined), as the name of
19739         the subroutine.
19740
19741 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19742
19743         tests init: new function 'fatal_', for hard errors
19744         Before this patch, the only way offered by tests/init.sh to
19745         properly signal a hard error was the `framework_failure_'
19746         function.  But the error message issued by that function,
19747         as its name would suggest, refers to a set-up failure in the
19748         testsuite, while hard errors can obviously also be due to
19749         other reasons.  The best way to fix this inconsistency is to
19750         introduce a new function with a more general error message.
19751         * tests/init.sh (fatal_): New function.
19752
19753 2011-06-06  Eric Blake  <eblake@redhat.com>
19754
19755         canonicalize-lgpl: use common idiom
19756         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
19757         over newer POSIX -Rf.
19758         Reported by Bruno Haible.
19759
19760         canonicalize-lgpl: work around AIX realpath bug
19761         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
19762         * doc/posix-functions/realpath.texi (realpath): Document it.
19763         Reported by Bruno Haible.
19764
19765         strerror: work around FreeBSD bug
19766         * lib/strerror.c (strerror): Special case 0.
19767         Reported by Bruno Haible.
19768
19769         strerror-override: avoid bloating errno module
19770         * modules/errno (Files, configure.ac): Move replacement strings...
19771         * modules/strerror-override: ...to new module.
19772         * modules/strerror (Depends-on): Add strerror-override.
19773         * modules/strerror_r-posix (Depends-on): Likewise.
19774         * MODULES.html.sh: Document new module.
19775         Reported by Bruno Haible.
19776
19777 2011-06-06  Bruno Haible  <bruno@clisp.org>
19778
19779         spawn-pipe tests: Rename program.
19780         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
19781         * tests/test-spawn-pipe-child.c: Update comment.
19782         * tests/test-spawn-pipe.sh: Update.
19783         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
19784
19785         spawn-pipe tests: Link the child program only against libc.
19786         * tests/test-spawn-pipe-child.c: New file, extracted from
19787         tests/test-spawn-pipe.c.
19788         (main): Expect only one argument.
19789         (is_open): New function, copied from tests/test-pipe.c.
19790         * tests/test-spawn-pipe.c: Don't include <errno.h>.
19791         (child_main): Remove function.
19792         (test_pipe): Pass only one argument to the child program.
19793         (main): Remove child process code. Expect the child program's name as
19794         first argument.
19795         * tests/test-spawn-pipe.sh: Pass the child program's name as first
19796         argument.
19797         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
19798         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
19799         test-spawn-pipe-child against no libraries.
19800
19801 2011-06-06  Bruno Haible  <bruno@clisp.org>
19802
19803         careadlinkat: Avoid mismatch between ssize_t and int.
19804         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
19805         * lib/careadlinkat.c (careadlinkatcwd): Define always.
19806
19807 2011-06-06  Jim Meyering  <meyering@redhat.com>
19808
19809         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
19810         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
19811         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
19812
19813 2011-06-05  Bruno Haible  <bruno@clisp.org>
19814
19815         ansi-c++-opt: Interoperability with libtool.
19816         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
19817         set the variable to "no", not to ":".
19818         * NEWS: Mention the change.
19819
19820 2011-06-05  Bruno Haible  <bruno@clisp.org>
19821
19822         acl: Fix test failure on AIX 7.
19823         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
19824         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
19825
19826 2011-06-05  Bruno Haible  <bruno@clisp.org>
19827
19828         pipe-filter-ii: Fix test failure on AIX and IRIX.
19829         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
19830         with EAGAIN, retry with a smaller buffer size.
19831
19832 2011-06-05  Bruno Haible  <bruno@clisp.org>
19833
19834         localename: Fix link dependencies.
19835         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
19836         * modules/localename-tests (Makefile.am): Link test-localename with
19837         $(LIBTHREAD).
19838
19839 2011-06-05  Bruno Haible  <bruno@clisp.org>
19840
19841         error: Avoid gcc warning.
19842         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
19843
19844 2011-06-05  Bruno Haible  <bruno@clisp.org>
19845
19846         unsetenv: Avoid gcc warning.
19847         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
19848
19849 2011-06-05  Bruno Haible  <bruno@clisp.org>
19850
19851         setenv: Avoid gcc warning.
19852         * lib/setenv.c (setenv): Provide declaration if system lacks it.
19853
19854 2011-06-05  Bruno Haible  <bruno@clisp.org>
19855
19856         sys_select: Ensure memset is declared also on AIX 7.
19857         * lib/sys_select.in.h: Include <string.h> also on AIX.
19858         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
19859         self-contained also on AIX 7.1.
19860
19861 2011-06-04  Jim Meyering  <meyering@redhat.com>
19862
19863         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
19864         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
19865         function name, "error".
19866         (_gl_translatable_diag_func_re): New configurable variable.
19867
19868 2011-06-04  Bruno Haible  <bruno@clisp.org>
19869
19870         getopt: Avoid gcc warning.
19871         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
19872
19873 2011-06-04  Bruno Haible  <bruno@clisp.org>
19874
19875         strerror_r: Fix comments.
19876         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
19877         commit.
19878
19879 2011-06-04  Bruno Haible  <bruno@clisp.org>
19880
19881         perror: Fix compilation error.
19882         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
19883         Undefine fprintf, not sprintf.
19884         * modules/perror (Depends-on): Remove intprops, verify.
19885
19886 2011-06-04  Bruno Haible  <bruno@clisp.org>
19887
19888         setlocale: Enable replacement on Cygwin 1.5.
19889         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
19890         Cygwin 1.5.x.
19891         * doc/posix-functions/setlocale.texi: Mention that the problem with the
19892         LC_CTYPE category also exists on Cygwin 1.5.x.
19893
19894 2011-06-04  Bruno Haible  <bruno@clisp.org>
19895
19896         strerror-override: Don't disable symbol renamings.
19897         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
19898         * lib/strerror-override.c: Include config.h.
19899         (strerror_override): Don't undefine.
19900
19901 2011-06-03  Bruno Haible  <bruno@clisp.org>
19902
19903         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
19904         * lib/localename.h: Update copyright header.
19905         * lib/localename.c: Likewise.
19906         * lib/relocatable.h: Likewise.
19907         * lib/relocatable.c: Likewise.
19908
19909 2011-06-02  Bruno Haible  <bruno@clisp.org>
19910
19911         doc: Fix a module name.
19912         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
19913
19914 2011-06-02  Bruno Haible  <bruno@clisp.org>
19915
19916         pipe2: Remove dependency on 'nonblocking' module.
19917         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
19918         O_NONBLOCK is defined by gnulib.
19919         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
19920         is zero.
19921         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
19922         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
19923         defined by gnulib.
19924         (get_nonblocking_flag): New function.
19925         (main): Test O_NONBLOCK flag only if it is nonzero.
19926         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
19927
19928 2011-06-03  Jim Meyering  <meyering@redhat.com>
19929
19930         maint: three new prohibit-header-without-use rules
19931         Prohibit use of cloexec.h, posixver.h, same.h without use.
19932         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
19933         (sc_prohibit_posixver_without_use): Likewise.
19934         (sc_prohibit_same_without_use): Likewise.
19935
19936 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19937
19938         allocator: 'die' routine is now given requested size
19939         * lib/allocator.h (struct allocator.die): New size arg.
19940         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
19941         If the actual problem is an ssize_t limitation, not a size_t or
19942         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
19943
19944 2011-06-01  Eric Blake  <eblake@redhat.com>
19945
19946         strerror: drop strerror_r dependency
19947         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
19948         * lib/strerror-override.c (strerror_override): ...to new file.
19949         * lib/strerror-override.h: Add prototype.
19950         * lib/strerror-impl.h: Delete.
19951         * lib/strerror.c (strerror): New implementation.
19952         * modules/errno (Files): Add new files.
19953         (configure.ac): Compile new file as appropriate.
19954         * modules/strerror (Files): Drop unused file.
19955         (Depends-on): Drop strerror_r-posix.
19956         * MODULES.html.sh: Document strerror_r-posix.
19957         Requested by Sam Steingold.
19958
19959         perror: call strerror_r directly
19960         * modules/perror (Files): Drop strerror-impl.h.
19961         * lib/perror.c (perror): Use our own stack buffer, rather than
19962         calling a wrapper that uses static storage.
19963         * doc/posix-functions/perror.texi (perror): Document a limitation
19964         of our replacement.
19965
19966         strerror_r: fix includes for FreeBSD
19967         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
19968         since we use abort on some platforms.
19969         Reported by Matthias Bolte.
19970
19971 2011-05-31  Bruno Haible  <bruno@clisp.org>
19972
19973         Fix link errors in tests: openat-die uses gettext-h.
19974         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
19975         against $(LIBINTL).
19976         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
19977         against $(LIBINTL).
19978         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
19979         $(LIBINTL).
19980         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
19981         against $(LIBINTL).
19982         * modules/linkat-tests (Makefile.am): Link test-linkat against
19983         $(LIBINTL).
19984         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
19985         $(LIBINTL).
19986         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
19987         against $(LIBINTL).
19988         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
19989         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
19990         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
19991         $(LIBINTL).
19992         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
19993         $(LIBINTL).
19994         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
19995         $(LIBINTL).
19996         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19997
19998 2011-05-31  Bruno Haible  <bruno@clisp.org>
19999
20000         Fix link errors in tests: wait-process uses gettext-h.
20001         * modules/nonblocking-pipe-tests (Makefile.am): Set
20002         test_nonblocking_pipe_main_LDADD.
20003         * modules/nonblocking-socket-tests (Makefile.am): Link
20004         test-nonblocking-socket-main against $(LIBINTL).
20005         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20006
20007 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
20008
20009         assert-h: work around 'verify' incompatibility
20010         * lib/verify.h: Use @...@ directives, not ifdef.
20011         * modules/assert-h (assert.h): Implement the directives.
20012         (assert.h): Substitute the symbol-prefix more consistently.
20013
20014 2011-05-29  Jim Meyering  <meyering@redhat.com>
20015
20016         trim: remove three superfluous assignments
20017         * lib/trim.c (trim2): Remove three superfluous assignments
20018         and correct brace positioning.
20019
20020 2011-05-29  Bruno Haible  <bruno@clisp.org>
20021
20022         wctype-h: Avoid namespace pollution on Solaris 2.6.
20023         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
20024         identifiers.
20025         * doc/posix-headers/wctype.texi: Mention the problem.
20026         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20027
20028 2011-05-28  Jim Meyering  <meyering@redhat.com>
20029
20030         parse-datetime.y: accommodate -Wstrict-overflow
20031         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
20032         placate -Wstrict-overflow.
20033
20034         trim: avoid a warning from -O2 -Wstrict-overflow
20035         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
20036
20037 2011-05-29  Bruno Haible  <bruno@clisp.org>
20038
20039         gnulib-tool: Fix bug in yesterday's commit.
20040         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
20041         twice.
20042
20043 2011-05-29  Bruno Haible  <bruno@clisp.org>
20044
20045         Allow multiple gnulib generated include files to be combined.
20046         * gnulib-tool (func_compute_include_guard_prefix): New function.
20047         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
20048         ${gl_include_guard_prefix} references.
20049         (func_import, func_create_testdir): Invoke
20050         func_compute_include_guard_prefix.
20051         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
20052         * lib/ctype.in.h: Likewise.
20053         * lib/dirent.in.h: Likewise.
20054         * lib/errno.in.h: Likewise.
20055         * lib/fcntl.in.h: Likewise.
20056         * lib/float.in.h: Likewise.
20057         * lib/getopt.in.h: Likewise.
20058         * lib/iconv.in.h: Likewise.
20059         * lib/langinfo.in.h: Likewise.
20060         * lib/locale.in.h: Likewise.
20061         * lib/math.in.h: Likewise.
20062         * lib/netdb.in.h: Likewise.
20063         * lib/netinet_in.in.h: Likewise.
20064         * lib/poll.in.h: Likewise.
20065         * lib/pthread.in.h: Likewise.
20066         * lib/pty.in.h: Likewise.
20067         * lib/sched.in.h: Likewise.
20068         * lib/se-selinux.in.h: Likewise.
20069         * lib/search.in.h: Likewise.
20070         * lib/signal.in.h: Likewise.
20071         * lib/spawn.in.h: Likewise.
20072         * lib/stdarg.in.h: Likewise.
20073         * lib/stddef.in.h: Likewise.
20074         * lib/stdint.in.h: Likewise.
20075         * lib/stdio.in.h: Likewise.
20076         * lib/stdlib.in.h: Likewise.
20077         * lib/string.in.h: Likewise.
20078         * lib/strings.in.h: Likewise.
20079         * lib/sys_file.in.h: Likewise.
20080         * lib/sys_ioctl.in.h: Likewise.
20081         * lib/sys_select.in.h: Likewise.
20082         * lib/sys_socket.in.h: Likewise.
20083         * lib/sys_stat.in.h: Likewise.
20084         * lib/sys_time.in.h: Likewise.
20085         * lib/sys_times.in.h: Likewise.
20086         * lib/sys_uio.in.h: Likewise.
20087         * lib/sys_utsname.in.h: Likewise.
20088         * lib/sys_wait.in.h: Likewise.
20089         * lib/sysexits.in.h: Likewise.
20090         * lib/termios.in.h: Likewise.
20091         * lib/time.in.h: Likewise.
20092         * lib/unistd.in.h: Likewise.
20093         * lib/wchar.in.h: Likewise.
20094         * lib/wctype.in.h: Likewise.
20095         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
20096         * modules/ctype (Makefile.am): Likewise.
20097         * modules/dirent (Makefile.am): Likewise.
20098         * modules/errno (Makefile.am): Likewise.
20099         * modules/fcntl-h (Makefile.am): Likewise.
20100         * modules/float (Makefile.am): Likewise.
20101         * modules/getopt-posix (Makefile.am): Likewise.
20102         * modules/iconv-h (Makefile.am): Likewise.
20103         * modules/langinfo (Makefile.am): Likewise.
20104         * modules/locale (Makefile.am): Likewise.
20105         * modules/math (Makefile.am): Likewise.
20106         * modules/netdb (Makefile.am): Likewise.
20107         * modules/netinet_in (Makefile.am): Likewise.
20108         * modules/poll-h (Makefile.am): Likewise.
20109         * modules/pthread (Makefile.am): Likewise.
20110         * modules/pty (Makefile.am): Likewise.
20111         * modules/sched (Makefile.am): Likewise.
20112         * modules/search (Makefile.am): Likewise.
20113         * modules/selinux-h (Makefile.am): Likewise.
20114         * modules/signal (Makefile.am): Likewise.
20115         * modules/spawn (Makefile.am): Likewise.
20116         * modules/stdarg (Makefile.am): Likewise.
20117         * modules/stddef (Makefile.am): Likewise.
20118         * modules/stdint (Makefile.am): Likewise.
20119         * modules/stdio (Makefile.am): Likewise.
20120         * modules/stdlib (Makefile.am): Likewise.
20121         * modules/string (Makefile.am): Likewise.
20122         * modules/strings (Makefile.am): Likewise.
20123         * modules/sys_file (Makefile.am): Likewise.
20124         * modules/sys_ioctl (Makefile.am): Likewise.
20125         * modules/sys_select (Makefile.am): Likewise.
20126         * modules/sys_socket (Makefile.am): Likewise.
20127         * modules/sys_stat (Makefile.am): Likewise.
20128         * modules/sys_time (Makefile.am): Likewise.
20129         * modules/sys_times (Makefile.am): Likewise.
20130         * modules/sys_uio (Makefile.am): Likewise.
20131         * modules/sys_utsname (Makefile.am): Likewise.
20132         * modules/sys_wait (Makefile.am): Likewise.
20133         * modules/sysexits (Makefile.am): Likewise.
20134         * modules/termios (Makefile.am): Likewise.
20135         * modules/time (Makefile.am): Likewise.
20136         * modules/unistd (Makefile.am): Likewise.
20137         * modules/wchar (Makefile.am): Likewise.
20138         * modules/wctype-h (Makefile.am): Likewise.
20139         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
20140
20141 2011-05-29  Bruno Haible  <bruno@clisp.org>
20142
20143         assert-h: Allow multiple gnulib generated replacements to coexist.
20144         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
20145
20146 2011-05-29  Bruno Haible  <bruno@clisp.org>
20147
20148         argp: Allow coexistence with strerror_r-posix module.
20149         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
20150         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
20151         by gnulib's <string.h> replacement), assume it has the POSIX signature,
20152         not the glibc signature.
20153
20154 2011-05-28  Bruno Haible  <bruno@clisp.org>
20155
20156         gnulib-tool: Alternative structure of testdirs, similar to --import.
20157         * gnulib-tool: New option --single-configure.
20158         (func_usage): Document it.
20159         (single_configure): New variable.
20160         (func_modules_transitive_closure_separately,
20161         func_modules_transitive_closure_separately,
20162         func_determine_use_libtests, func_modules_add_dummy_separately,
20163         func_modules_to_filelist_separately): New functions, extracted from
20164         func_import.
20165         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
20166         (func_import): Use the new functions.
20167         (func_create_testdir): Set final_modules. Handle $single_configure =
20168         true case.
20169
20170 2011-05-28  Bruno Haible  <bruno@clisp.org>
20171
20172         getloadavg: Remove an unreliable safety check.
20173         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
20174         getloadavg.c is in place.
20175         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
20176         Reported by Sam Steingold <sds@gnu.org>.
20177
20178 2011-05-28  Bruno Haible  <bruno@clisp.org>
20179
20180         doc: Cleanup yet another file produced by texinfo.tex.
20181         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
20182
20183 2011-05-28  Bruno Haible  <bruno@clisp.org>
20184
20185         Finish the conditional dependencies mechanism.
20186         * gnulib-tool: New option --no-conditional-dependencies.
20187         (func_usage): Document it. Don't mark --conditional-dependencies as
20188         experimental.
20189         (cond_dependencies): The possible values can now be true, false, empty.
20190         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
20191         (func_import): Store setting in gnulib-cache.m4 and read it from there.
20192         * doc/gnulib-tool.texi (Conditional dependencies): New section.
20193
20194 2011-05-28  Bruno Haible  <bruno@clisp.org>
20195
20196         doc: Use a recent texinfo.tex.
20197         * doc/Makefile (tex_opts): New variable.
20198         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
20199
20200 2011-05-28  Jim Meyering  <meyering@redhat.com>
20201
20202         intprops.h: adjust comment to match code change
20203         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
20204         only once, it *may* have side effects.  Also fix an unrelated typo.
20205         (_GL_INT_SIGNED): Likewise.
20206
20207 2011-05-26  Simon Josefsson  <simon@josefsson.org>
20208
20209         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
20210
20211 2011-05-26  Bruno Haible  <bruno@clisp.org>
20212
20213         mbsrchr: Avoid collision with system function on Interix.
20214         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
20215         Reported by Markus Duft <mduft@gentoo.org>.
20216
20217 2011-05-15  James Youngman  <jay@gnu.org>
20218
20219         getopt: for ambiguous options, enumerate the possibilities.
20220         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
20221         the ambiguous options when an ambiguous prefix is given. This was
20222         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
20223         glibc change was
20224         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
20225
20226 2011-05-25  Eric Blake  <eblake@redhat.com>
20227
20228         getcwd: work around mingw bug
20229         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
20230         * doc/posix-functions/getcwd.texi (getcwd): Document it.
20231         Reported by Matthias Bolte.
20232
20233 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
20234
20235         test-intprops: disable -Wtype-limits diagnostics
20236         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
20237         diagnostics.  Otherwise, the integer overflow macros generate many
20238         diagnostics.  Reported by Jim Meyering in
20239         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
20240
20241         intprops: shorten, to pacify gcc -Woverlength-strings
20242         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
20243         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
20244         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
20245         likely to run afoul of C compiler limits for string constant lengths.
20246         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
20247
20248 2011-05-24  Eric Blake  <eblake@redhat.com>
20249
20250         docs: document recently fixed glibc printf bug
20251         * doc/posix-functions/fprintf.texi (fprintf): Document it.
20252         * doc/posix-functions/printf.texi (printf): Likewise.
20253         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
20254         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
20255
20256         closein-tests: convert to init.sh
20257         * modules/closein-tests (Files): Add init.sh
20258         * tests/test-closein.sh Use it.
20259
20260         yesno-tests: convert to init.sh
20261         * modules/yesno-tests (Files): Add init.sh.
20262         * tests/test-yesno.sh: Use it.
20263
20264         atexit-tests: ensure reliable exit status
20265         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
20266         Reported by Bruno Haible.
20267
20268 2011-05-24  Bruno Haible  <bruno@clisp.org>
20269
20270         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
20271         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
20272         gl_PREREQ_STRERROR_R invocations from here...
20273         * modules/strerror_r-posix (configure.ac): ... to here.
20274
20275 2011-05-24  Eric Blake  <eblake@redhat.com>
20276
20277         strerror_r: fix missing header
20278         * lib/strerror_r.c: Avoid compiler warning about snprintf.
20279
20280         strerror_r: fix AIX test failures
20281         * lib/strerror_r.c (strerror_r): Convert silent truncation to
20282         ERANGE failure.
20283
20284         strerror_r: fix Solaris test failures
20285         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
20286         failures.
20287         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
20288
20289         strerror_r: enforce POSIX recommendations
20290         * lib/strerror_r.c (safe_copy): New helper method.
20291         (strerror_r): Guarantee a non-empty string.
20292         * tests/test-strerror_r.c (main): Enhance tests to incorporate
20293         recent POSIX rulings and to match our strerror guarantees.
20294         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
20295
20296 2011-05-24  Jim Meyering  <meyering@redhat.com>
20297
20298         test-perror2.c: avoid warning about unused variable
20299         * tests/test-perror2.c (main): Remove declaration of unused "fp".
20300
20301 2011-05-24  Eric Blake  <eblake@redhat.com>
20302
20303         perror: avoid spurious test failure on HP-UX
20304         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
20305
20306         tests: fix logic bug in init.sh
20307         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
20308         shell.
20309
20310 2011-05-24  Jim Meyering  <meyering@redhat.com>
20311
20312         utimensat: do not reference an out-of-scope buffer
20313         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
20314         declared in an inner scope, yet "times" would be dereferenced outside
20315         the scope in which "ts" was valid.
20316         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
20317         of ts[2] "out/up", so that the use of aliased "times" (via
20318         "times = ts;") does not end up referencing an out-of-scope "ts"
20319
20320         opendir-safer.c: don't clobber errno; don't close negative FD
20321         * lib/opendir-safer.c (opendir_safer):
20322         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
20323         file descriptor, and more importantly, don't clobber the
20324         offending errno value with EINVAL.  Before, upon failure
20325         of dup_safer, we would pass the negative file descriptor to
20326         fdopendir, which would clobber errno.
20327
20328 2011-05-23  Bruno Haible  <bruno@clisp.org>
20329
20330         idcache: Fix module description.
20331         * modules/idcache (Include): Set to "idcache.h".
20332
20333 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
20334
20335         gnulib-tool: fix portability problem with MacOS sed
20336         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
20337         before the "}".  Problem reported by Leo in
20338         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
20339         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
20340         sed_extract_condition1, sed_extract_condition2.
20341
20342 2011-05-23  Bruno Haible  <bruno@clisp.org>
20343
20344         hash: Simplify autoconf macro.
20345         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
20346
20347 2011-05-23  Bruno Haible  <bruno@clisp.org>
20348
20349         getugroups: Fix module description.
20350         * modules/getugroups (Include): Set to "getugroups.h".
20351
20352 2011-05-23  Bruno Haible  <bruno@clisp.org>
20353
20354         linkat: Simplify autoconf macro.
20355         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
20356
20357 2011-05-23  Bruno Haible  <bruno@clisp.org>
20358             Eric Blake  <eblake@redhat.com>
20359
20360         linkat, renameat: Update dependencies.
20361         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
20362         * modules/linkat (Depends-on): Likewise. Remove also readlink,
20363         symlinkat.
20364
20365 2011-05-23  Jim Meyering  <meyering@redhat.com>
20366
20367         maint.mk: more tight_scope improvements
20368         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
20369         (_gl_TS_headers): Define only in if-0'd block.
20370         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
20371         sometimes we must *not* use it.  Adjust uses accordingly.
20372         (sc_tight_scope): Use much simpler grep-based test to determine
20373         whether we skip this rule.
20374
20375         maint.mk: generalize/improve the tight-scope rule
20376         * top/maint.mk: Emit a warning when the test is skipped.
20377         (_gl_TS_dir): Add $(srcdir)/ prefix.
20378         (_gl_TS_function_match): Simplify, rather than trying
20379         to enumerate common types.  Otherwise, it would fail to match an
20380         "extern unsigned char const *" declaration in idutils.
20381         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
20382         a way to support use of that type of macro.
20383         (_gl_TS_var_match): Simplify regexp.
20384         (_gl_TS_obj_files): New configurable variable.
20385         (_gl_TS_headers): Likewise.
20386
20387 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
20388
20389         verify: fix bug when gnulib <assert.h> is also included
20390         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
20391         is defined, not if _GL_STATIC_ASSERT_H is not defined.
20392         Perhaps there's a better way, but this fixes the immediate problem.
20393         Problem reported by Bruno Haible in
20394         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
20395
20396 2011-05-22  Bruno Haible  <bruno@clisp.org>
20397
20398         xgetcwd: Simplify autoconf macro.
20399         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
20400
20401 2011-05-22  Bruno Haible  <bruno@clisp.org>
20402
20403         New module 'mktime-internal'.
20404         * modules/mktime-internal: New file.
20405         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
20406         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
20407         mktime_internal as a C macro if libc has __mktime_internal.
20408         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
20409         conditions.
20410         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
20411
20412 2011-05-22  Bruno Haible  <bruno@clisp.org>
20413
20414         timegm: Correct mktime replacement statements.
20415         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
20416         defining mktime as a C macro. This completes a 2009-07-28 commit.
20417
20418 2011-05-22  Bruno Haible  <bruno@clisp.org>
20419
20420         timegm: Simplify autoconf macro.
20421         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
20422
20423 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
20424
20425         clock-time: change to LGPLv2+.
20426         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
20427         BSD-like but we have no mark for that; this is good enough for now.
20428
20429 2011-05-21  Bruno Haible  <bruno@clisp.org>
20430
20431         strerror_r: Fix comments.
20432         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
20433
20434 2011-05-21  Bruno Haible  <bruno@clisp.org>
20435
20436         relocatable-prog-wrapper: Fix possible link error.
20437         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
20438         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
20439         (gl_FUNC_SETENV): ... to here.
20440         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
20441         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
20442
20443 2011-05-21  Bruno Haible  <bruno@clisp.org>
20444
20445         relocatable-prog-wrapper: Assume strerror() exists.
20446         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
20447         m4/strerror.m4.
20448         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
20449         * lib/relocwrapper.c: Remove mention of strerror module.
20450         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
20451         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
20452         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
20453         C macro.
20454
20455 2011-05-21  Bruno Haible  <bruno@clisp.org>
20456
20457         select: Simplify replacement idiom.
20458         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
20459         Win32 platforms.
20460         * lib/sys_select.in.h (select): Simplify accordingly.
20461         * modules/select (Depends-on): Likewise.
20462
20463 2011-05-21  Bruno Haible  <bruno@clisp.org>
20464
20465         mkdir-p: Simplify autoconf macro.
20466         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
20467         gl_FUNC_LCHOWN.
20468
20469 2011-05-21  Eric Blake  <eblake@redhat.com>
20470
20471         strerror_r: avoid clobbering strerror on cygwin
20472         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
20473         fall back instead to sys_errlist.
20474         * modules/strerror (configure.ac): Add witness.
20475         * tests/test-strerror_r.c (main): Enhance test.
20476         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20477         * tests/test-perror2.c (main): Free memory before exit.
20478
20479 2011-05-21  Bruno Haible  <bruno@clisp.org>
20480
20481         mkdtemp: Use gnulib naming conventions.
20482         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
20483         * modules/mkdtemp (configure.ac): Update.
20484
20485 2011-05-20  Eric Blake  <eblake@redhat.com>
20486
20487         strerror_r: avoid corrupting errno on Solaris
20488         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
20489         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20490
20491         strerror_r: avoid compiler warning
20492         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
20493
20494         strerror_r: simplify AIX code
20495         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
20496
20497         test-perror: avoid spurious failure on FreeBSD
20498         * modules/perror-tests (Depends-on): Add strerror, now that
20499         strerror_r no longer pulls it in.
20500
20501 2011-05-20  Bruno Haible  <bruno@clisp.org>
20502
20503         strerror_r-posix: Remove unused dependencies.
20504         * modules/strerror_r-posix (Depends-on): Remove strerror.
20505         Reported by Eric Blake.
20506
20507 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
20508
20509         intprops: remove assumption about A|B representation
20510         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
20511         is a valid integer if both A and B are.  Although this is true for
20512         all known practical hosts, the C standard doesn't guarantee it,
20513         and the code need not assume it.  Also, this change may work around
20514         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
20515         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
20516
20517 2011-05-20  Eric Blake  <eblake@redhat.com>
20518
20519         perror: work around FreeBSD bug
20520         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
20521         is broken.  Move AC_LIBOBJ...
20522         * modules/perror (configure.ac): Here.
20523         * doc/posix-functions/perror.texi (perror): Document this.
20524         * tests/test-perror2.c (main): Enhance test.
20525
20526         test-perror: check for strerror interactions
20527         * tests/macros.h (STREQ): Add macro.
20528         * modules/perror-tests (Files): Add second test.
20529         * tests/test-perror2.c (main): New file.
20530         * doc/posix-functions/perror.texi (perror): Document glibc bug.
20531
20532         test-perror: rewrite to use init script
20533         * modules/perror-tests (Files): Add init.sh.
20534         * tests/test-perror.sh: Use temporary directory.
20535
20536 2011-05-20  Jim Meyering  <meyering@redhat.com>
20537
20538         maint: replace misused "a" with "an"
20539         * doc/intprops.texi: "a integer"
20540         * doc/regex.texi: "a explanation"
20541         * lib/alignof.h: "a object"
20542         * lib/argmatch.h: "a explanation"
20543         * lib/argp-help.c: "a option" and "a OPTION_DOC"
20544         * lib/stdint.in.h: "a integer"
20545         * lib/userspec.c: "a owner"
20546         * doc/gnulib.texi: Fix "a idea", and reword.
20547
20548 2011-05-19  Jim Meyering  <meyering@redhat.com>
20549
20550         maint: correct misuse of "a" and "an"
20551         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
20552         * lib/argp-help.c: "an docum...": s/an/a/
20553         * lib/argp-parse.c: "An vector": s/An/A/
20554         * lib/execute.c: "an native": s/an/a/
20555         * lib/spawn-pipe.c: Likewise.
20556         * lib/gc.h: "an Gc_rc": s/an/a/
20557         * lib/unigbrk.in.h: "an grapheme": s/an/a/
20558         * lib/fts.c: "an stat.st_dev": s/an/a/
20559
20560 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20561
20562         intprops-tests: work around HP-UX 11.23 cc bug with constants
20563         * tests/test-intprops.c (VERIFY): New macro.
20564         (main): Use it, instead of verify, to work around the compiler bug; see
20565         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20566
20567         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
20568         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
20569         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
20570         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
20571         (_GL_REMAINDER_OVERFLOW): Use it.
20572
20573         intprops-tests: revert unsigned part of previous change
20574         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
20575         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
20576         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
20577         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
20578
20579 2011-05-19  Bruno Haible  <bruno@clisp.org>
20580
20581         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
20582         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
20583         strerror_r() returned without filling the buffer.
20584         Reported by Eric Blake.
20585
20586 2011-05-19  Eric Blake  <eblake@redhat.com>
20587
20588         strerror_r: guarantee unchanged errno
20589         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
20590         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
20591         failure.
20592         * tests/test-strerror_r.c (main): Enhance test.
20593
20594 2011-05-19  Bruno Haible  <bruno@clisp.org>
20595
20596         strerror_r: Reorder #if blocks.
20597         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
20598         for consistency with the previous commit.
20599
20600 2011-05-19  Bruno Haible  <bruno@clisp.org>
20601
20602         perror: Avoid clobbering the strerror buffer when possible.
20603         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
20604         * lib/strerror.c: Include it.
20605         * modules/strerror (Files): Add lib/strerror-impl.h.
20606         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
20607         (my_strerror): New function, defined through lib/strerror-impl.h.
20608         (perror): Use it instead of strerror.
20609         * modules/perror (Files): Add lib/strerror-impl.h.
20610         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
20611
20612 2011-05-19  Eric Blake  <eblake@redhat.com>
20613
20614         strerror_r: fix on newer cygwin
20615         * lib/strerror_r.c (strerror_r): Cygwin now has
20616         __xpg_strerror_r, use it.
20617
20618 2011-05-19  Bruno Haible  <bruno@clisp.org>
20619
20620         strerror_r: Avoid clobbering the strerror buffer when possible.
20621         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
20622         (sys_nerr, sys_errlist): New declarations.
20623         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
20624         HP-UX, native Win32, IRIX, and 32-bit Solaris.
20625         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
20626
20627 2011-05-19  Bruno Haible  <bruno@clisp.org>
20628
20629         strerror_r: Fix test failure on mingw.
20630         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
20631         EXTEND_STRERROR_R.
20632         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
20633         macros from errno.in.h instead.
20634
20635 2011-05-19  Eric Blake  <eblake@redhat.com>
20636
20637         strerror: relax test for Solaris
20638         * tests/test-strerror.c (main): Permit Solaris behavior.
20639         * tests/test-strerror_r.c (main): Likewise.
20640
20641         strerror: enforce POSIX ruling on strerror(0)
20642         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
20643         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20644         * lib/strerror_r.c (rpl_strerror_r): Work around it.
20645         * doc/posix-functions/strerror.texi (strerror): Document it.
20646         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
20647         * tests/test-strerror.c (main): Strengthen test.
20648         * tests/test-strerror_r.c (main): Likewise.
20649
20650 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20651
20652         intprop-tests: port to older and more-pedantic compilers
20653         * modules/intprops-tests (Files): Add tests/macros.h.
20654         * tests/test-intprops.c: Include macros.h.
20655         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
20656         it's no longer documented to expand to an integer constant expression.
20657         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
20658         argument is floating point, as it's no longer documented to expand
20659         to an integer constant expression in that case.
20660         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
20661         compiler bugs reported by Bruno Haible.  See
20662         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20663         (U0, U1): New constants, to work around the same bugs.  Also,
20664         in tests, use e.g., "(unsigned int) 39" rather than "39u".
20665
20666         intprops: work around C compiler bugs
20667         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
20668         bug in Sun C 5.11 2010/08/13 and other compilers; see
20669         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20670
20671         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
20672         * doc/intprops.texi (Integer Type Determination): Fix
20673         documentation for TYPE_IS_INTEGER: it returns an constant
20674         expression, not an integer constant expression.  Fix doc for
20675         TYPE_SIGNED: it returns an integer constant expression only if its
20676         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
20677         hardly worth documented that way....)
20678
20679 2011-05-18  Bruno Haible  <bruno@clisp.org>
20680
20681         strerror_r: Avoid clobbering the strerror buffer when possible.
20682         * lib/strerror_r.c (strerror_r): Merge the three implementations.
20683         Handle gnulib defined errno values here. When strerror() returns NULL
20684         or an empty string, return EINVAL.
20685         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
20686         gnulib defined errno values here.
20687         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
20688
20689 2011-05-18  Eric Blake  <eblake@redhat.com>
20690
20691         fnmatch: avoid compiler warning
20692         * lib/fnmatch_loop.c (FCT): Use correct type.
20693         Reported by Matthias Bolte.
20694
20695 2011-05-13  Jim Meyering  <meyering@redhat.com>
20696
20697         maint.mk: three new prohibit_<HDR>_without_use rules
20698         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
20699         (sc_prohibit_stdio-safer_without_use): Likewise.
20700         (sc_prohibit_xfreopen_without_use): Likewise.
20701
20702 2011-05-17  Jim Meyering  <meyering@redhat.com>
20703
20704         announce-gen: fail if the NEWS delta is empty
20705         If there's nothing noteworthy in NEWS, then either you forgot
20706         or you shouldn't be releasing.
20707         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
20708
20709 2011-05-17  Pádraig Brady <P@draigBrady.com>
20710
20711         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
20712         reserved symbols starting with double underscore from the check.
20713
20714 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
20715
20716         intprops: add doc
20717         * doc/intprops.texi: New file, documenting intprops.
20718         * doc/gnulib.texi (Particular Modules): Include it.
20719
20720         verify: add doc to gnulib manual and fix example
20721         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
20722         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
20723         (Compile-time Assertions): Fix example so it can't overflow.
20724
20725 2011-05-17  Jim Meyering  <meyering@redhat.com>
20726
20727         warnings.m4: don't usurp save_CPPFLAGS variable name
20728         * m4/warnings.m4: Prefix local temporary variable name with gl_.
20729
20730         doc: fix typo
20731         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
20732
20733 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20734             Bruno Haible  <bruno@clisp.org>
20735
20736         doc: Tweak recent change.
20737         * README (Portability guidelines): Tweak new text.
20738         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
20739         Interix 6.1.
20740
20741 2011-05-16  Eric Blake  <eblake@redhat.com>
20742
20743         inttypes: avoid autoconf warning
20744         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
20745         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20746
20747 2011-05-16  Sam Steingold <sds@gnu.org>
20748         and Eric Blake  <eblake@redhat.com>
20749
20750         vc-list-files: accept multiple directory operands
20751         * build-aux/vc-list-files: Iterate over all remaining operands.
20752
20753 2011-05-16  Bruno Haible  <bruno@clisp.org>
20754
20755         Fix confusion regarding deprecated modules.
20756         * modules/calloc (Status, Notice): Mark module as deprecated, not
20757         obsolete.
20758         * modules/fnmatch-posix (Status, Notice): Likewise.
20759         * modules/getdate (Status, Notice): Likewise.
20760         * modules/getopt (Status, Notice): Likewise.
20761         * modules/malloc (Status, Notice): Likewise.
20762         * modules/pipe (Status, Notice): Likewise.
20763         * modules/realloc (Status, Notice): Likewise.
20764         * modules/rename-dest-slash (Status, Notice): Likewise.
20765         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
20766         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
20767         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
20768         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
20769         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
20770
20771 2011-05-16  Bruno Haible  <bruno@clisp.org>
20772
20773         doc: List the target platforms.
20774         * doc/gnulib-intro.texi (Target Platforms): New section.
20775         * doc/gnulib.texi (Introduction): Update menu.
20776         * README (Portability guidelines): Refer to the new section. Update
20777         statement about oldest supported environment. Remove rationale why
20778         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
20779         unportable C89 function.
20780         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
20781         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
20782
20783 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20784
20785         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
20786
20787 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
20788
20789         intprops-tests: new module
20790         * modules/intprops-tests, tests/test-intprops.c: New files.
20791
20792         intprops: add safe, portable integer overflow checking
20793         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
20794         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
20795         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
20796         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
20797         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
20798         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
20799         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
20800         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
20801         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
20802         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
20803         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
20804
20805 2011-05-12  James Youngman  <jay@gnu.org>
20806
20807         Add a test for glibc's Bugzilla bug #12378.
20808         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
20809         doesn't allow the literal matching of a lone "[" (which is
20810         required by POSIX).
20811         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
20812
20813 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
20814
20815         Sync glibc change fixing Bugzilla bug #12378.
20816         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
20817         beginning and fall back to matching as normal character if the
20818         string ends before the matching ']' is found.  This is what POSIX
20819         requires.
20820
20821 2011-05-13  Eric Blake  <eblake@redhat.com>
20822
20823         getcwd-lgpl: relax test for FreeBSD
20824         * doc/posix-functions/getcwd.texi (getcwd): Document portability
20825         issue.
20826         * tests/test-getcwd-lgpl.c (main): Relax test.
20827         Reported by Matthias Bolte.
20828
20829 2011-05-11  Eric Blake  <eblake@redhat.com>
20830
20831         test-fflush: silence compiler warning
20832         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
20833
20834 2011-05-11  Bruno Haible  <bruno@clisp.org>
20835
20836         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
20837         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
20838         * modules/canonicalize (Depends-on): Add 'nocrash'.
20839         * modules/canonicalize-lgpl (Depends-on): Likewise.
20840         * doc/posix-functions/realpath.texi: Update platforms list.
20841         Reported by Ryan Schmidt <ryandesign@macports.org>.
20842
20843 2011-05-11  Bruno Haible  <bruno@clisp.org>
20844
20845         group-member: Declare function in <unistd.h>.
20846         * lib/unistd.in.h (group_member): New declaration.
20847         * lib/group-member.h: Remove file.
20848         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
20849         * tests/test-unistd-c++.cc: Check signature of group_member.
20850         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
20851         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
20852         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
20853         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
20854         HAVE_GROUP_MEMBER.
20855         * modules/group-member (Files): Remove lib/group-member.h.
20856         (Depends-on): Add unistd. Specify conditions.
20857         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20858         (Include): Change to <unistd.h>.
20859         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
20860         HAVE_GROUP_MEMBER.
20861         * NEWS: Mention the change.
20862         * lib/euidaccess.c: Don't include group-member.h.
20863
20864 2011-05-11  Bruno Haible  <bruno@clisp.org>
20865
20866         group-member: Document module.
20867         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
20868         module.
20869
20870 2011-05-11  Bruno Haible  <bruno@clisp.org>
20871
20872         fclose: Fix mistake earlier today.
20873         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
20874
20875 2011-05-11  Eric Blake  <eblake@redhat.com>
20876
20877         fclose: preserve fflush errors
20878         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
20879         Reported by Jim Meyering.
20880
20881         bootstrap: support a prereq of 'rpcgen -' on RHEL5
20882         * build-aux/bootstrap (check_versions): When no specific version
20883         is required, merely check that the app produces an exit status
20884         that indicates its existence.
20885
20886         maint.mk: drop redundant check
20887         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
20888         the same but better.
20889
20890 2011-05-11  Bruno Haible  <bruno@clisp.org>
20891
20892         fclose: Fix possible link error.
20893         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
20894         unregister_shadow_fd. Improve comments.
20895         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
20896         Eric Blake.
20897
20898 2011-05-11  Jim Meyering  <meyering@redhat.com>
20899
20900         maint.mk: improve "can not" detection and generalize rule name
20901         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
20902         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
20903         Use the same technique as in sc_prohibit_doubled_word, so that
20904         we recognize "can not" also when the words are separated by a newline.
20905         Suggested by Eric Blake.
20906         (perl_filename_lineno_text_): Define.  Factored out of...
20907         (prohibit_doubled_word_): ...here.  Use the new definition.
20908         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
20909         (prohibit_undesirable_word_seq_RE_): New overridable variable.
20910         (ignore_undesirable_word_sequence_RE_): New overridable variable.
20911
20912 2011-05-10  Eric Blake  <eblake@redhat.com>
20913
20914         fclose: avoid double close race when possible
20915         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
20916         all but WINDOWS_SOCKETS.
20917
20918 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
20919
20920         openat: correct new comment
20921         * lib/openat-proc.c (openat_proc_name): Correct the comment.
20922
20923 2011-05-10  Jim Meyering  <meyering@redhat.com>
20924
20925         openat: add comments
20926         * lib/openat-proc.c (openat_proc_name): Add comments,
20927         mostly from Eric Blake.
20928
20929 2011-05-09  Eric Blake  <eblake@redhat.com>
20930
20931         openat: reduce syscalls in first probe of /proc
20932         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
20933         be a directory.  Simplify the probe for .. bugs.
20934         * modules/openat (Depends-on): Drop same-inode.
20935         Reported by Bastien ROUCARIES.
20936
20937 2011-05-09  Jim Meyering  <meyering@redhat.com>
20938
20939         maint.mk: change semantics/name of tight_scope variables
20940         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
20941         Rename variables to align with semantics that make them more useful.
20942
20943         maint.mk: tweak new rule's name not to impinge
20944         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
20945         (sc_tight_scope): Use new rule name rather than $@-0.
20946
20947         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
20948         * top/maint.mk (sc_tight_scope): New rule.
20949         (sc_tight_scope-0): New rule, ifdef'd out.
20950         (_gl_TS_dir): Default.
20951         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
20952         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
20953
20954 2011-05-09  Simon Josefsson  <simon@josefsson.org>
20955
20956         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
20957         Haible <bruno@clisp.org>.
20958
20959 2011-05-08  Bruno Haible  <bruno@clisp.org>
20960
20961         Comments.
20962         * m4/isnanf.m4: Add comment.
20963         * m4/isnanl.m4: Likewise.
20964
20965 2011-05-08  Bruno Haible  <bruno@clisp.org>
20966
20967         glob: Remove obsolete macro.
20968         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
20969
20970 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
20971
20972         intprops: Sun C 5.11 supports __typeof__
20973         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
20974         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
20975         which is new.
20976         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
20977
20978         intprops: switch to usual gnulib indenting and naming
20979         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
20980         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
20981
20982         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
20983
20984 2011-05-08  Jim Meyering  <meyering@redhat.com>
20985
20986         maint.mk: suppress "Entering/Leaving directory" diag in announcement
20987         * top/maint.mk (release-prep): Use make's --no-print-directory
20988         option when generating the announcement.  This eliminates the
20989         pesky "make[2]: Entering/Leaving directory" diagnostics in the
20990         generated announcement template.
20991
20992 2011-05-08  Bruno Haible  <bruno@clisp.org>
20993
20994         tzset: Fix gettimeofday wrapper on Solaris 2.6.
20995         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
20996         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
20997
20998 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
20999
21000         ignore-value, verify: Omit include files from lib_SOURCES.
21001         * modules/ignore-value, modules/verify (Makefile.am):
21002         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
21003         that leads Automake to duplicate use of am__objects_... variables
21004         in Makefile.in.  See
21005         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
21006
21007 2011-05-07  Bruno Haible  <bruno@clisp.org>
21008
21009         fclose: Simplify autoconf macro.
21010         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
21011         defined.
21012
21013 2011-05-07  Bruno Haible  <bruno@clisp.org>
21014
21015         canonicalize-lgpl: Fix autoconf macro ordering bug.
21016         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
21017         gl_STDLIB_H_DEFAULTS.
21018
21019 2011-05-06  Eric Blake  <eblake@redhat.com>
21020
21021         maintainer-makefile: make sc_po_check easier to tune
21022         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
21023         to probe for strings, such as an alternate location for gnulib.
21024
21025         fclose: guarantee behavior on seekable stdin
21026         * modules/fclose (Depends-on): Add fflush.
21027         * doc/posix-functions/fclose.texi (fclose): Document this.
21028         * tests/test-fclose.c (main): Make test for this unconditional.
21029
21030 2011-05-06  Bruno Haible  <bruno@clisp.org>
21031
21032         fflush, fpurge: Relicense under LGPLv2+.
21033         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
21034         * modules/fpurge (License): Likewise.
21035         With permission from Eric Blake and Jim Meyering.
21036         Suggested by Eric Blake.
21037
21038 2011-05-06  Karl Berry  <karl@gnu.org>
21039
21040         * MODULES.html.sh (func_all_modules): remove exit.
21041
21042 2011-05-06  Jim Meyering  <meyering@redhat.com>
21043
21044         maint.mk: use info-gnu@ as the default only for a stable release
21045         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
21046         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
21047         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
21048         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
21049
21050 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
21051
21052         assert-h: new module, which supports C1X-style static_assert
21053         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
21054         * lib/verify.h: Revamp so that this can be copied into assert.h,
21055         while retaining the ability to use it standalone as before.
21056         Rename private identifiers so as not to encroach on the
21057         standard C namespace, since this is now used by assert.h.
21058         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
21059         the old verify_true.
21060         (_GL_VERIFY_TRUE): New macro, with much of the contents of
21061         the old verify_true.  Use _GL_VERIFY_TYPE.
21062         (_GL_VERIFY): New macro, with much of the contents of the old verify.
21063         (static_assert): New macro, if _GL_STATIC_ASSERT_H
21064         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
21065         defined when this file is copied into the replacement assert.h.
21066         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
21067         and _Static_assert is not built in.
21068         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
21069         defined, and use the new macros mentioned above.
21070         * doc/posix-headers/assert.texi: Document this.
21071
21072 2011-05-05  Bruno Haible  <bruno@clisp.org>
21073
21074         fclose, fflush: Respect rules for use of AC_LIBOBJ.
21075         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
21076         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
21077         gl_REPLACE_FCLOSE here.
21078         * modules/fflush (Depends-on): Remove fclose.
21079         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
21080         combination with module 'fclose'.
21081
21082 2011-05-05  Bruno Haible  <bruno@clisp.org>
21083
21084         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
21085         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
21086         gl_FUNC_FFLUSH.
21087         (gl_FUNC_FFLUSH): Use it.
21088         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
21089         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
21090         gl_REPLACE_FSEEKO here.
21091
21092 2011-05-05  Bruno Haible  <bruno@clisp.org>
21093
21094         tzset: Relicense under LGPL.
21095         * modules/tzset (License): Change to LGPL.
21096         No agreement needed; it's a no-op.
21097
21098         strtoimax, strtoumax: Relicense under LGPL.
21099         * modules/strtoimax (License): Change to LGPL.
21100         * modules/strtoumax (License): Likewise.
21101         With permission from Jim Meyering, Paul Eggert:
21102         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
21103         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
21104
21105         getgroups: Relicense under LGPL.
21106         * modules/getgroups (License): Change to LGPL.
21107         With permission from Jim Meyering, Paul Eggert, Eric Blake:
21108         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
21109         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
21110         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21111
21112         nanosleep: Relicense under LGPL.
21113         * modules/nanosleep (License): Change to LGPL.
21114         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
21115         Haible:
21116         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
21117         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
21118         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21119         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
21120
21121         futimens: Relicense under LGPL.
21122         * modules/futimens (License): Change to LGPL.
21123         With permission from Eric Blake:
21124         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21125
21126         fflush: Relicense under LGPL.
21127         * modules/fflush (License): Change to LGPL.
21128         With permission from Eric Blake, Bruno Haible, Jim Meyering:
21129         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21130         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
21131         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
21132
21133         tmpfile: Relicense under LGPL.
21134         * modules/tmpfile (License): Change to LGPL.
21135         With permission from Ben Pfaff:
21136         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
21137
21138         isfinite: Relicense under LGPL.
21139         * modules/isfinite (License): Change to LGPL.
21140         With permission from Ben Pfaff, Bruno Haible:
21141         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
21142         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
21143
21144         acosl..tanl: Relicense under LGPL.
21145         * modules/acosl (License): Change to LGPL.
21146         * modules/asinl (License): Likewise.
21147         * modules/atanl (License): Likewise.
21148         * modules/cosl (License): Likewise.
21149         * modules/expl (License): Likewise.
21150         * modules/logl (License): Likewise.
21151         * modules/sinl (License): Likewise.
21152         * modules/sqrtl (License): Likewise.
21153         * modules/tanl (License): Likewise.
21154         Source code originally from glibc and Paolo Bonzini. Agreements:
21155         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
21156         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
21157
21158 2011-05-05  Bruno Haible  <bruno@clisp.org>
21159
21160         signal: Define sighandler_t.
21161         * lib/signal.in.h (sighandler_t): New type.
21162         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
21163         whether sighandler_t is defined.
21164         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
21165         * modules/signal (Depends-on): Add extensions.
21166         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
21167         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
21168         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
21169
21170 2011-05-05  Eric Blake  <eblake@redhat.com>
21171
21172         maint: remove useless REPLACE_*_H macros
21173         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
21174         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
21175         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
21176         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
21177         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
21178         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
21179         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
21180         * m4/btowc.m4: Update callers.
21181         * m4/dirfd.m4: Likewise.
21182         * m4/duplocale.m4: Likewise.
21183         * m4/fchdir.m4: Likewise.
21184         * m4/fdopendir.m4: Likewise.
21185         * m4/inet_ntop.m4: Likewise.
21186         * m4/inet_pton.m4: Likewise.
21187         * m4/ioctl.m4: Likewise.
21188         * m4/mbrlen.m4: Likewise.
21189         * m4/mbrtowc.m4: Likewise.
21190         * m4/mbsinit.m4: Likewise.
21191         * m4/mbsnrtowcs.m4: Likewise.
21192         * m4/mbsrtowcs.m4: Likewise.
21193         * m4/poll.m4: Likewise.
21194         * m4/setlocale.m4: Likewise.
21195         * m4/wcrtomb.m4: Likewise.
21196         * m4/wcsnrtombs.m4: Likewise.
21197         * m4/wcsrtombs.m4: Likewise.
21198         * m4/wctob.m4: Likewise.
21199         * m4/wcwidth.m4: Likewise.
21200         * modules/posix_spawn: Likewise.
21201         * modules/posix_spawn_file_actions_addclose: Likewise.
21202         * modules/posix_spawn_file_actions_adddup2: Likewise.
21203         * modules/posix_spawn_file_actions_addopen: Likewise.
21204         * modules/posix_spawn_file_actions_destroy: Likewise.
21205         * modules/posix_spawn_file_actions_init: Likewise.
21206         * modules/posix_spawnattr_destroy: Likewise.
21207         * modules/posix_spawnattr_getflags: Likewise.
21208         * modules/posix_spawnattr_getpgroup: Likewise.
21209         * modules/posix_spawnattr_getschedparam: Likewise.
21210         * modules/posix_spawnattr_getschedpolicy: Likewise.
21211         * modules/posix_spawnattr_getsigdefault: Likewise.
21212         * modules/posix_spawnattr_getsigmask: Likewise.
21213         * modules/posix_spawnattr_init: Likewise.
21214         * modules/posix_spawnattr_setflags: Likewise.
21215         * modules/posix_spawnattr_setpgroup: Likewise.
21216         * modules/posix_spawnattr_setschedparam: Likewise.
21217         * modules/posix_spawnattr_setschedpolicy: Likewise.
21218         * modules/posix_spawnattr_setsigdefault: Likewise.
21219         * modules/posix_spawnattr_setsigmask: Likewise.
21220         * modules/posix_spawnp: Likewise.
21221
21222 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
21223
21224         Add option to do-release-commit-and-tag to specify branch.
21225         * build-aux/do-release-commit-and-tag: Add --branch.
21226
21227 2011-05-03  Bruno Haible  <bruno@clisp.org>
21228
21229         Avoid unnecessary compilation units, through conditional dependencies.
21230         * modules/accept (Depends-on): Add conditions to the dependencies.
21231         * modules/acosl (Depends-on): Likewise.
21232         * modules/argz (Depends-on): Likewise.
21233         * modules/asinl (Depends-on): Likewise.
21234         * modules/atanl (Depends-on): Likewise.
21235         * modules/atoll (Depends-on): Likewise.
21236         * modules/bind (Depends-on): Likewise.
21237         * modules/btowc (Depends-on): Likewise.
21238         * modules/canonicalize-lgpl (Depends-on): Likewise.
21239         * modules/ceil (Depends-on): Likewise.
21240         * modules/ceilf (Depends-on): Likewise.
21241         * modules/ceill (Depends-on): Likewise.
21242         * modules/chdir-long (Depends-on): Likewise.
21243         * modules/chown (Depends-on): Likewise.
21244         * modules/close (Depends-on): Likewise.
21245         * modules/connect (Depends-on): Likewise.
21246         * modules/cosl (Depends-on): Likewise.
21247         * modules/dirfd (Depends-on): Likewise.
21248         * modules/dprintf (Depends-on): Likewise.
21249         * modules/dprintf-posix (Depends-on): Likewise.
21250         * modules/error (Depends-on): Likewise.
21251         * modules/euidaccess (Depends-on): Likewise.
21252         * modules/expl (Depends-on): Likewise.
21253         * modules/faccessat (Depends-on): Likewise.
21254         * modules/fchdir (Depends-on): Likewise.
21255         * modules/fclose (Depends-on): Likewise.
21256         * modules/fcntl (Depends-on): Likewise.
21257         * modules/fdopendir (Depends-on): Likewise.
21258         * modules/fflush (Depends-on): Likewise.
21259         * modules/floor (Depends-on): Likewise.
21260         * modules/floorf (Depends-on): Likewise.
21261         * modules/floorl (Depends-on): Likewise.
21262         * modules/fnmatch (Depends-on): Likewise.
21263         * modules/fopen (Depends-on): Likewise.
21264         * modules/fprintf-posix (Depends-on): Likewise.
21265         * modules/frexp (Depends-on): Likewise.
21266         * modules/frexp-nolibm (Depends-on): Likewise.
21267         * modules/frexpl (Depends-on): Likewise.
21268         * modules/frexpl-nolibm (Depends-on): Likewise.
21269         * modules/fseek (Depends-on): Likewise.
21270         * modules/fsusage (Depends-on): Likewise.
21271         * modules/ftell (Depends-on): Likewise.
21272         * modules/ftello (Depends-on): Likewise.
21273         * modules/futimens (Depends-on): Likewise.
21274         * modules/getcwd (Depends-on): Likewise.
21275         * modules/getcwd-lgpl (Depends-on): Likewise.
21276         * modules/getdelim (Depends-on): Likewise.
21277         * modules/getdomainname (Depends-on): Likewise.
21278         * modules/getgroups (Depends-on): Likewise.
21279         * modules/gethostname (Depends-on): Likewise.
21280         * modules/getline (Depends-on): Likewise.
21281         * modules/getlogin_r (Depends-on): Likewise.
21282         * modules/getopt-posix (Depends-on): Likewise.
21283         * modules/getpeername (Depends-on): Likewise.
21284         * modules/getsockname (Depends-on): Likewise.
21285         * modules/getsockopt (Depends-on): Likewise.
21286         * modules/getsubopt (Depends-on): Likewise.
21287         * modules/getusershell (Depends-on): Likewise.
21288         * modules/glob (Depends-on): Likewise.
21289         * modules/grantpt (Depends-on): Likewise.
21290         * modules/iconv_open (Depends-on): Likewise.
21291         * modules/iconv_open-utf (Depends-on): Likewise.
21292         * modules/inet_ntop (Depends-on): Likewise.
21293         * modules/inet_pton (Depends-on): Likewise.
21294         * modules/ioctl (Depends-on): Likewise.
21295         * modules/isapipe (Depends-on): Likewise.
21296         * modules/isfinite (Depends-on): Likewise.
21297         * modules/isinf (Depends-on): Likewise.
21298         * modules/lchown (Depends-on): Likewise.
21299         * modules/ldexpl (Depends-on): Likewise.
21300         * modules/link (Depends-on): Likewise.
21301         * modules/linkat (Depends-on): Likewise.
21302         * modules/listen (Depends-on): Likewise.
21303         * modules/logl (Depends-on): Likewise.
21304         * modules/lstat (Depends-on): Likewise.
21305         * modules/mbrlen (Depends-on): Likewise.
21306         * modules/mbrtowc (Depends-on): Likewise.
21307         * modules/mbsinit (Depends-on): Likewise.
21308         * modules/mbsnrtowcs (Depends-on): Likewise.
21309         * modules/mbsrtowcs (Depends-on): Likewise.
21310         * modules/mbtowc (Depends-on): Likewise.
21311         * modules/memcmp (Depends-on): Likewise.
21312         * modules/mkdir (Depends-on): Likewise.
21313         * modules/mkdtemp (Depends-on): Likewise.
21314         * modules/mkfifo (Depends-on): Likewise.
21315         * modules/mkfifoat (Depends-on): Likewise.
21316         * modules/mknod (Depends-on): Likewise.
21317         * modules/mkostemp (Depends-on): Likewise.
21318         * modules/mkostemps (Depends-on): Likewise.
21319         * modules/mkstemp (Depends-on): Likewise.
21320         * modules/mkstemps (Depends-on): Likewise.
21321         * modules/mktime (Depends-on): Likewise.
21322         * modules/nanosleep (Depends-on): Likewise.
21323         * modules/open (Depends-on): Likewise.
21324         * modules/openat (Depends-on): Likewise.
21325         * modules/perror (Depends-on): Likewise.
21326         * modules/poll (Depends-on): Likewise.
21327         * modules/popen (Depends-on): Likewise.
21328         * modules/posix_spawn (Depends-on): Likewise.
21329         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
21330         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
21331         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
21332         * modules/posix_spawnp (Depends-on): Likewise.
21333         * modules/pread (Depends-on): Likewise.
21334         * modules/printf-posix (Depends-on): Likewise.
21335         * modules/ptsname (Depends-on): Likewise.
21336         * modules/putenv (Depends-on): Likewise.
21337         * modules/pwrite (Depends-on): Likewise.
21338         * modules/readline (Depends-on): Likewise.
21339         * modules/readlink (Depends-on): Likewise.
21340         * modules/readlinkat (Depends-on): Likewise.
21341         * modules/recv (Depends-on): Likewise.
21342         * modules/recvfrom (Depends-on): Likewise.
21343         * modules/regex (Depends-on): Likewise.
21344         * modules/remove (Depends-on): Likewise.
21345         * modules/rename (Depends-on): Likewise.
21346         * modules/renameat (Depends-on): Likewise.
21347         * modules/rmdir (Depends-on): Likewise.
21348         * modules/round (Depends-on): Likewise.
21349         * modules/roundf (Depends-on): Likewise.
21350         * modules/roundl (Depends-on): Likewise.
21351         * modules/rpmatch (Depends-on): Likewise.
21352         * modules/select (Depends-on): Likewise.
21353         * modules/send (Depends-on): Likewise.
21354         * modules/sendto (Depends-on): Likewise.
21355         * modules/setenv (Depends-on): Likewise.
21356         * modules/setlocale (Depends-on): Likewise.
21357         * modules/setsockopt (Depends-on): Likewise.
21358         * modules/shutdown (Depends-on): Likewise.
21359         * modules/sigaction (Depends-on): Likewise.
21360         * modules/signbit (Depends-on): Likewise.
21361         * modules/sigprocmask (Depends-on): Likewise.
21362         * modules/sinl (Depends-on): Likewise.
21363         * modules/sleep (Depends-on): Likewise.
21364         * modules/snprintf (Depends-on): Likewise.
21365         * modules/snprintf-posix (Depends-on): Likewise.
21366         * modules/socket (Depends-on): Likewise.
21367         * modules/sprintf-posix (Depends-on): Likewise.
21368         * modules/sqrtl (Depends-on): Likewise.
21369         * modules/stat (Depends-on): Likewise.
21370         * modules/strchrnul (Depends-on): Likewise.
21371         * modules/strdup-posix (Depends-on): Likewise.
21372         * modules/strerror (Depends-on): Likewise.
21373         * modules/strerror_r-posix (Depends-on): Likewise.
21374         * modules/strndup (Depends-on): Likewise.
21375         * modules/strnlen (Depends-on): Likewise.
21376         * modules/strptime (Depends-on): Likewise.
21377         * modules/strsep (Depends-on): Likewise.
21378         * modules/strsignal (Depends-on): Likewise.
21379         * modules/strstr-simple (Depends-on): Likewise.
21380         * modules/strtod (Depends-on): Likewise.
21381         * modules/strtoimax (Depends-on): Likewise.
21382         * modules/strtok_r (Depends-on): Likewise.
21383         * modules/strtoumax (Depends-on): Likewise.
21384         * modules/symlink (Depends-on): Likewise.
21385         * modules/symlinkat (Depends-on): Likewise.
21386         * modules/tanl (Depends-on): Likewise.
21387         * modules/tcgetsid (Depends-on): Likewise.
21388         * modules/tmpfile (Depends-on): Likewise.
21389         * modules/trunc (Depends-on): Likewise.
21390         * modules/truncf (Depends-on): Likewise.
21391         * modules/truncl (Depends-on): Likewise.
21392         * modules/uname (Depends-on): Likewise.
21393         * modules/unlink (Depends-on): Likewise.
21394         * modules/unlockpt (Depends-on): Likewise.
21395         * modules/unsetenv (Depends-on): Likewise.
21396         * modules/usleep (Depends-on): Likewise.
21397         * modules/utimensat (Depends-on): Likewise.
21398         * modules/vasprintf (Depends-on): Likewise.
21399         * modules/vdprintf (Depends-on): Likewise.
21400         * modules/vdprintf-posix (Depends-on): Likewise.
21401         * modules/vfprintf-posix (Depends-on): Likewise.
21402         * modules/vprintf-posix (Depends-on): Likewise.
21403         * modules/vsnprintf (Depends-on): Likewise.
21404         * modules/vsnprintf-posix (Depends-on): Likewise.
21405         * modules/vsprintf-posix (Depends-on): Likewise.
21406         * modules/wcrtomb (Depends-on): Likewise.
21407         * modules/wcscasecmp (Depends-on): Likewise.
21408         * modules/wcscspn (Depends-on): Likewise.
21409         * modules/wcsdup (Depends-on): Likewise.
21410         * modules/wcsncasecmp (Depends-on): Likewise.
21411         * modules/wcsnrtombs (Depends-on): Likewise.
21412         * modules/wcspbrk (Depends-on): Likewise.
21413         * modules/wcsrtombs (Depends-on): Likewise.
21414         * modules/wcsspn (Depends-on): Likewise.
21415         * modules/wcsstr (Depends-on): Likewise.
21416         * modules/wcstok (Depends-on): Likewise.
21417         * modules/wcswidth (Depends-on): Likewise.
21418         * modules/wctob (Depends-on): Likewise.
21419         * modules/wctomb (Depends-on): Likewise.
21420         * modules/wctype (Depends-on): Likewise.
21421         * modules/wcwidth (Depends-on): Likewise.
21422         * modules/write (Depends-on): Likewise.
21423
21424 2011-05-03  Bruno Haible  <bruno@clisp.org>
21425
21426         Support for conditional dependencies.
21427         * doc/gnulib.texi (Module description): Document the syntax of
21428         conditional dependencies.
21429         * gnulib-tool: New option --conditional-dependencies.
21430         (func_usage): Document it.
21431         (cond_dependencies): New variable.
21432         (func_get_automake_snippet_conditional,
21433         func_get_automake_snippet_unconditional): New functions, extracted from
21434         func_get_automake_snippet.
21435         (func_get_automake_snippet): Use them.
21436         (sed_first_32_chars): New variable.
21437         (func_module_shellfunc_name): New function.
21438         (func_module_shellvar_name): New function.
21439         (func_module_conditional_name): New function.
21440         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
21441         func_cond_module_condition): New functions.
21442         (func_modules_transitive_closure): Add support for conditional
21443         dependencies.
21444         (func_emit_lib_Makefile_am): For a conditional module, enclose the
21445         conditional automake snippet in an automake conditional.
21446         (func_emit_autoconf_snippets): Emit shell functions that contain the
21447         code for conditional modules.
21448         (func_import, func_create_testdir): Update specification.
21449
21450 2011-05-03  Eric Blake  <eblake@redhat.com>
21451
21452         test-getaddrinfo: report error information
21453         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
21454
21455 2011-05-03  Jim Meyering  <meyering@redhat.com>
21456
21457         bootstrap: avoid build failure when $GZIP is set
21458         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
21459         program name.  If defined at all, it is supposed to list gzip options.
21460         Reported by Alan Curry in http://debbugs.gnu.org/8609
21461
21462 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
21463
21464         readme-release: new module with release instructions
21465         * modules/readme-release: New module.
21466         * top/README-release: New file, from coreutils, grep, diffutils.
21467         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21468
21469 2011-05-02  Eric Blake  <eblake@redhat.com>
21470
21471         fflush: also replace fclose when fixing fflush
21472         * modules/fflush (Depends-on): Add fclose.
21473         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
21474         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
21475         memstreams with no backing fd.
21476         * doc/posix-functions/fclose.texi (fclose): Document the use of
21477         fflush module to fix the bug.
21478         * tests/test-fclose.c (main): Relax test when fclose is used in
21479         isolation.
21480
21481         fclose: add some tests
21482         * modules/fclose-tests: New test module.
21483         * tests/test-fclose.c: New file.
21484         * doc/posix-functions/fclose.texi (fclose): Document the bug.
21485
21486         fclose: reduced dependencies
21487         * modules/fclose (Depends-on): Switch from fflush/fseeko to
21488         simpler lseek.
21489         * lib/fclose.c (rpl_fclose): Likewise.
21490         Reported by Simon Josefsson.
21491
21492         exit: drop remaining clients
21493         * modules/argmatch (Depends-on): Replace exit with stdlib.
21494         * modules/copy-file (Depends-on): Likewise.
21495         * modules/execute (Depends-on): Likewise.
21496         * modules/exitfail (Depends-on): Likewise.
21497         * modules/obstack (Depends-on): Likewise.
21498         * modules/pagealign_alloc (Depends-on): Likewise.
21499         * modules/pipe-filter-gi (Depends-on): Likewise.
21500         * modules/pipe-filter-ii (Depends-on): Likewise.
21501         * modules/savewd (Depends-on): Likewise.
21502         * modules/spawn-pipe (Depends-on): Likewise.
21503         * modules/wait-process (Depends-on): Likewise.
21504         * modules/xsetenv (Depends-on): Likewise.
21505         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
21506         * modules/git-merge-changelog (Depends-on): Likewise.
21507         * modules/long-options (Depends-on): Likewise.
21508         * modules/pt_chown (Depends-on): Likewise.
21509         * modules/sysexits (Depends-on): Likewise.
21510
21511         freading: relax license from LGPLv3+ to LGPLv2+
21512         * modules/freading (License): Relax LGPL version.
21513
21514 2011-05-02  Bruno Haible  <bruno@clisp.org>
21515
21516         fchdir: Remove unused dependencies.
21517         * modules/fchdir (Depends-on): Remove include_next.
21518
21519 2011-05-02  Bruno Haible  <bruno@clisp.org>
21520
21521         gnulib-tool: Refactor.
21522         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
21523         from func_emit_autoconf_snippets.
21524         (func_emit_autoconf_snippets): Use it.
21525
21526 2011-05-02  Simon Josefsson  <simon@josefsson.org>
21527
21528         * NEWS: Document removal of 'exit'.
21529         * modules/exit: Remove file.
21530
21531 2011-05-01  Bruno Haible  <bruno@clisp.org>
21532
21533         Update DEPENDENCIES.
21534         * DEPENDENCIES (gettext): Recommend the newest release.
21535         Reported by Simon Josefsson.
21536
21537 2011-05-01  Bruno Haible  <bruno@clisp.org>
21538
21539         gnulib-tool: Reduce code duplication.
21540         * gnulib-tool (func_emit_autoconf_snippets): New function.
21541         (func_import, func_create_testdir): Use it.
21542
21543 2011-04-30  Eric Blake  <eblake@redhat.com>
21544
21545         fclose: don't fail on non-seekable input stream
21546         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
21547         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
21548         since fflush is allowed to fail in that case.
21549
21550 2011-04-30  Bruno Haible  <bruno@clisp.org>
21551
21552         dup3: cleanup
21553         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
21554
21555 2011-04-30  Bruno Haible  <bruno@clisp.org>
21556
21557         netdb: Make it work in C++ mode.
21558         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
21559         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
21560         module.
21561         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
21562         gl_MODULE_INDICATOR_FOR_TESTS.
21563         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
21564         * modules/netdb-c++-tests: New file.
21565         * tests/test-netdb-c++.cc: New file.
21566
21567 2011-04-30  Bruno Haible  <bruno@clisp.org>
21568
21569         New modules 'vfscanf', 'vscanf'.
21570         * modules/vfscanf: New file.
21571         * modules/vscanf: New file.
21572         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
21573         here.
21574         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
21575         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
21576
21577 2011-04-30  Bruno Haible  <bruno@clisp.org>
21578
21579         passfd: Add comments.
21580         * lib/passfd.c: Add comments about platforms.
21581
21582 2011-04-30  Bruno Haible  <bruno@clisp.org>
21583
21584         sys_uio: Make <sys/uio.h> self-contained.
21585         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
21586         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
21587
21588 2011-04-30  Bruno Haible  <bruno@clisp.org>
21589
21590         sys_socket: Ensure 'struct iovec' definition.
21591         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
21592         <sys/socket.h>.
21593         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
21594
21595 2011-04-30  Bruno Haible  <bruno@clisp.org>
21596
21597         sys_uio: Protect definition of 'struct iovec'.
21598         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
21599         it as a C struct.
21600
21601 2011-04-30  Bruno Haible  <bruno@clisp.org>
21602
21603         manywarnings: fix indentation
21604         * m4/manywarnings.m4: Indent by 2 spaces consistently.
21605
21606 2011-04-30  Pádraig Brady <P@draigBrady.com>
21607
21608         manywarnings: add -Wno-missing-field-initializers if needed.
21609         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
21610         option if it's needed to allow initialization with { 0, }
21611
21612 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
21613
21614         announce-gen: cosmetic improvement
21615         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
21616
21617 2011-04-29  Jim Meyering  <meyering@redhat.com>
21618
21619         vc-list-files: indent with spaces, not TABs
21620         * build-aux/vc-list-files: Convert leading TABs to spaces,
21621         to match the style of most other files in gnulib.
21622
21623         announce-gen: indent with spaces, not TABs
21624         * build-aux/announce-gen: Convert all TABs to spaces, to match
21625         the style of most other files in gnulib.
21626
21627 2011-04-29  Eric Blake  <eblake@redhat.com>
21628
21629         quotearg: avoid uninitialized variable use
21630         * lib/quotearg.c (quoting_options_from_style): Initialize
21631         remaining fields, and ensure that custom styles are only used via
21632         quoting_options rather than quoting_style.
21633
21634 2011-04-29  Jim Meyering  <meyering@redhat.com>
21635
21636         maint.mk: remove unused VC-tag variable
21637         * top/maint.mk (VC-tag): Remove unused variable.
21638
21639 2011-04-29  Bruno Haible  <bruno@clisp.org>
21640
21641         netdb: fix gai_strerror replacements
21642         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
21643         * modules/netdb: Substitute it.
21644
21645 2011-04-29  Jim Meyering  <meyering@redhat.com>
21646
21647         test-getcwd.c: avoid new set-but-not-used warning
21648         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
21649         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
21650         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
21651         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
21652
21653         test-hash.c: avoid a new shadowing warning
21654         * tests/test-hash.c (main): Don't shadow "dup".
21655
21656 2011-04-28  Eric Blake  <eblake@redhat.com>
21657
21658         getaddrinfo: fix gai_strerror signature
21659         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
21660         and work around mingw with UNICODE defined.
21661         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
21662         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
21663         * modules/netdb (Makefile.am): Substitute it.
21664         * lib/netdb.in.h (gai_strerror): Declare replacement.
21665         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
21666         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
21667         the fix.
21668
21669         getsockopt: avoid compiler warning
21670         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
21671         Reported by Matthias Bolte.
21672
21673         tests: drop unused link dependency
21674         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
21675         * modules/dirent-safer-tests (Makefile.am): Likewise.
21676         * modules/fdopendir-tests (Makefile.am): Likewise.
21677         * modules/mkfifoat-tests (Makefile.am): Likewise.
21678         * modules/openat-safer-tests (Makefile.am): Likewise.
21679         * modules/openat-tests (Makefile.am): Likewise.
21680         * modules/readlinkat-tests (Makefile.am): Likewise.
21681         * modules/symlinkat-tests (Makefile.am): Likewise.
21682         * modules/linkat-tests (Makefile.am): Likewise.
21683         (Depends-on): Switch to filenamecat-lgpl.
21684         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
21685         LIBINTL.
21686         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
21687         * tests/test-linkat.c (main): Don't require xalloc.
21688
21689         hash, mgetgroups: drop xalloc dependency
21690         * lib/hash.c (includes): Adjust includes.
21691         * lib/mgetgroups.c (includes): Likewise.
21692         (xgetgroups): Move...
21693         * lib/xgetgroups.c: ...to new file.
21694         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
21695         * modules/xgetgroups: New file, split from...
21696         * modules/mgetgroups: ...here.
21697         (Depends-on): Add xalloc-oversized.
21698         * modules/hash (Depends-on): Likewise.
21699         * modules/hash-tests (Depends-on): Drop xalloc.
21700         (test_hash_LDADD): Drop unused library.
21701         * tests/test-hash.c (main): Break xalloc dependency.
21702         (includes): Drop unused include.
21703
21704         xalloc-oversized: new module
21705         * modules/xalloc-oversized: New module.
21706         * modules/xalloc (Depends-on): Add it.
21707         * lib/xalloc.h (xalloc_oversized): Move...
21708         * lib/xalloc-oversized.h: ...into new file.
21709
21710         utimecmp: drop dependency on xmalloc
21711         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
21712         due to memory pressure.
21713         * modules/utimecmp (Depends-on): Drop xalloc.
21714
21715 2011-04-27  Eric Blake  <eblake@redhat.com>
21716
21717         getcwd: fix mingw bugs
21718         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
21719         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
21720         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
21721
21722 2011-04-27  Bruno Haible  <bruno@clisp.org>
21723
21724         mkstemps: Ensure declaration on MacOS X 10.5.
21725         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
21726         * doc/glibc-functions/mkstemps.texi: Document header file problem on
21727         MacOS X.
21728
21729 2011-04-27  Bruno Haible  <bruno@clisp.org>
21730
21731         mkstemp: More documentation.
21732         * doc/posix-functions/mkstemp.texi: Document header file problem on
21733         MacOS X.
21734
21735 2011-04-27  Bruno Haible  <bruno@clisp.org>
21736
21737         mkstemp: Tweak configure message when cross-compiling.
21738         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
21739         result as a guess.
21740
21741 2011-04-27  Bruno Haible  <bruno@clisp.org>
21742
21743         clean-temp: Clarify what it does.
21744         * lib/clean-temp.h: Add more comments.
21745         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
21746         module.
21747         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
21748         * doc/glibc-functions/mkstemps.texi: Likewise.
21749         * doc/glibc-functions/mkostemps.texi: Likewise.
21750
21751 2011-04-27  Eric Blake  <eblake@redhat.com>
21752
21753         fchdir: avoid extra chdir and fix test
21754         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
21755         getcwd-lgpl.
21756         * lib/fchdir.c (get_name): Any absolute name will do; it does not
21757         have to be canonical.
21758         (canonicalize_file_name): Drop unused macro.
21759         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
21760
21761         filenamecat-lgpl: fix licence
21762         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
21763         when it was first created.
21764
21765         linkat, renameat: add missing dependency
21766         * modules/linkat (Depends-on): Require getcwd-lgpl.
21767         * modules/renameat (Depends-on): Likewise.
21768
21769         tests: reduce dependencies
21770         * tests/test-linkat.c (main): Use lighter-weight getcwd.
21771         * tests/test-renameat.c (main): Likewise.
21772         * modules/linkat-tests (Depends-on): Relax dependency.
21773         * modules/renameat-tests (Depends-on): Likewise.
21774         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
21775         dependency explicit.
21776
21777         save-cwd: reduce default dependency
21778         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
21779         * lib/save-cwd.c: Update comments.
21780         * NEWS: Document the semantic change.
21781
21782         getcwd: enhance tests
21783         * tests/test-getcwd-lgpl.c: New file, taken from...
21784         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
21785         repeat long path stress tests from m4 probe.
21786         * modules/getcwd-lgpl-tests: New module.
21787         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
21788         * m4/getcwd-abort-bug.m4: Update comment.
21789         * m4/getcwd-path-max.m4: Likewise.
21790
21791         getcwd-lgpl: new module
21792         * modules/getcwd-lgpl: New module.
21793         * lib/getcwd-lgpl.c: New file.
21794         * doc/posix-functions/getcwd.texi (getcwd): Document it.
21795         * MODULES.html.sh (lacking POSIX:2008): Likewise.
21796         * modules/getcwd (configure.ac): Set C witness.
21797         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
21798
21799         getcwd: tweak comments
21800         * m4/getcwd-abort-bug.m4: Fix comments.
21801         * m4/getcwd-path-max.m4: Likewise.
21802         * m4/getcwd.m4: Likewise.
21803
21804 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21805         and Eric Blake  <eblake@redhat.com>
21806
21807         mkstemp: replace if system version uses wrong permissions
21808         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
21809         read/write mode bits set in file created by mkstemp.
21810         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
21811
21812 2011-04-27  Eric Blake  <eblake@redhat.com>
21813
21814         passfd: avoid compiler warning
21815         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
21816         Reported by Laine Stump.
21817
21818 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
21819
21820         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
21821         required by the NetBSD (and perhaps other 4.4BSD derived) join.
21822
21823 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21824         and Eric Blake  <eblake@redhat.com>
21825
21826         mkstemp: mention clean-temp module
21827         * lib/mkstemp.c: Add comment.
21828         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
21829
21830 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
21831
21832         inttypes: also provide default values for 32-bit tests
21833         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
21834         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
21835
21836 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
21837
21838         strtoumax: remove dependency on strtoimax
21839         This is like the strtoull change of yesterday.
21840         * modules/strtoumax (Files): Add lib/strtoimax.c.
21841         (Depends-on): Remove strtoimax and add verify.
21842
21843         inttypes-incomplete: new module
21844         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
21845         all but the PRI* and SCN* parts of gl_INTTYPES_H.
21846         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
21847         of gl_INTTYPES_H.
21848         (gl_INTTYPES_H): Rewrite in terms of these new macros.
21849         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
21850         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
21851         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
21852         * modules/strtoumax, modules/xstrtol (Depends-on):
21853         Depend on inttypes-incomplete, not inttypes.
21854         * modules/inttypes-incomplete: New module, containing the contents
21855         of the old modules/inttypes module, except that the Files: section
21856         omits m4/inttypes-pri.m4, and the configure.ac section invokes
21857         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
21858         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
21859         (Depends-on): Depend only on inttypes-incomplete.
21860         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
21861
21862         inttypes: omit now-redundant strtoimax and strtoumax work
21863         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
21864         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
21865
21866         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
21867         This supports apps that need pointers to strtoimax and strtoumax,
21868         and ports to HP-UX 11.00 64.bit, which has macros that expand to
21869         nonexistent functions.  See
21870         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
21871         et seq.
21872         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
21873         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
21874         a macro.
21875         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21876
21877 2011-04-25  Simon Josefsson  <simon@josefsson.org>
21878
21879         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
21880
21881 2011-04-25  Bruno Haible  <bruno@clisp.org>
21882
21883         strtol, strtoul: Mark modules as obsolete.
21884         * modules/strtol (Status, Notice): New sections.
21885         * modules/strtoul (Status, Notice): New sections.
21886
21887 2011-04-25  Bruno Haible  <bruno@clisp.org>
21888
21889         strtod: Remove check for strtod, unless supporting old platforms.
21890         * modules/strtod-obsolete: New file.
21891         * m4/strtod-obsolete.m4: New file.
21892         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
21893         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
21894         * modules/strtod (Depends-on): Add strtod-obsolete.
21895         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
21896
21897 2011-04-25  Bruno Haible  <bruno@clisp.org>
21898
21899         strcase: Make module obsolete.
21900         * modules/strcase (Status, Notice): New sections.
21901
21902 2011-04-25  Bruno Haible  <bruno@clisp.org>
21903
21904         dup2: Remove check for dup2, unless supporting old obsolete platforms.
21905         * modules/dup2-obsolete: New file.
21906         * m4/dup2-obsolete.m4: New file.
21907         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
21908         gl_FUNC_DUP2_OBSOLETE is not also defined.
21909         * modules/dup2 (Depends-on): Add dup2-obsolete.
21910         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
21911
21912 2011-04-25  Bruno Haible  <bruno@clisp.org>
21913
21914         strnlen: Avoid memchr related link error on old obsolete platforms.
21915         * modules/memchr-obsolete: New file.
21916         * m4/memchr-obsolete.m4: New file.
21917         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
21918         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
21919         * modules/memchr (Depends-on): Add memchr-obsolete.
21920         * modules/strnlen (Depends-on): Likewise.
21921         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
21922
21923 2011-04-25  Jim Meyering  <meyering@redhat.com>
21924
21925         maint.mk: makefile_at_at_check extend and clean up
21926         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
21927         in addition to */Makefile.am.
21928         Exempt legitimate uses of @VAR@ notation, e.g.,
21929         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
21930         Remove obsolete coreutils-specific comment.
21931         Prompted by discussion here:
21932         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
21933
21934 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
21935
21936         strtoul: remove dependency on strtol
21937         This is so that 'configure' need not check for strtol merely because
21938         the application needs strtoul.
21939         * modules/strtoul (Files): Add lib/strtol.c.
21940         (Depends-on): Remove strtol.
21941
21942         strtoull: remove dependency on strtoul
21943         This is like the strtoll change.
21944         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
21945         (Depends-on): Remove strtoul.
21946
21947         strtoll: remove dependency on strtol
21948         This is so that 'configure' need not check for strtol merely because
21949         the application needs strtoll.
21950         * modules/strtoll (Files): Add lib/strtol.c.
21951         (Depends-on): Remove strtol.
21952
21953 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21954
21955         inttypes: Move some configure check to module 'imaxdiv'.
21956         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
21957         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
21958         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
21959
21960 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21961
21962         inttypes: Move some configure check to module 'imaxabs'.
21963         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
21964         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
21965         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
21966
21967 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21968
21969         inttypes: Remove configure tests that are not needed since 2009-12-31.
21970         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
21971         gl_cv_header_working_inttypes_h.
21972
21973 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21974
21975         * modules/strnlen (Depends-on): Remove memchr.
21976         The strnlen implementation doesn't need the memchr module's fixes; see
21977         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
21978
21979         strtol: remove dependency on wchar
21980         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
21981         * modules/strtol (Depends-on): Remove wchar.
21982
21983 2011-04-21  Eric Blake  <eblake@redhat.com>
21984
21985         passfd: fix test regression on Linux
21986         * modules/passfd-tests (configure.ac): Correct socketpair check.
21987
21988         passfd: speed up configure and drop unused code
21989         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
21990         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
21991         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
21992         Instead of probing at configure for unix_scm_rights_bsd44_way,
21993         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
21994         check to a struct member probe.
21995         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
21996         (sendfd, recvfd): Update preprocessor checks.
21997         * modules/passfd (Files): Reflect rename, and drop unused file.
21998         (Depends-on): Drop unused dependency.
21999
22000         passfd: allow compilation on mingw
22001         * modules/sys_socket (Depends-on): Add sys_uio.
22002         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
22003         iovec and a minimal struct msghdr.
22004         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
22005         * tests/test-sys_socket.c (main): Enhance test.
22006         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
22007         guaranteed to provide what we need.
22008         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
22009         * modules/passfd-tests (Depends-on): Add sys_wait.
22010         * tests/test-passfd.c (main): Skip test on mingw, for now.
22011         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
22012         partial 'struct msghdr' implementation.
22013
22014         sys_uio: new module
22015         * modules/sys_uio: New module.
22016         * modules/sys_uio-tests: Likewise.
22017         * lib/sys_uio.in.h: New file.
22018         * m4/sys_uio_h.m4: Likewise.
22019         * tests/test-sys_uio.c: Likewise.
22020         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
22021         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
22022
22023 2011-04-20  Jim Meyering  <meyering@redhat.com>
22024
22025         useless-if-before-free: avoid false-positive
22026         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
22027         disjunct so that it too requires a terminating ";".  Without that,
22028         this script would identify as useless one statement from gcc that
22029         was not:
22030           if (aligned_ptr)
22031             free (((void **) aligned_ptr) [-1]);
22032
22033 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
22034
22035         doc: update users.txt.
22036         * users.txt: Add barcode.
22037
22038 2011-04-19  Bruno Haible  <bruno@clisp.org>
22039
22040         ioctl: Remove link dependency on native Windows.
22041         * lib/fd-hook.h: Renamed from lib/close-hook.h.
22042         (gl_close_fn, gl_ioctl_fn): New types.
22043         (struct fd_hook): Renamed from struct close_hook. Change type of
22044         private_close_fn field. Add private_ioctl_fn field.
22045         (close_hook_fn): Add parameter for primary close method.
22046         (execute_close_hooks, execute_all_close_hooks): Likewise.
22047         (ioctl_hook_fn): New type.
22048         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
22049         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
22050         argument.
22051         (unregister_fd_hook): Renamed from unregister_close_hook.
22052         * lib/fd-hook.c: Renamed from lib/close-hook.c.
22053         Don't include <unistd.h>.
22054         (close): Remove undef.
22055         (anchor): Update.
22056         (execute_close_hooks): Add argument for primary close method.
22057         (execute_all_close_hooks): Likewise.
22058         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
22059         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
22060         argument. Allow each argument to be NULL.
22061         (unregister_fd_hook): Renamed from unregister_close_hook.
22062         * lib/close.c (rpl_close): Pass 'close' function pointer to
22063         execute_all_close_hooks.
22064         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
22065         (primary_ioctl): New function.
22066         (ioctl): Don't call ioctlsocket here. Instead, call
22067         execute_all_ioctl_hooks.
22068         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
22069         close method.
22070         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
22071         (fd_sockets_hook): Renamed from close_sockets_hook.
22072         (gl_sockets_startup, gl_sockets_cleanup): Update.
22073         * modules/fd-hook: Renamed from modules/close-hook. Update.
22074         * modules/close (Depends-on): Add fd-hook, remove close-hook.
22075         * modules/sockets (Depends-on): Likewise.
22076         * modules/ioctl (Depends-on): Add fd-hook.
22077         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
22078         GNULIB_SOCKET.
22079
22080 2011-04-19  Bruno Haible  <bruno@clisp.org>
22081
22082         Move the support of O_NONBLOCK in open() to the 'open' module.
22083         * modules/nonblocking (Depends-on): Remove 'open'.
22084         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
22085         gl_cv_have_open_O_NONBLOCK.
22086         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
22087         O_NONBLOCK support.
22088         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
22089
22090 2011-04-17  Bruno Haible  <bruno@clisp.org>
22091
22092         pipe2: Simplify code.
22093         * lib/pipe2.c (pipe2): Reduce code duplication.
22094
22095 2011-04-17  Bruno Haible  <bruno@clisp.org>
22096
22097         nonblocking: Add comment.
22098         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
22099
22100 2011-04-17  Bruno Haible  <bruno@clisp.org>
22101
22102         nonblocking: Add tests for sockets.
22103         * tests/test-nonblocking-socket.sh: New file.
22104         * tests/test-nonblocking-socket-main.c: New file.
22105         * tests/test-nonblocking-socket-child.c: New file.
22106         * tests/test-nonblocking-socket.h: New file.
22107         * tests/socket-server.h: New file.
22108         * tests/socket-client.h: New file.
22109         * modules/nonblocking-socket-tests: New file.
22110         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
22111
22112 2011-04-17  Bruno Haible  <bruno@clisp.org>
22113
22114         nonblocking: Add tests for pipes.
22115         * tests/test-nonblocking-pipe.sh: New file.
22116         * tests/test-nonblocking-pipe-main.c: New file.
22117         * tests/test-nonblocking-pipe-child.c: New file.
22118         * tests/test-nonblocking-pipe.h: New file.
22119         * tests/test-nonblocking-writer.h: New file.
22120         * tests/test-nonblocking-reader.h: New file.
22121         * tests/test-nonblocking-misc.h: New file.
22122         * modules/nonblocking-pipe-tests: New file.
22123         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
22124
22125 2011-04-16  Bruno Haible  <bruno@clisp.org>
22126
22127         gettext: Clarify the needed programmer actions.
22128         * modules/gettext (Notice): New field.
22129         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
22130
22131 2011-04-16  Bruno Haible  <bruno@clisp.org>
22132
22133         strchrnul: Tweak last commit.
22134         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
22135         bug.
22136         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
22137         as in _GL_FUNCDECL_SYS.
22138         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
22139         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
22140
22141 2011-04-15  Eric Blake  <eblake@redhat.com>
22142
22143         strchrnul: work around cygwin bug
22144         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
22145         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
22146         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
22147         * modules/string (Makefile.am): Substitute it.
22148         * lib/string.in.h (strchrnul): Use it.
22149
22150 2011-04-15  Bruno Haible  <bruno@clisp.org>
22151
22152         Don't require lib/stdio-write.c when only module 'stdio' is used.
22153         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
22154         invocation.
22155         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
22156
22157 2011-04-14  Bruno Haible  <bruno@clisp.org>
22158
22159         Support non-blocking pipe I/O in read() on native Windows.
22160         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
22161         (read): New declaration.
22162         * lib/read.c: New file.
22163         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
22164         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
22165         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
22166         vscanf): New declarations.
22167         * lib/stdio-read.c: New file.
22168         * m4/read.m4: New file.
22169         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
22170         REPLACE_READ.
22171         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
22172         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22173         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
22174         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
22175         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
22176         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22177         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
22178         * modules/read: New file.
22179         * modules/nonblocking (Files): Add lib/stdio-read.c.
22180         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
22181         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
22182         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22183         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
22184         * modules/pread (Depends-on): Add read.
22185         * modules/safe-read (Depends-on): Likewise.
22186         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
22187         gets, scanf, vfscanf, vscanf): Verify signatures.
22188         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
22189         problem with non-blocking pipes.
22190         * doc/posix-functions/fgetc.texi: Likewise.
22191         * doc/posix-functions/fgets.texi: Likewise.
22192         * doc/posix-functions/fread.texi: Likewise.
22193         * doc/posix-functions/fscanf.texi: Likewise.
22194         * doc/posix-functions/getc.texi: Likewise.
22195         * doc/posix-functions/getchar.texi: Likewise.
22196         * doc/posix-functions/gets.texi: Likewise.
22197         * doc/posix-functions/scanf.texi: Likewise.
22198         * doc/posix-functions/vfscanf.texi: Likewise.
22199         * doc/posix-functions/vscanf.texi: Likewise.
22200
22201 2011-04-14  Bruno Haible  <bruno@clisp.org>
22202
22203         Support non-blocking pipe I/O in write() on native Windows.
22204         * lib/write.c (rpl_write): Split a write request that failed merely
22205         because the byte count was larger than the pipe buffer's size.
22206         * doc/posix-functions/write.texi: Mention the problem with large byte
22207         counts.
22208
22209 2011-04-14  Bruno Haible  <bruno@clisp.org>
22210
22211         wchar: Ensure that wchar_t gets defined on uClibc.
22212         * lib/wchar.in.h: On uClibc, include <stddef.h>.
22213         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
22214
22215 2011-04-13  Bruno Haible  <bruno@clisp.org>
22216
22217         safe-write, full-read: Avoid unnecessary compilation units.
22218         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
22219         (Depends-on): Remove safe-read. Add ssize_t.
22220         * modules/full-read (Files): Add lib/full-write.c.
22221         (Depends-on): Add full-write.
22222
22223 2011-04-13  Bruno Haible  <bruno@clisp.org>
22224
22225         Support non-blocking pipe I/O and SIGPIPE in pwrite().
22226         * modules/pwrite (Depends-on): Add 'write'.
22227
22228 2011-04-13  Bruno Haible  <bruno@clisp.org>
22229
22230         Support non-blocking pipe I/O in write() on native Windows.
22231         * lib/unistd.in.h (write): Enable replacement also if
22232         GNULIB_UNISTD_H_NONBLOCKING is 1.
22233         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
22234         (rpl_write): When failing to write on a non-blocking pipe, change
22235         errno from ENOSPC to EAGAIN.
22236         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
22237         putchar, puts, vfprintf, vprintf): Enable replacement also if
22238         GNULIB_STDIO_H_NONBLOCKING is 1.
22239         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
22240         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
22241         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
22242         CALL_WITH_SIGPIPE_EMULATION.
22243         (CALL_WITH_SIGPIPE_EMULATION): Use them.
22244         * m4/nonblocking.m4: New file.
22245         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
22246         for non-blocking I/O support.
22247         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22248         GNULIB_UNISTD_H_NONBLOCKING.
22249         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
22250         required for non-blocking I/O support.
22251         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
22252         * modules/nonblocking (Files): Add m4/nonblocking.m4,
22253         lib/stdio-write.c, m4/asm-underscore.m4.
22254         (Depends-on): Add stdio, unistd.
22255         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
22256         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
22257         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
22258         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
22259         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
22260         problem with non-blocking pipes.
22261         * doc/posix-functions/fputc.texi: Likewise.
22262         * doc/posix-functions/fputs.texi: Likewise.
22263         * doc/posix-functions/fwrite.texi: Likewise.
22264         * doc/posix-functions/printf.texi: Likewise.
22265         * doc/posix-functions/putc.texi: Likewise.
22266         * doc/posix-functions/putchar.texi: Likewise.
22267         * doc/posix-functions/puts.texi: Likewise.
22268         * doc/posix-functions/vfprintf.texi: Likewise.
22269         * doc/posix-functions/vprintf.texi: Likewise.
22270         * doc/posix-functions/write.texi: Likewise.
22271
22272 2011-04-10  Jim Meyering  <meyering@redhat.com>
22273
22274         maint.mk: prohibit doubled words
22275         Detect them also when they're separated by a newline.
22276         There are 3 ways to customize it:
22277           - disable the test on a per file basis, as usual with rules using
22278             $(VC_LIST_EXCEPT)
22279           - replace the default doubled-word-selecting regexp (affects all files)
22280           - ignore a particular file-vs-doubled-word match
22281         I nearly used that last one to ignore the "is is" match in
22282         coreutils' NEWS file, since the text was "ls -is is ..."
22283         To do that, I would have added this line to cfg.mk:
22284           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
22285         but it would have ignored any "is is" match in NEWS.
22286         Low probability, but still...
22287         Instead, I changed the text, slightly:
22288           -  ls -is is now consistent with ls -lis in ignoring values returned
22289           +  "ls -is" is now consistent with ls -lis in ignoring values returned
22290         * top/maint.mk (prohibit_double_word_RE_): Provide default.
22291         (prohibit_doubled_word_): Define.
22292         (sc_prohibit_doubled_word): New rule.
22293         (sc_prohibit_the_the): Remove.  Subsumed by the above.
22294
22295 2011-04-10  Jim Meyering  <meyering@redhat.com>
22296
22297         maint: fix doubled-word typo in comment
22298         * m4/gethostname.m4: s/is is/it is/
22299         * m4/getdomainname.m4: Likewise.
22300
22301 2011-04-10  Jim Meyering  <meyering@redhat.com>
22302
22303         maint: remove doubled word: s/it it/it/
22304         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
22305
22306 2011-04-10  Jim Meyering  <meyering@redhat.com>
22307
22308         maint.mk: remove useless semicolon and backslash
22309         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
22310         semicolon and backslash.
22311
22312 2011-04-10  Bruno Haible  <bruno@clisp.org>
22313
22314         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
22315         * modules/stdint-tests (Depends-on): Add wchar.
22316
22317 2011-04-10  Jim Meyering  <meyering@redhat.com>
22318
22319         maint: remove doubled words in comments, e.g., s/a a/a/
22320         * lib/strptime.c (day_of_the_week): s/the the/the/
22321         * tests/test-chown.h (test_chown): s/a a/a/
22322
22323         test-chown.h: correct a cast
22324         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
22325         when the destination is a stat.st_gid.
22326
22327 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
22328
22329         getaddrinfo: Fix test for sa_len member.
22330         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
22331         include <sys/types.h> before <sys/socket.h>.
22332
22333 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
22334
22335         maint: change "can not" to "cannot"
22336         * doc/posix-functions/iconv.texi (iconv): This one crossed line
22337         boundaries.
22338
22339 2011-04-09  Jim Meyering  <meyering@redhat.com>
22340
22341         maint: change "a a" to "a"
22342         * tests/test-lchown.h (test_lchown): s/a a/a/
22343
22344         maint.mk: prohibit \<the the\>
22345         * top/maint.mk (sc_prohibit_the_the): New rule.
22346
22347         maint: fix "the the" in comment
22348         * lib/count-one-bits.h: s/the the/the/
22349
22350         maint: change "can not" to "cannot"
22351         But do not change the occurrences in maintain.texi or in
22352         build-aux/po/Makefile.in.in, which I presume comes from gettext.
22353         * doc/gnulib-tool.texi: s/can not/cannot/
22354         * doc/posix-functions/accept.texi (accept): Likewise.
22355         * doc/posix-functions/socket.texi (socket): Likewise.
22356         * lib/mbrtowc.c: Likewise.
22357
22358         maint.mk: prohibit use of "can not"
22359         * top/maint.mk (sc_prohibit_can_not): New rule.
22360         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
22361
22362 2011-04-09  Bruno Haible  <bruno@clisp.org>
22363
22364         careadlinkat: Guard against misuse of careadlinkatcwd.
22365         * lib/careadlinkat.c: Include <stdlib.h>.
22366         (careadlinkatcwd): Check that the fd argument is as expected.
22367
22368 2011-04-09  Bruno Haible  <bruno@clisp.org>
22369
22370         careadlinkat: Use common coding style.
22371         * lib/careadlinkat.c: Move gnulib includes after system includes.
22372
22373 2011-04-09  Bruno Haible  <bruno@clisp.org>
22374
22375         careadlinkat: Clarify specification.
22376         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
22377         (careadlinkatcwd): Add comment.
22378         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
22379
22380 2011-04-09  Bruno Haible  <bruno@clisp.org>
22381
22382         areadlinkat: Avoid link error on many platforms.
22383         * modules/areadlinkat (Depends-on): Add areadlink.
22384
22385 2011-04-09  Bruno Haible  <bruno@clisp.org>
22386
22387         allocator, careadlinkat: Fix double-inclusion guard.
22388         * lib/allocator.h: Fix double-inclusion guard.
22389         * lib/careadlinkat.h: Likewise.
22390
22391 2011-04-09  Bruno Haible  <bruno@clisp.org>
22392
22393         relocatable-prog-wrapper: Update after module 'areadlink' changed.
22394         * lib/relocwrapper.c: Update dependencies hierarchy.
22395         * build-aux/install-reloc: Update list of files to be compiled.
22396         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
22397         lib/allocator.[hc].
22398
22399 2011-04-08  Eric Blake  <eblake@redhat.com>
22400
22401         strftime: silence gnulib-tool warning
22402         * modules/strftime-tests (Depends-on): Drop automatic dependency.
22403
22404 2011-04-08  Bruno Haible  <bruno@clisp.org>
22405
22406         verify: Fix syntax error with GCC 4.6 in C++ mode.
22407         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
22408         (HAVE_STATIC_ASSERT): New macro.
22409         (verify_true, verify): Use 'static_assert' if it is supported and
22410         '_Static_assert' is not supported.
22411
22412 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22413
22414         allocator: New module.
22415         * modules/allocator, lib/allocator.c: New files.
22416         * lib/allocator.h (stdlib_allocator): New decl.
22417         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
22418         Remove.  Do not include <stdlib.h>.
22419         (careadlinkat): Use stdlib_allocator instead of rolling our own.
22420         * modules/careadlinkat (Files): Remove lib/allocator.h.
22421         (Depends-on): Add allocator.
22422
22423         stdlib: let modules use system malloc, realloc
22424         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
22425         if !_GL_USE_STDLIB_ALLOC.
22426         (malloc, realloc): Limit this change to a smaller scope.
22427
22428         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
22429         (malloc, realloc): Don't #undef; no longer needed.
22430         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22431         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22432         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22433         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22434         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22435         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22436         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22437         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22438
22439         careadlinkat: rename members to avoid problem
22440         * lib/allocator.h (struct allocator): Rename members from
22441         malloc/realloc to allocate/reallocate, to avoid problems if malloc
22442         and realloc are #define'd.  Reported by Eric Blake in
22443         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
22444         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
22445
22446 2011-04-08  Eric Blake  <eblake@redhat.com>
22447
22448         nonblocking: reduce dependency
22449         * tests/test-nonblocking.c: Only test sockets when in use.
22450         * modules/nonblocking-tests (Depends-on): Drop socket.
22451         (Makefile.am): Link even if sockets are not present.
22452         * modules/pipe2-tests (Makefile.am): Likewise.
22453         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
22454
22455         pipe2: fix O_NONBLOCK support on mingw
22456         * modules/pipe2 (Depends-on): Add nonblocking.
22457         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
22458         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
22459         * tests/test-nonblocking.c (main): Likewise.
22460         * modules/pipe2-tests (Makefile.am): Avoid link failure.
22461
22462         fcntl-h: fix O_ACCMODE on cygwin
22463         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
22464         * lib/fcntl.in.h (O_ACCMODE): Fix it.
22465
22466         pipe-filter: drop O_NONBLOCK workarounds
22467         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
22468         * modules/pipe-filter-ii (Depends-on): Likewise.
22469         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
22470
22471         nonblocking: provide O_NONBLOCK for mingw
22472         * modules/nonblocking (Depends-on): Add open.
22473         (configure.ac): Set new witness macro.
22474         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
22475         * modules/fcntl-h (Makefile.am): Substitute it.
22476         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
22477         nonblocking module is in use.
22478         * lib/nonblocking.c: Adjust portability test.
22479         * lib/open.c (open): Don't let native open see gnulib flag.
22480         * tests/test-fcntl-h.c (main): Enhance test.
22481         * tests/test-open.h (test_open): Likewise.
22482         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
22483
22484         careadlinkat: fix compilation error on mingw
22485         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
22486         within struct allocator.
22487
22488 2011-04-06  Eric Blake  <eblake@redhat.com>
22489
22490         binary-io: relicense under LGPLv2+
22491         * modules/binary-io (License): Relax to LGPLv2+.
22492         Requested for libvirt, and required by pipe2.
22493
22494 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
22495
22496         verify: use _Static_assert if available
22497         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
22498         (verify_true, verify): Use it if available.  This generates better
22499         diagnostics with GCC 4.6.0 and later.
22500
22501 2011-04-05  Bruno Haible  <bruno@clisp.org>
22502
22503         Remove leftover generated .h files after config.status changed.
22504
22505         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
22506         GL_GENERATE_ALLOCA_H.
22507         * modules/alloca-opt (Makefile.am): Remove alloca.h if
22508         GL_GENERATE_ALLOCA_H evaluates to false.
22509
22510         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
22511         GL_GENERATE_ARGZ_H.
22512         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
22513         evaluates to false.
22514
22515         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
22516         GL_GENERATE_BYTESWAP_H.
22517         * modules/byteswap (Makefile.am): Remove byteswap.h if
22518         GL_GENERATE_BYTESWAP_H evaluates to false.
22519
22520         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
22521         GL_GENERATE_ERRNO_H.
22522         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
22523         evaluates to false.
22524
22525         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
22526         GL_GENERATE_FLOAT_H.
22527         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
22528         evaluates to false.
22529
22530         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
22531         GL_GENERATE_FNMATCH_H.
22532         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
22533         GL_GENERATE_FNMATCH_H evaluates to false.
22534
22535         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
22536         GL_GENERATE_GLOB_H.
22537         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
22538         evaluates to false.
22539
22540         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
22541         automake conditional GL_GENERATE_ICONV_H.
22542         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
22543         evaluates to false.
22544
22545         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
22546         GL_GENERATE_NETINET_IN_H.
22547         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
22548         GL_GENERATE_NETINET_IN_H evaluates to false.
22549
22550         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
22551         conditional GL_GENERATE_PTHREAD_H.
22552         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
22553         * modules/pthread (Makefile.am): Remove pthread.h if
22554         GL_GENERATE_PTHREAD_H evaluates to false.
22555
22556         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
22557         GL_GENERATE_SCHED_H.
22558         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
22559         evaluates to false.
22560
22561         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
22562         conditional GL_GENERATE_SELINUX_CONTEXT_H.
22563         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
22564         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
22565
22566         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
22567         GL_GENERATE_STDARG_H.
22568         * modules/stdarg (Makefile.am): Remove stdarg.h if
22569         GL_GENERATE_STDARG_H evaluates to false.
22570
22571         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
22572         GL_GENERATE_STDBOOL_H.
22573         * modules/stdbool (Makefile.am): Remove stdbool.h if
22574         GL_GENERATE_STDBOOL_H evaluates to false.
22575
22576         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
22577         conditional GL_GENERATE_STDDEF_H.
22578         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
22579         * modules/stddef (Makefile.am): Remove stddef.h if
22580         GL_GENERATE_STDDEF_H evaluates to false.
22581
22582         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
22583         GL_GENERATE_STDINT_H.
22584         * modules/stdint (Makefile.am): Remove stdint.h if
22585         GL_GENERATE_STDINT_H evaluates to false.
22586
22587         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
22588         GL_GENERATE_SYSEXITS_H.
22589         * modules/sysexits (Makefile.am): Remove sysexits.h if
22590         GL_GENERATE_SYSEXITS_H evaluates to false.
22591
22592         Reported by Karl Berry and Ralf Wildenhues.
22593
22594 2011-04-05  Bruno Haible  <bruno@clisp.org>
22595
22596         Ensure to rebuild generated .h files when config.status has changed.
22597         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
22598         config.status.
22599         * modules/ctype (Makefile.am): Likewise.
22600         * modules/dirent (Makefile.am): Likewise.
22601         * modules/errno (Makefile.am): Likewise.
22602         * modules/fcntl-h (Makefile.am): Likewise.
22603         * modules/float (Makefile.am): Likewise.
22604         * modules/getopt-posix (Makefile.am): Likewise.
22605         * modules/glob (Makefile.am): Likewise.
22606         * modules/iconv-h (Makefile.am): Likewise.
22607         * modules/inttypes (Makefile.am): Likewise.
22608         * modules/langinfo (Makefile.am): Likewise.
22609         * modules/locale (Makefile.am): Likewise.
22610         * modules/math (Makefile.am): Likewise.
22611         * modules/netdb (Makefile.am): Likewise.
22612         * modules/netinet_in (Makefile.am): Likewise.
22613         * modules/poll-h (Makefile.am): Likewise.
22614         * modules/pthread (Makefile.am): Likewise.
22615         * modules/pty (Makefile.am): Likewise.
22616         * modules/sched (Makefile.am): Likewise.
22617         * modules/search (Makefile.am): Likewise.
22618         * modules/selinux-h (Makefile.am): Likewise.
22619         * modules/signal (Makefile.am): Likewise.
22620         * modules/spawn (Makefile.am): Likewise.
22621         * modules/stdarg (Makefile.am): Likewise.
22622         * modules/stdbool (Makefile.am): Likewise.
22623         * modules/stddef (Makefile.am): Likewise.
22624         * modules/stdint (Makefile.am): Likewise.
22625         * modules/stdio (Makefile.am): Likewise.
22626         * modules/stdlib (Makefile.am): Likewise.
22627         * modules/string (Makefile.am): Likewise.
22628         * modules/strings (Makefile.am): Likewise.
22629         * modules/sys_file (Makefile.am): Likewise.
22630         * modules/sys_ioctl (Makefile.am): Likewise.
22631         * modules/sys_select (Makefile.am): Likewise.
22632         * modules/sys_socket (Makefile.am): Likewise.
22633         * modules/sys_stat (Makefile.am): Likewise.
22634         * modules/sys_time (Makefile.am): Likewise.
22635         * modules/sys_times (Makefile.am): Likewise.
22636         * modules/sys_utsname (Makefile.am): Likewise.
22637         * modules/sys_wait (Makefile.am): Likewise.
22638         * modules/sysexits (Makefile.am): Likewise.
22639         * modules/termios (Makefile.am): Likewise.
22640         * modules/time (Makefile.am): Likewise.
22641         * modules/unistd (Makefile.am): Likewise.
22642         * modules/wchar (Makefile.am): Likewise.
22643         * modules/wctype-h (Makefile.am): Likewise.
22644         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
22645
22646 2011-04-05  Bruno Haible  <bruno@clisp.org>
22647
22648         pipe2: Relicense under LGPLv2+.
22649         * modules/pipe2 (License): Change to LGPLv2+.
22650         Requested by Eric Blake, for libvirt.
22651
22652 2011-04-05  Bruce Korb  <bkorb@gnu.org>
22653
22654         bootstrap: compute gnulib_extra_files after updating build_aux
22655         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
22656         change build_aux or also supply gnulib_extra_files.  Handle correctly.
22657
22658 2011-04-05  Eric Blake  <eblake@redhat.com>
22659
22660         bootstrap: preserve git whitelist item sorting
22661         * build-aux/bootstrap (sort_patterns): New function.
22662         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
22663
22664 2011-04-05  Simon Josefsson  <simon@josefsson.org>
22665
22666         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
22667         sc_space_tab check.
22668
22669 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
22670
22671         areadlink, areadlinkat: rewrite in terms of careadlinkat
22672         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
22673         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
22674         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
22675         (malloc, realloc): Remove #undefs.
22676         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
22677         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
22678         readlink, ssize_t, stdint, unistd.
22679         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
22680         areadlink, stdint.
22681
22682         careadlinkat: new module
22683         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
22684         * modules/careadlinkat: New files, written by me with
22685         a review and feedback from Ben Pfaff in
22686         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
22687
22688 2011-04-01  Bruno Haible  <bruno@clisp.org>
22689
22690         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
22691         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
22692         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
22693         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
22694         Reported by Bruce Korb <bruce.korb@gmail.com>.
22695
22696 2011-04-01  Bruno Haible  <bruno@clisp.org>
22697
22698         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
22699         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
22700         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
22701         * modules/wcpcpy (Depends-on): Add extensions.
22702         * modules/wcpncpy (Depends-on): Likewise.
22703         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
22704         systems.
22705         * doc/posix-functions/wcpncpy.texi: Likewise.
22706         * doc/posix-functions/wcwidth.texi: Likewise.
22707
22708 2011-03-31  Eric Blake  <eblake@redhat.com>
22709
22710         nonblocking: fix mingw test failures
22711         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
22712         non-blocking flag on regular file.
22713         (get_nonblocking_flag): Set errno on invalid fd.
22714         * tests/test-nonblocking.c (main): Avoid test failure on
22715         directories if fchdir is not active.
22716         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
22717
22718 2011-03-31  Bruno Haible  <bruno@clisp.org>
22719
22720         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
22721         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
22722         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
22723         Reported by Simon Josefsson <simon@josefsson.org>.
22724
22725 2011-03-31  Bruno Haible  <bruno@clisp.org>
22726         and Eric Blake  <eblake@redhat.com>
22727
22728         nonblocking: new module
22729         * modules/nonblocking: New module.
22730         * modules/nonblocking-tests: Likewise.
22731         * lib/nonblocking.h: New file.
22732         * lib/nonblocking.c: Likewise.
22733         * tests/test-nonblocking.c: New test.
22734         * lib/ioctl.c (ioctl) [mingw]: Update comment.
22735
22736 2011-03-30  Bruno Haible  <bruno@clisp.org>
22737
22738         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
22739         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
22740         instead of 'printf' format for GCC >= 4.4.
22741         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
22742         (fprintf, printf, vfprintf, vprintf): Declare with
22743         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
22744         the system's vfprintf() function.
22745         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
22746
22747 2011-03-30  Eric Blake  <eblake@redhat.com>
22748
22749         passfd: fix scoping bug
22750         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
22751         before sendmsg/recvmsg.
22752
22753         passfd: standardize coding conventions
22754         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
22755         can be learned at compile time.
22756         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
22757         ifdefs.
22758         (sendfd, recvfd): Follow gnulib code conventions.
22759
22760         passfd: fix incorrect sendmsg arguments
22761         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
22762         incorrect msg_controllen value.
22763         * modules/passfd-tests (Depends-on): Check for alarm.
22764         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
22765         Reported by Bastien ROUCARIES.
22766
22767 2011-03-30  Bruno Haible  <bruno@clisp.org>
22768
22769         c-strcasestr: Relicense under LGPLv2+.
22770         * modules/c-strcasestr (License): Change to LGPLv2+.
22771         Requested by Eric Blake, for libvirt.
22772
22773 2011-03-30  Simon Josefsson  <simon@josefsson.org>
22774
22775         * users.txt: Add libidn2.  Fix libtasn1 link.
22776
22777 2011-03-30  Jim Meyering  <meyering@redhat.com>
22778
22779         tests: readlink* ("",... fails with EINVAL on newer kernels
22780         readlink and readlinkat have typically failed with ENOENT for
22781         the invalid, empty file name,  "".  However, with the advent
22782         of linux-2.6.39, they fail with EINVAL.
22783         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
22784         when operating on the empty file name.
22785         * tests/test-readlink.h (test_readlink): Likewise.
22786
22787 2011-03-29  Bruno Haible  <bruno@clisp.org>
22788
22789         Relicense some modules under LGPLv2+, for libidn2.
22790         * modules/array-mergesort (License): Change to LGPLv2+.
22791         * modules/c-strcaseeq (License): Likewise.
22792         * modules/striconveh (License): Likewise.
22793         * modules/striconveha (License): Likewise.
22794         * modules/uniconv/base (License): Likewise.
22795         * modules/uniconv/u8-conv-from-enc (License): Likewise.
22796         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
22797         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
22798         * modules/unictype/base (License): Likewise.
22799         * modules/unictype/bidiclass-of (License): Likewise.
22800         * modules/unictype/category-M (License): Likewise.
22801         * modules/unictype/category-none (License): Likewise.
22802         * modules/unictype/category-of (License): Likewise.
22803         * modules/unictype/category-test (License): Likewise.
22804         * modules/unictype/category-test-withtable (License): Likewise.
22805         * modules/unictype/combining-class (License): Likewise.
22806         * modules/unictype/joiningtype-of (License): Likewise.
22807         * modules/unictype/scripts (License): Likewise.
22808         * modules/uninorm/base (License): Likewise.
22809         * modules/uninorm/canonical-decomposition (License): Likewise.
22810         * modules/uninorm/composition (License): Likewise.
22811         * modules/uninorm/decompose-internal (License): Likewise.
22812         * modules/uninorm/decomposition-table (License): Likewise.
22813         * modules/uninorm/nfc (License): Likewise.
22814         * modules/uninorm/nfd (License): Likewise.
22815         * modules/uninorm/u32-normalize (License): Likewise.
22816         * modules/unistr/base (License): Likewise.
22817         * modules/unistr/u32-cpy (License): Likewise.
22818         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
22819         * modules/unistr/u32-to-u8 (License): Likewise.
22820         * modules/unistr/u32-uctomb (License): Likewise.
22821         * modules/unistr/u8-check (License): Likewise.
22822         * modules/unistr/u8-mblen (License): Likewise.
22823         * modules/unistr/u8-mbtouc (License): Likewise.
22824         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
22825         * modules/unistr/u8-mbtoucr (License): Likewise.
22826         * modules/unistr/u8-prev (License): Likewise.
22827         * modules/unistr/u8-strlen (License): Likewise.
22828         * modules/unistr/u8-to-u32 (License): Likewise.
22829         * modules/unistr/u8-uctomb (License): Likewise.
22830         * modules/unitypes (License): Likewise.
22831         Requested by Simon Josefsson.
22832
22833 2011-03-29  Simon Josefsson  <simon@josefsson.org>
22834
22835         lib-symbol-visibility: Add a notice.
22836         * modules/lib-symbol-visibility (Notice): New field.
22837
22838 2011-03-29  Bruno Haible  <bruno@clisp.org>
22839
22840         getaddrinfo: Doc fix.
22841         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
22842         section "fixed in Gnulib".
22843
22844 2011-03-28  Simon Josefsson  <simon@josefsson.org>
22845
22846         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
22847         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
22848
22849 2011-03-26  Bruno Haible  <bruno@clisp.org>
22850
22851         unictype/property-byname: Reduce the number of load-time relocations.
22852         * lib/unictype/pr_byname.c: Include <stdlib.h>.
22853         (UC_PROPERTY_INDEX_*): New enumeration values.
22854         (uc_property_byname): Convert an index from the lookup table to an
22855         uc_property_t.
22856         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
22857         values.
22858
22859 2011-03-26  Bruno Haible  <bruno@clisp.org>
22860
22861         unictype/property-byname: Allow omitted word separators and aliases.
22862         * lib/unictype/pr_byname.gperf: Add property names without word
22863         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
22864         for 'space'.
22865
22866 2011-03-26  Bruno Haible  <bruno@clisp.org>
22867
22868         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
22869         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
22870         also hyphens to space.
22871         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
22872         without spaces.
22873         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
22874
22875 2011-03-26  Bruno Haible  <bruno@clisp.org>
22876
22877         unictype/joiningtype-byname: Recognize long names as well.
22878         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
22879         a long name.
22880         * lib/unictype/joiningtype_byname.c: Include <string.h>,
22881         unictype/joiningtype_byname.h.
22882         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
22883         * lib/unictype/joiningtype_byname.gperf: New file.
22884         * modules/unictype/joiningtype-byname (Files): Add
22885         lib/unictype/joiningtype_byname.gperf.
22886         (Depends-on): Add gperf.
22887         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
22888         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
22889         long names.
22890
22891         Tests for module 'unictype/joiningtype-longname'.
22892         * modules/unictype/joiningtype-longname-tests: New file.
22893         * tests/unictype/test-joiningtype_longname.c: New file.
22894
22895         New module 'unictype/joiningtype-longname'.
22896         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
22897         * lib/unictype/joiningtype_longname.c: New file.
22898         * modules/unictype/joiningtype-longname: New file.
22899         * modules/unictype/joiningtype-all (Depends-on): Add
22900         unictype/joiningtype-longname.
22901
22902 2011-03-26  Bruno Haible  <bruno@clisp.org>
22903
22904         unictype/bidiclass-byname: Recognize long names as well.
22905         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
22906         name.
22907         * lib/unictype/bidi_byname.c: Include <string.h>,
22908         unictype/bidi_byname.h.
22909         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
22910         * lib/unictype/bidi_byname.gperf: New file.
22911         * modules/unictype/bidiclass-byname (Files): Add
22912         lib/unictype/bidi_byname.gperf.
22913         (Depends-on): Add gperf.
22914         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
22915         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
22916         long names.
22917
22918         Tests for module 'unictype/bidiclass-longname'.
22919         * modules/unictype/bidiclass-longname-tests: New file.
22920         * tests/unictype/test-bidi_longname.c: New file.
22921
22922         New module 'unictype/bidiclass-longname'.
22923         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
22924         * lib/unictype/bidi_longname.c: New file.
22925         * modules/unictype/bidiclass-longname: New file.
22926         * modules/unictype/bidiclass-all (Depends-on): Add
22927         unictype/bidiclass-longname.
22928
22929 2011-03-26  Bruno Haible  <bruno@clisp.org>
22930
22931         unictype/bidi*: Rename modules.
22932         * modules/unictype/bidiclass-all: Renamed from
22933         modules/unictype/bidicategory-all.
22934         * modules/unictype/bidiclass-name: Renamed from
22935         modules/unictype/bidiclass-name.
22936         (Description): Update.
22937         * modules/unictype/bidiclass-name-tests: Renamed from
22938         modules/unictype/bidicategory-name-tests.
22939         * modules/unictype/bidiclass-byname: Renamed from
22940         modules/unictype/bidicategory-byname.
22941         (Description): Update.
22942         * modules/unictype/bidiclass-byname-tests: Renamed from
22943         modules/unictype/bidicategory-byname-tests.
22944         * modules/unictype/bidiclass-of: Renamed from
22945         modules/unictype/bidicategory-of.
22946         (Description): Update.
22947         * modules/unictype/bidiclass-of-tests: Renamed from
22948         modules/unictype/bidicategory-of-tests.
22949         * modules/unictype/bidiclass-test: Renamed from
22950         modules/unictype/bidicategory-test.
22951         (Description): Update.
22952         * modules/unictype/bidiclass-test-tests: Renamed from
22953         modules/unictype/bidicategory-test-tests.
22954         * modules/unictype/bidicategory-all: New file, a simple redirection.
22955         * modules/unictype/bidicategory-name: Likewise.
22956         * modules/unictype/bidicategory-byname: Likewise.
22957         * modules/unictype/bidicategory-of: Likewise.
22958         * modules/unictype/bidicategory-test: Likewise.
22959         * modules/unictype/property-bidi-* (Dependencies): Update.
22960         * lib/unictype/bidi_*.c: Update comment.
22961
22962 2011-03-26  Bruno Haible  <bruno@clisp.org>
22963
22964         unictype/bidi*: Rename functions, part 2.
22965         * modules/unictype/bidicategory-name (configure.ac): Update required
22966         libunistring version.
22967         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
22968
22969 2011-03-25  Bruno Haible  <bruno@clisp.org>
22970
22971         New module 'unictype/combining-class-all'.
22972         * modules/unictype/combining-class-all: New file.
22973
22974         Tests for module 'unictype/combining-class-byname'.
22975         * modules/unictype/combining-class-byname-tests: New file.
22976         * tests/unictype/test-combiningclass_byname.c: New file.
22977
22978         New module 'unictype/combining-class-byname'.
22979         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
22980         * lib/unictype/combiningclass_byname.c: New file.
22981         * lib/unictype/combiningclass_byname.gperf: New file.
22982         * modules/unictype/combining-class-byname: New file.
22983
22984         Tests for module 'unictype/combining-class-longname'.
22985         * modules/unictype/combining-class-longname-tests: New file.
22986         * tests/unictype/test-combiningclass_longname.c: New file.
22987
22988         New module 'unictype/combining-class-longname'.
22989         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
22990         * lib/unictype/combiningclass_longname.c: New file.
22991         * modules/unictype/combining-class-longname: New file.
22992
22993         Tests for module 'unictype/combining-class-name'.
22994         * modules/unictype/combining-class-name-tests: New file.
22995         * tests/unictype/test-combiningclass_name.c: New file.
22996
22997         New module 'unictype/combining-class-name'.
22998         * lib/unictype.in.h (uc_combining_class_name): New declaration.
22999         * lib/unictype/combiningclass_name.c: New file.
23000         * modules/unictype/combining-class-name: New file.
23001
23002 2011-03-25  Bruno Haible  <bruno@clisp.org>
23003
23004         unictype/combining-class: Rename source files.
23005         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
23006         of unictype/combining.h.
23007         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
23008         Update.
23009         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
23010         * modules/unictype/combining-class (Description): Fix.
23011         (Files, Makefile.am): Update.
23012         * tests/unictype/test-combiningclass.c: Renamed from
23013         tests/unictype/test-combining.c.
23014         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
23015
23016 2011-03-25  Bruno Haible  <bruno@clisp.org>
23017
23018         unictype: Update list of canonical combining classes.
23019         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
23020
23021 2011-03-25  Bruno Haible  <bruno@clisp.org>
23022
23023         unictype/category-byname: Recognize long names as well.
23024         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
23025         a long name.
23026         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
23027         unictype/categ_byname.h.
23028         (UC_CATEGORY_INDEX_*): New enumeration values.
23029         (uc_general_category_byname): Use uc_general_category_lookup and
23030         convert from index to value.
23031         * lib/unictype/categ_byname.gperf: New file.
23032         * modules/unictype/category-byname (Files): Add
23033         lib/unictype/categ_byname.gperf.
23034         (Depends-on): Add gperf.
23035         (Makefile.am): Add rule for generating unictype/categ_byname.h.
23036         * tests/unictype/test-categ_byname.c (main): Test the recognition of
23037         long names.
23038
23039         Tests for module 'unictype/category-longname'.
23040         * modules/unictype/category-longname-tests: New file.
23041         * tests/unictype/test-categ_longname.c: New file.
23042
23043         New module 'unictype/category-longname'.
23044         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
23045         * lib/unictype/categ_longname.c: New file.
23046         * modules/unictype/category-longname: New file.
23047         * modules/unictype/category-all (Depends-on): Add it.
23048
23049 2011-03-25  Bruno Haible  <bruno@clisp.org>
23050
23051         Tests for module 'unictype/category-LC'.
23052         * modules/unictype/category-LC-tests: New file.
23053         * tests/unictype/test-categ_LC.c: New file, automatically generated.
23054
23055         New module 'unictype/category-LC'.
23056         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
23057         (UC_CATEGORY_LC): New declaration.
23058         (UC_CASED_LETTER): New macro.
23059         * lib/gen-uni-tables.c (is_category_LC): New function.
23060         (output_categories): Also handle category LC.
23061         (UC_CATEGORY_MASK_LC): New enumeration value.
23062         (general_category_byname): Also handle category LC.
23063         * lib/unictype/categ_LC.c: New file.
23064         * lib/unictype/categ_LC.h: New file, automatically generated.
23065         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
23066         category LC.
23067         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
23068         * modules/unictype/category-LC: New file.
23069         * modules/unictype/category-byname (Depends-on): Add
23070         unictype/category-LC.
23071         * modules/unictype/category-all (Depends-on): Likewise.
23072
23073 2011-03-25  Eric Blake  <eblake@redhat.com>
23074
23075         xmalloc: revert yesterday's regression
23076         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
23077         realloc's underlying behavior (allowing allocation of zero-size
23078         objects, especially if malloc-gnu is also in use).
23079
23080 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
23081
23082         maint.mk: add missing version to VC-tag
23083         * top/maint.mk: git tag was missing actual tag name; add it.
23084
23085         valgrind: do leak checking, and exit with code 1 on error (not 0)
23086         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
23087         to VALGRIND.
23088
23089 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
23090
23091         posix-modules: say what it does.
23092         * posix-modules: Add a line to the --help output saying what it does.
23093
23094 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
23095
23096         xmalloc: Do not leak if underlying realloc is C99 compatible.
23097         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
23098         This avoids a leak on C99-based systems.  See
23099         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
23100
23101 2011-03-24  Eric Blake  <eblake@redhat.com>
23102
23103         realloc: document portability problem
23104         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
23105         passing 0 size to realloc.
23106
23107 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
23108
23109         doc: update users.txt
23110         * users.txt: Add cvsps, tmpwatch
23111
23112 2011-03-23  Matt Rice  <ratmice@gmail.com>
23113
23114         doc: update users.txt
23115         * users.txt: Add gdb.
23116
23117 2011-03-23  Jim Meyering  <meyering@redhat.com>
23118
23119         doc: update users.txt
23120         Looking through matches up to the following URL (there are still
23121         several more pages), I found several projects that use gnulib:
23122         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
23123         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
23124         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
23125
23126 2011-03-22  Bruno Haible  <bruno@clisp.org>
23127
23128         unictype/bidi*: Rename functions.
23129         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
23130         uc_bidi_class, uc_is_bidi_class): New declarations.
23131         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
23132         uc_bidi_category_byname.
23133         (uc_bidi_category_byname): New function.
23134         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
23135         u_bidi_category_name.
23136         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
23137         (uc_bidi_category_name): New function.
23138         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
23139         uc_bidi_category.
23140         (uc_bidi_category): New function.
23141         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
23142         uc_is_bidi_category. Invoke uc_bidi_class.
23143         (uc_is_bidi_category): New function.
23144         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
23145         instead of uc_bidi_category_byname.
23146         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
23147         instead of uc_bidi_category_name.
23148         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
23149         uc_bidi_category.
23150         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
23151         instead of uc_is_bidi_category.
23152
23153 2011-03-21  Bruno Haible  <bruno@clisp.org>
23154
23155         New module 'unictype/joininggroup-all'.
23156         * modules/unictype/joininggroup-all: New file.
23157
23158         Tests for module 'unictype/joininggroup-of'.
23159         * modules/unictype/joininggroup-of-tests: New file.
23160         * tests/unictype/test-joininggroup_of.c: New file.
23161         * tests/unictype/test-joininggroup_of.h: New file, automatically
23162         generated by gen-uni-tables.
23163
23164         New module 'unictype/joininggroup-of'.
23165         * modules/unictype/joininggroup-of: New file.
23166         * lib/unictype/joininggroup_of.c: New file.
23167         * lib/unictype/joininggroup_of.h: New file, automatically generated by
23168         gen-uni-tables.
23169
23170         Tests for module 'unictype/joininggroup-byname'.
23171         * modules/unictype/joininggroup-byname-tests: New file.
23172         * tests/unictype/test-joininggroup_byname.c: New file.
23173
23174         New module 'unictype/joininggroup-byname'.
23175         * modules/unictype/joininggroup-byname: New file.
23176         * lib/unictype/joininggroup_byname.c: New file.
23177         * lib/unictype/joininggroup_byname.gperf: New file.
23178
23179         Tests for module 'unictype/joininggroup-name'.
23180         * modules/unictype/joininggroup-name-tests: New file.
23181         * tests/unictype/test-joininggroup_name.c: New file.
23182
23183         New module 'unictype/joininggroup-name'.
23184         * modules/unictype/joininggroup-name: New file.
23185         * lib/unictype/joininggroup_name.c: New file.
23186         * lib/unictype/joininggroup_name.h: New file.
23187
23188         New module 'unictype/joiningtype-all'.
23189         * modules/unictype/joiningtype-all: New file.
23190
23191         Tests for module 'unictype/joiningtype-of'.
23192         * modules/unictype/joiningtype-of-tests: New file.
23193         * tests/unictype/test-joiningtype_of.c: New file.
23194         * tests/unictype/test-joiningtype_of.h: New file, automatically
23195         generated by gen-uni-tables.
23196
23197         New module 'unictype/joiningtype-of'.
23198         * modules/unictype/joiningtype-of: New file.
23199         * lib/unictype/joiningtype_of.c: New file.
23200         * lib/unictype/joiningtype_of.h: New file, automatically generated by
23201         gen-uni-tables.
23202
23203         Tests for module 'unictype/joiningtype-byname'.
23204         * modules/unictype/joiningtype-byname-tests: New file.
23205         * tests/unictype/test-joiningtype_byname.c: New file.
23206
23207         New module 'unictype/joiningtype-byname'.
23208         * modules/unictype/joiningtype-byname: New file.
23209         * lib/unictype/joiningtype_byname.c: New file.
23210
23211         Tests for module 'unictype/joiningtype-name'.
23212         * modules/unictype/joiningtype-name-tests: New file.
23213         * tests/unictype/test-joiningtype_name.c: New file.
23214
23215         New module 'unictype/joiningtype-name'.
23216         * modules/unictype/joiningtype-name: New file.
23217         * lib/unictype/joiningtype_name.c: New file.
23218
23219         unictype: Add support for Arabic shaping properties.
23220         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
23221         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
23222         declarations.
23223         (UC_JOINING_GROUP_*): New enumeration values.
23224         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
23225         declarations.
23226         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
23227         (unicode_joining_type): New variable.
23228         (UC_JOINING_GROUP_*): New enumeration values.
23229         (unicode_joining_group): New variable.
23230         (fill_arabicshaping, joining_type_as_c_identifier,
23231         output_joining_type_test, output_joining_type,
23232         joining_group_as_c_identifier, output_joining_group_test,
23233         output_joining_group): New functions.
23234         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
23235         fill_arabicshaping and output_joining_type_test, output_joining_type,
23236         output_joining_group_test, output_joining_group.
23237         Reported by Simon Josefsson.
23238
23239 2011-03-21  Jim Meyering  <meyering@redhat.com>
23240
23241         strftime: fix a bug in yesterday's change
23242         * lib/strftime.c (add): Accommodate width's initial value of -1.
23243         Otherwise, nstrftime would copy uninitialized data into
23244         the result buffer.
23245
23246 2011-03-21  Jim Meyering  <meyering@redhat.com>
23247
23248         tests: add strftime-tests module
23249         * tests/test-strftime.c: New file.
23250         * modules/strftime-tests: New module.
23251
23252 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23253
23254         strftime: don't assume a byte count fits in 'int'
23255         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
23256         found this problem by static analysis, using gcc -Wstrict-overflow
23257         (GCC 4.5.2, x86-64).  This reported an optimization that depended
23258         on an integer overflow having undefined behavior, but it turns out
23259         that the argument is a size, which might not fit in 'int' anyway,
23260
23261 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23262
23263         stdio: don't require ignore_value around fwrite
23264
23265         This patch works around libc bug 11959
23266         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
23267         Without this patch, applications must often write
23268         ignore_value (fwrite (...)) even though the ignore_value is
23269         not helpful here.  It's common to write many objects, using
23270         fwrite/printf/etc., and then use ferror to detect output error.
23271
23272         I considered making this patch optional, but decided against it,
23273         because libc is obviously being inconsistent here: there is no
23274         reason libc should insist that user code must inspect fwrite
23275         return's value without also insisting that it inspect printf's,
23276         putchar's, etc.  If user code wants to have a strict style where
23277         all these functions' values are checked (so that ferror need not
23278         be checked), we could add support for that style in a new gnulib
23279         module, but in the meantime it's better to be consistent and to
23280         support common usage.
23281
23282         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
23283         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
23284         that we are compiling in checking mode, and if not C++, and
23285         if not already wrapping fwrite for some other reason.
23286         (fwrite): #define to rpl_fwrite if the latter is defined.
23287
23288 2011-03-20  Bruno Haible  <bruno@clisp.org>
23289
23290         verror: Fix compilation error introduced on 2011-02-13.
23291         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
23292         instead of __attribute__.
23293         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23294
23295 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23296             Bruno Haible  <bruno@clisp.org>
23297
23298         socklen: do not depend on sys_socket
23299         While trying to modify Emacs to use gnulib's socklen module,
23300         I discovered a circular dependency: socklen depends on sys_socket
23301         and vice versa.  Emacs can use socklen, but it does not need
23302         sys_socket because it has its own substitute for sys/socket.h.
23303         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
23304         gl_TYPE_SOCKLEN_T.
23305         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
23306         gl_PREREQ_SYS_H_SOCKET.
23307         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
23308         gl_PREREQ_SYS_H_SOCKET.
23309         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
23310         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
23311         * modules/socklen (Depends-on): Do not depend on sys_socket.
23312         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
23313
23314 2011-03-20  Jim Meyering  <meyering@redhat.com>
23315
23316         maint.mk: sort file names *after* new transformation
23317         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
23318         prefix would have led to an unwarranted failure in GNU parted.
23319         Sort after that transformation.
23320
23321 2011-03-19  Jim Meyering  <meyering@redhat.com>
23322
23323         maint.mk: fix po-file syntax-check rule
23324         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
23325         Patch by Bruno Haible.
23326
23327 2011-03-19  Bruno Haible  <bruno@clisp.org>
23328
23329         socklen: Update comment.
23330         * m4/socklen.m4: Update comment about platforms.
23331
23332 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23333             Bruno Haible  <bruno@clisp.org>
23334
23335         inet_ntop, inet_pton: Simplify.
23336         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
23337         documented to provide socklen_t and we already depend on sys_socket.
23338         * modules/inet_pton (Depends-on): Likewise.
23339         * lib/arpa_inet.in.h: Adjust comment.
23340
23341 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23342             Bruno Haible  <bruno@clisp.org>
23343
23344         netdb: Simplify.
23345         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
23346         documented to provide socklen_t and we already depend on sys_socket.
23347         * lib/netdb.in.h: Adjust comment.
23348
23349 2011-03-19  Bruno Haible  <bruno@clisp.org>
23350
23351         sys_socket, netdb: Document problem with socklen_t.
23352         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
23353         platforms.
23354         * doc/posix-headers/netdb.texi: Likewise.
23355
23356 2011-03-18  Eric Blake  <eblake@redhat.com>
23357
23358         maint.mk: let po check work in VPATH build
23359         * top/maint.mk (po_file): Allow cfg.mk override.
23360         (sc_po_check): Allow VPATH use.
23361         Reported by Jiri Denemark.
23362
23363 2011-03-16  Jim Meyering  <meyering@redhat.com>
23364
23365         maint.mk: allow fine-grained syntax-check exclusion via Make variables
23366         Before, you would have had to create one .x-sc_ file per rule in order
23367         to exempt offending files.  Now, you may instead use a Make variable --
23368         usually defined in cfg.mk -- whose name identifies the affected rule.
23369         * top/maint.mk (_sc_excl): Define.
23370         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
23371         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
23372
23373 2011-03-13  Bruno Haible  <bruno@clisp.org>
23374
23375         ignore-value tests: Avoid warnings.
23376         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
23377         empty for gcc < 3.4.
23378
23379 2011-03-13  Bruno Haible  <bruno@clisp.org>
23380
23381         passfd: Fix link error on Solaris.
23382         * modules/passfd (Description): Correct.
23383         (Depends-on): Add socketlib.
23384         (Link): New section.
23385         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
23386
23387 2011-03-13  Bruno Haible  <bruno@clisp.org>
23388
23389         passfd: Fix link error on AIX 5.2.
23390         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
23391
23392 2011-03-13  Bruno Haible  <bruno@clisp.org>
23393
23394         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
23395         * lib/sys_socket.in.h: Include <stddef.h>.
23396         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
23397         CMSG_FIRSTHDR. Remove unused variable.
23398
23399 2011-03-13  Bruno Haible  <bruno@clisp.org>
23400
23401         passfd: Fix compilation error on OpenBSD.
23402         * lib/passfd.c: Include <sys/uio.h>.
23403
23404 2011-03-13  Bruno Haible  <bruno@clisp.org>
23405
23406         passfd test: Fix warnings.
23407         * tests/test-passfd.c: Include <sys/wait.h>.
23408         (main): Fix typo.
23409
23410 2011-03-13  Bruno Haible  <bruno@clisp.org>
23411
23412         passfd module, part 4, tweaks.
23413         * tests/test-passfd.c: Reorder includes.
23414         (main): Fix perror and printf calls.
23415
23416 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23417
23418         passfd module, part 4.
23419         * modules/passfd-tests: New file.
23420         * tests/test-passfd.c: New file.
23421
23422 2011-03-13  Jim Meyering  <meyering@redhat.com>
23423
23424         Makefile: rely on GNU make; derive syntax-check rule names
23425         Rather than requiring that each sc_ rule be listed as a dependent
23426         of "check", use features of GNU make to derive the list.
23427         * Makefile (syntax-check-rules): Define.
23428         (check): Depend on the new variable, not the hard-coded list.
23429
23430 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
23431             Bruno Haible  <bruno@clisp.org>
23432
23433         passfd module, part 3.
23434         * lib/passfd.h (recvfd): Add a flags argument.
23435         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
23436         (recvfd): Add a flags argument.
23437         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
23438         exists.
23439         * modules/passfd (Depends-on): Add cloexec.
23440         Suggested by Eric Blake.
23441
23442 2011-03-13  Bruno Haible  <bruno@clisp.org>
23443
23444         passfd module, part 2, tweaks.
23445         * modules/passfd (Files): Reorder.
23446         (Depends-on): Remove errno.
23447         (Include): Remove <sys/socket.h>, <sys/un.h>.
23448         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
23449         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
23450         specification header. Include <sys/socket.h> always. Don't include
23451         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
23452         (sendfd): Clarify that it sets errno when it fails.
23453         (recvfd): Fix specification.
23454
23455 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23456
23457         passfd module, part 2.
23458         * modules/passfd: New file.
23459         * lib/passfd.h: New file.
23460         * lib/passfd.c: New file.
23461
23462 2011-03-12  Bruno Haible  <bruno@clisp.org>
23463
23464         wcswidth, mbswidth: Avoid integer overflow.
23465         * lib/wcswidth.c: Include <limits.h>.
23466         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
23467         * lib/mbswidth.c: Include <limits.h>.
23468         (mbsnwidth): Avoid 'int' overflow.
23469         Reported by Jim Meyering.
23470
23471 2011-03-12  Bruno Haible  <bruno@clisp.org>
23472
23473         futimens, utimensat: Avoid endless recursion on Solaris 10.
23474         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
23475         Solaris.
23476         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
23477         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
23478
23479 2011-03-11  Jim Meyering  <meyering@redhat.com>
23480
23481         maint.mk: relax a regexp to accommodate other formatting styles
23482         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
23483         between "ngettext" and the following "(".
23484
23485 2011-03-11  Pádraig Brady <P@draigBrady.com>
23486
23487         maint.mk: suppress a false positive warning
23488         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
23489         diagnostics are marked with ngettext.
23490
23491 2011-03-10  Eric Blake  <eblake@redhat.com>
23492
23493         wchar: add explicit dependencies, for Tru64
23494         * modules/mbmemcasecoll (Depends-on): Add wchar.
23495         * modules/mbtowc (Depends-on): Likewise.
23496         * modules/vasnprintf (Depends-on): Likewise.
23497         * modules/unistdio/u-printf-args (Depends-on): Likewise.
23498         * modules/wctomb (Depends-on): Likewise.
23499         Reported by Peter O'Gorman.
23500
23501 2011-03-08  Bruno Haible  <bruno@clisp.org>
23502
23503         passfd module, part 1, tweaks.
23504         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
23505         Improve indentation. Improve AC_MSG_CHECKING messages.
23506         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
23507         gl_SOCKET_FAMILIES.
23508
23509 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23510
23511         passfd module, part 1.
23512         * m4/afunix.m4: New file.
23513         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
23514         sockets.
23515
23516 2011-03-08  Bruno Haible  <bruno@clisp.org>
23517
23518         regex-quote: New API.
23519         * lib/regex-quote.h: Include <stdbool.h>.
23520         (struct regex_quote_spec): New type.
23521         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23522         New declarations.
23523         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23524         'const struct regex_quote_spec *' argument.
23525         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
23526         (pcre_special): New constant.
23527         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23528         New functions.
23529         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23530         'const struct regex_quote_spec *' argument.
23531         * modules/regex-quote (Depends-on): Add stdbool.
23532         * tests/test-regex-quote.c (check): Update for new API. Add test for
23533         anchored results.
23534         * NEWS: Mention the API change.
23535         Reported by Reuben Thomas and Eric Blake.
23536
23537 2011-03-06  Bruno Haible  <bruno@clisp.org>
23538
23539         regex-quote: Fix creation of POSIX extended regular expressions.
23540         * lib/regex-quote.c (ere_special): Add grouping and alternation
23541         operators.
23542
23543 2011-03-05  Bruno Haible  <bruno@clisp.org>
23544
23545         doc: Improve doc regarding autopoint vs. gnulib.
23546         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
23547         disable autopoint while running autoreconf.
23548         Suggested by Ralf Wildenhues.
23549
23550 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23551
23552         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
23553         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
23554
23555 2011-03-03  Bruce Korb  <bkorb@gnu.org>
23556
23557         parse-duration: remove xalloc.h dependency
23558         * lib/parse-duration.c (parse_period): handle NULL return from
23559         strdup instead of calling xstrdup().
23560         * modules/parse-duration: remove "xalloc" dependency
23561
23562 2011-03-03  Matthew Booth  <mbooth@redhat.com>
23563
23564         bootstrap: honor m4_base when running aclocal
23565         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
23566
23567 2011-03-02  Jim Meyering  <meyering@redhat.com>
23568
23569         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
23570         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
23571         on request from Matt Booth.
23572
23573 2011-03-01  Eric Blake  <eblake@redhat.com>
23574
23575         test-link: work on Hurd
23576         * tests/test-link.h (test_link): Hurd rejects linking directories
23577         with EISDIR instead of the POSIX-mandated EPERM.
23578
23579 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
23580
23581         stdio: simplify by moving files to printf-posix, sigpipe
23582         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
23583         since this symbol is needed only if printf is replaced.
23584         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
23585         Require gl_ASM_SYMBOL_PREFIX.
23586         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
23587         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
23588         (Depends-on): Add 'raise'.
23589         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
23590         * modules/stdio (Files): Remove lib/stdio-write.c,
23591         m4/asm-underscore.m4.
23592         (Depends-on): Remove 'raise'.
23593
23594         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
23595         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
23596         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
23597         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
23598
23599 2011-02-28  Bruno Haible  <bruno@clisp.org>
23600
23601         localcharset: Assume ANSI C behaviour of free().
23602         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
23603         calling free().
23604         Suggested by Simon Josefsson <simon@josefsson.org>.
23605
23606 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
23607             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
23608             Bruno Haible  <bruno@clisp.org>  (tiny change)
23609
23610         On Cygwin, use /proc file system instead of win32 API.
23611         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
23612         Win32 file names.
23613         (DllMain): Simplify by removing Cygwin specific code.
23614         (find_shared_library_fullname): Use Linux specific implementation also
23615         for Cygwin.
23616         (get_shared_library_fullname): Update accordingly.
23617         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
23618         Win32 file names.
23619         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
23620         Cygwin specific code.
23621
23622 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
23623             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
23624
23625         Fix OpenMP flag detection for various Fortran compilers.
23626         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
23627         OpenMP-conditional compilation construct, to force compile
23628         failure with missing OpenMP flag.
23629         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
23630
23631 2011-02-25  Eric Blake  <eblake@redhat.com>
23632
23633         strstr: expand test coverage
23634         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
23635         compilation.
23636         * tests/test-memmem.c (main): Duplicate tests.
23637         * tests/test-strcasestr.c (main): Likewise.
23638         * tests/test-c-strcasestr.c (main): Likewise.
23639
23640 2011-02-25  Jim Meyering  <meyering@redhat.com>
23641
23642         maint.mk: detect missing-NL-at-EOF, too
23643         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
23644         it also detects when a file lacks a newline at EOF.
23645         (require_exactly_one_NL_at_EOF_): Renamed from
23646         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
23647         since people may well have .x-sc_... file names tied to the
23648         existing name.  Suggested by Eric Blake.
23649
23650 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
23651
23652         dirname: move m4/dos.m4 functionality into lib/dosname.h
23653
23654         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
23655         extracts symbols from it, puts them into config.h; but it's much
23656         easier to use the symbols directly.  filename.h already does this,
23657         but it disagrees with dos.m4 in some respects.  This patch
23658         introduces a different include file dosname.h that packages up
23659         dos.m4, and then later we can work on merging filename.h and
23660         dosname.h.  Applications that need only the easy-to-configure
23661         symbols should consider including dosname.h rather than dirname.h.
23662         * NEWS: Mention incompatible changes.
23663         * m4/dos.m4: Remove.
23664         * lib/dosname.h, modules/dosname: New files.
23665         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
23666         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
23667         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
23668         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
23669         Include dosname.h, not dirname.h.
23670         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
23671         Include dosname.h, for definitions of symbols like ISSLASH
23672         that used to be in config.h.
23673         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
23674         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23675         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23676         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23677         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
23678         * modules/rmdir (Files): Likewise.
23679         * modules/stat (Files): Likewise.
23680         * modules/unlink (Files): Likewise.
23681         * modules/dirname-lgpl (Depends-on): Add dosname.
23682         * modules/lstat (Depends-on): Likewise.
23683         * modules/openat (Depends-on): Likewise.
23684         * modules/rmdir (Depends-on): Likewise.
23685         * modules/savewd (Depends-on): Likewise.
23686         * modules/stat (Depends-on): Likewise.
23687         * modules/unlink (Depends-on): Likewise.
23688         * modules/openat (Depends-on): Remove dirname-lgpl.
23689         * modules/savewd (Depends-on): Likewise.
23690         * tests/test-dirname.c: Do not use removed symbols like
23691         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
23692         the remaining symbols, e.g., ISSLASH ('\\').
23693
23694 2011-02-25  Eric Blake  <eblake@redhat.com>
23695
23696         strstr: revert patches that introduced bug and pessimization
23697         * lib/str-two-way.h: Add another reference.
23698         (two_way_short_needle, two_way_long_needle): Revert changes from
23699         2011-02-24; they pessimize search speed.
23700         (critical_factorization): Partially revert changes from
23701         2010-06-22; they violate the requirement that the left half of the
23702         needle be smaller than the period of the needle.
23703
23704 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
23705
23706         filenamecat: remove unnecessary dependency on dirname-lgpl
23707         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
23708         is no direct dependency, just an indirect one via filenamecat-lgpl.
23709
23710         remove: remove unnecessary use of m4/dos.m4
23711         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
23712         * modules/remove (FILES): Remove m4/dos.m4.
23713
23714         * lib/openat-proc.c: Don't include dirname.h; not needed.
23715
23716         backupfile: remove unnecessary use of m4/dos.m4
23717         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
23718         of its symbols are used by the backupfile code.  backupfile.c does
23719         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
23720         for the rare case of programs that want all their backup file
23721         names to live within 8+3 limits, and dos.m4 doesn't address that.
23722         * modules/backupfile (Files): Remove m4/dos.m4.
23723
23724 2011-02-24  Jim Meyering  <meyering@redhat.com>
23725
23726         strstr: fix a bug whereby strstr would mistakenly return NULL
23727         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
23728         in period calculation.
23729         (two_way_long_needle): Likewise.
23730         The original problem was reported by Mike Stump in
23731         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
23732         Ralf Wildenhues provided the short needle and haystack.
23733         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
23734         Add a more involved test to trigger the bug in two_way_long_needle.
23735
23736 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23737
23738         gnulib-tool: remove use of bold display in help screen
23739         * gnulib-tool (func_usage): Do not use bold display anymore in the
23740         help screen.  That was just meant to be a temporary emphasis for a
23741         backward-incompatible change.
23742
23743 2011-02-23  Bruno Haible  <bruno@clisp.org>
23744
23745         Fix misindentation of preprocessor directives.
23746         * lib/argp-namefrob.h: Reindent preprocessor directives.
23747         * lib/getopt_int.h (struct _getopt_data): Likewise.
23748         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
23749         * lib/vasnprintf.c (decode_long_double): Likewise.
23750         * tests/test-argmatch.c: Insert blank lines, for clarity.
23751         * tests/test-exclude.c: Likewise.
23752
23753 2011-02-22  Bruno Haible  <bruno@clisp.org>
23754
23755         ioctl: Fix for MacOS X in 64-bit mode.
23756         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
23757         value.
23758         Suggested by Eric Blake.
23759         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
23760
23761 2011-02-22  Jim Meyering  <meyering@redhat.com>
23762
23763         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
23764         * Makefile (sc_cpp_indent_check): Don't limit the check to files
23765         in lib/.
23766
23767 2011-02-22  Eric Blake  <eblake@redhat.com>
23768
23769         maint: avoid any CDPATH issue
23770         * Makefile (sc_cpp_indent_check): Anchor cd argument.
23771
23772         maint: adjust cpp indentation for my modules, as well
23773         * Makefile (sc_cpp_indent_check): Add my name.
23774         * lib/fbufmode.c: Filter through cppi.
23775         * lib/fpurge.c: Likewise.
23776         * lib/freadable.c: Likewise.
23777         * lib/freading.c: Likewise.
23778         * lib/fwritable.c: Likewise.
23779         * lib/fwriting.c: Likewise.
23780         * lib/sigaction.c: Likewise.
23781
23782 2011-02-22  Jim Meyering  <meyering@redhat.com>
23783
23784         maint: adjust cpp indentation to reflect nesting depth
23785         I.e., in a block of code that begins with an unnested "#if",
23786         put one space between the "#" in column 1 and following token.
23787         For example,
23788         -#include <sys/vfs.h>
23789         +# include <sys/vfs.h>
23790         Do this only in .c files that are part of a module I maintain.
23791         * lib/linkat.c: Filter through cppi.
23792         * lib/nanosleep.c: Likewise.
23793         * lib/openat.c: Likewise.
23794         * lib/openat-die.c: Likewise.
23795         * lib/dup3.c: Likewise.
23796         * lib/fchownat.c: Likewise.
23797         * lib/flock.c: Likewise.
23798         * lib/fsync.c: Likewise.
23799         * lib/fts.c: Likewise.
23800         * lib/getpass.c: Likewise.
23801         * lib/gettimeofday.c: Likewise.
23802         * lib/userspec.c: Likewise.
23803         * Makefile (sc_cpp_indent_check): New rule, to check this.
23804
23805 2011-02-22  Bruno Haible  <bruno@clisp.org>
23806
23807         New module 'wctomb'.
23808         * lib/stdlib.in.h (wctomb): New declaration.
23809         * lib/wctomb.c: New file.
23810         * lib/wctomb-impl.h: New file.
23811         * m4/wctomb.m4: New file.
23812         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
23813         REPLACE_WCTOMB.
23814         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
23815         REPLACE_WCTOMB.
23816         * modules/wctomb: New file.
23817         * tests/test-stdlib-c++.cc: Test signature of wctomb.
23818         * doc/posix-functions/wctomb.texi: Mention the new module.
23819         * modules/wctob (Depends-on): Add wctomb.
23820
23821 2011-02-22  Bruno Haible  <bruno@clisp.org>
23822
23823         New module 'mbtowc'.
23824         * lib/stdlib.in.h (mbtowc): New declaration.
23825         * lib/mbtowc.c: New file.
23826         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
23827         * m4/mbtowc.m4: New file.
23828         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
23829         REPLACE_MBTOWC.
23830         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
23831         REPLACE_MBTOWC.
23832         * modules/mbtowc: New file.
23833         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
23834         * doc/posix-functions/mbtowc.texi: Mention the new module.
23835         * modules/btowc (Depends-on): Add mbtowc.
23836
23837 2011-02-22  Bruno Haible  <bruno@clisp.org>
23838
23839         wcrtomb: Add more tests for native Windows platforms.
23840         * tests/test-wcrtomb-w32-1.sh: New file.
23841         * tests/test-wcrtomb-w32-2.sh: New file.
23842         * tests/test-wcrtomb-w32-3.sh: New file.
23843         * tests/test-wcrtomb-w32-4.sh: New file.
23844         * tests/test-wcrtomb-w32-5.sh: New file.
23845         * tests/test-wcrtomb-w32.c: New file.
23846         * modules/wcrtomb-tests (Files): Add them.
23847         (Makefile.am): Arrange to run these tests.
23848         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
23849         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
23850
23851 2011-02-20  Bruno Haible  <bruno@clisp.org>
23852
23853         wcrtomb: Enhance test.
23854         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
23855
23856 2011-02-20  Bruno Haible  <bruno@clisp.org>
23857
23858         mbrtowc: Tiny optimization.
23859         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
23860
23861 2011-02-20  Jim Meyering  <meyering@redhat.com>
23862
23863         test-exclude.c: remove unmatched #endif
23864         * tests/test-exclude.c: Remove stray #endif, left over from
23865         the change of a week ago.
23866
23867 2011-02-19  Jim Meyering  <meyering@redhat.com>
23868
23869         git-version-gen: skip "-dirty" check when appropriate
23870         * build-aux/git-version-gen: Don't run any git commands when the
23871         version string comes from .tarball-version.  Prior to this, we
23872         would run git update-index --refresh even from a just-unpacked
23873         tarball directory, and that could affect a .git/ directory in a
23874         parent of the build directory.  Reported by Mike Frysinger.
23875
23876 2011-02-19  Bruno Haible  <bruno@clisp.org>
23877
23878         unictype/property-byname: Reduce the size of the 'data' segment.
23879         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
23880
23881 2011-02-19  Bruno Haible  <bruno@clisp.org>
23882
23883         unictype/scripts: Reduce the size of the 'data' segment.
23884         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
23885         '%pic'.
23886         * lib/unictype/scripts_byname.gperf: Regenerated.
23887
23888 2011-02-19  Bruno Haible  <bruno@clisp.org>
23889
23890         stdint: Update documentation.
23891         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
23892
23893 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
23894
23895         stdint: omit redundant check for wchar.h
23896         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
23897         always tests whether wchar.h exists, so remove the now-redundant test.
23898
23899 2011-02-18  Bruno Haible  <bruno@clisp.org>
23900
23901         stdint: Cut dependency to module 'wchar'.
23902         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
23903         include the necessary prerequisites.
23904         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
23905         * modules/stdint (Depends-on): Remove wchar.
23906         (Makefile.am): Substitute HAVE_WCHAR_H.
23907         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
23908
23909 2011-02-18  Eric Blake  <eblake@redhat.com>
23910
23911         longlong: skip, rather than fail, on cross-compilation
23912         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
23913         when cross-compiling; regression from 2011-02-16.
23914
23915 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23916
23917         * NEWS: Mention 2011-02-08 change to stdlib.
23918
23919 2011-02-17  Bruno Haible  <bruno@clisp.org>
23920
23921         getloadavg: Add comments about platforms.
23922         * m4/getloadavg.m4: Add comment.
23923         * lib/getloadavg.c: Likewise.
23924
23925 2011-02-17  Bruno Haible  <bruno@clisp.org>
23926
23927         getloadavg: Fix link error on Solaris 2.6.
23928         * modules/getloadavg (Link): New section.
23929         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
23930         linking test-getloadavg.
23931         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
23932         getloadavg.
23933
23934 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23935
23936         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
23937         It was 'int', but this doesn't match the IRIX 6.5 manual.
23938         Suggested by Bruno Haible in
23939         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
23940
23941 2011-02-17  Bruno Haible  <bruno@clisp.org>
23942
23943         havelib: Fix comments.
23944         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
23945         change.
23946
23947 2011-02-17  Bruno Haible  <bruno@clisp.org>
23948
23949         havelib: Update config.rpath.
23950         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
23951
23952 2011-02-17  Bruno Haible  <bruno@clisp.org>
23953
23954         getloadavg test: Add some plausibility checks.
23955         * tests/test-getloadavg.c (check_avg): Print a warning when the value
23956         is improbable.
23957
23958 2011-02-16  Eric Blake  <eblake@redhat.com>
23959
23960         maintainer-makefile: make syntax-check a no-op from tarballs
23961         * top/maint.mk (no-vc-detected): New rule.
23962         (local-checks-available): Use it to avoid hanging if someone tries
23963         'make syntax-check' from a tarball.  Also append to any non-syntax
23964         checks already defined in cfg.mk.
23965
23966 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
23967
23968         longlong: tune, particularly for common case of c99
23969
23970         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
23971         or running anything if c99, or if unsigned long long int does not
23972         work.  In either case, we know the answer without further tests.
23973         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
23974         it at most once, and use its results for both long long int and
23975         unsigned long long int.  This is more likely to be efficient in
23976         the common case where the program wants to check for both long
23977         long int and unsigned long long int.
23978         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
23979         since the answer is already known.
23980
23981 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
23982
23983         getloadavg: set errno
23984         * lib/getloadavg.c: Set errno when returning -1.  If no other
23985         error number looks appropriate, set it to ENOSYS if the getloadavg
23986         looks like it can't possibly ever work, ENOTSUP otherwise.
23987         Suggested by Bruno Haible in
23988         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
23989
23990         getloadavg: trim unused parts and speed up 'configure'
23991         * NEWS: Document this.
23992         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
23993         always compiled if getloadavg is absent.
23994         Move test code to ...
23995         * tests/test-getloadavg.c: New file, containing previous
23996         contents of test from lib/getloadavg.c.  It also contains
23997         suggestions by Bruno Haible in
23998         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
23999         * modules/getloadavg-tests: New file.
24000         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
24001         Do tests in the same order as they're needed for getloadavg.c.
24002         Omit setgid-related tests that generate symbols KMEM_GROUP,
24003         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
24004         Do only the tests that are needed to see whether the system has
24005         getloadavg, moving the other tests into ...
24006         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
24007         NLIST_NAME_UNION; nobody should be using it.  Do not define
24008         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
24009         relevant, as the user of this module shouldn't care how getloadavg
24010         is implemented.
24011
24012         getloadavg: omit unused var
24013         * lib/getloadavg.c (getloadavg): Omit unused local variable.
24014
24015 2011-02-15  Jim Meyering  <meyering@redhat.com>
24016
24017         doc: update users.txt
24018         * users.txt: Update iwhd's URL.
24019
24020 2011-02-13  Bruno Haible  <bruno@clisp.org>
24021
24022         Consistent macro naming for macros that use GCC __attribute__.
24023         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
24024         _ATTRIBUTE_NONNULL_.
24025         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
24026         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
24027         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
24028         ATTRIBUTE_DEPRECATED.
24029         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
24030         ATTRIBUTE_NORETURN.
24031         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24032         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24033         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24034         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24035         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
24036         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
24037         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
24038         ATTRIBUTE_SENTINEL.
24039         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
24040         ATTRIBUTE_RETURN_CHECK.
24041         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
24042         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
24043         ATTRIBUTE_NORETURN.
24044         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
24045         Reported by Paul Eggert.
24046
24047 2011-02-13  Bruno Haible  <bruno@clisp.org>
24048
24049         Don't interfere with a program's definition of __attribute__.
24050         * lib/argp.h (__attribute__): Remove definition.
24051         (_GL_ATTRIBUTE_FORMAT): New macro.
24052         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
24053         * lib/argp-fmtstream.h (__attribute__): Remove definition.
24054         (_GL_ATTRIBUTE_FORMAT): New macro.
24055         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
24056         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
24057         GCC 3 or newer.
24058         * lib/error.h (__attribute__): Remove definition.
24059         (_GL_ATTRIBUTE_FORMAT): New macro.
24060         (error, error_at_line): Use it.
24061         * lib/hash.h (__attribute__): Remove definition.
24062         (ATTRIBUTE_WUR): Update definition. Define always.
24063         * lib/openat.h (__attribute__): Remove definition.
24064         (ATTRIBUTE_NORETURN): Update definition. Define always.
24065         * lib/sigpipe-die.h (__attribute__): Remove definition.
24066         (ATTRIBUTE_NORETURN): Update definition. Define always.
24067         * lib/vasnprintf.h (__attribute__): Remove definition.
24068         (_GL_ATTRIBUTE_FORMAT): New macro.
24069         (asnprintf, vasnprintf): Use it.
24070         * lib/xalloc.h (__attribute__): Remove definition.
24071         (ATTRIBUTE_NORETURN): Update definition. Define always.
24072         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
24073         * lib/xmemdup0.h (__attribute__): Remove definition.
24074         (ATTRIBUTE_NORETURN): Update definition. Define always.
24075         * lib/xprintf.h (__attribute__): Remove definition.
24076         (_GL_ATTRIBUTE_FORMAT): New macro.
24077         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
24078         * lib/xstrtol.h (__attribute__): Remove definition.
24079         (ATTRIBUTE_NORETURN): Update definition. Define always.
24080         * lib/xvasprintf.h (__attribute__): Remove definition.
24081         (_GL_ATTRIBUTE_FORMAT): New macro.
24082         (xasprintf, xvasprintf): Use it.
24083         * tests/test-argmatch.c (__attribute__): Remove definition.
24084         (ATTRIBUTE_NORETURN): Update definition. Define always.
24085         * tests/test-exclude.c (__attribute__): Remove definition.
24086         (ATTRIBUTE_NORETURN): Update definition. Define always.
24087         Reported by Paul Eggert.
24088
24089 2011-02-13  Bruno Haible  <bruno@clisp.org>
24090
24091         mbrtowc: Add more tests for native Windows platforms.
24092         * tests/test-mbrtowc-w32-1.sh: New file.
24093         * tests/test-mbrtowc-w32-2.sh: New file.
24094         * tests/test-mbrtowc-w32-3.sh: New file.
24095         * tests/test-mbrtowc-w32-4.sh: New file.
24096         * tests/test-mbrtowc-w32-5.sh: New file.
24097         * tests/test-mbrtowc-w32.c: New file.
24098         * modules/mbrtowc-tests (Files): Add them.
24099         (Makefile.am): Arrange to run these tests.
24100         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
24101         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
24102
24103 2011-02-13  Bruno Haible  <bruno@clisp.org>
24104
24105         mbrtowc: Work around native Windows bug.
24106         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
24107         guess when no suitable locale for testing was found.
24108         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
24109
24110 2011-02-13  Bruno Haible  <bruno@clisp.org>
24111
24112         mbsinit: Work around mingw bug.
24113         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
24114         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
24115         Windows.
24116         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
24117
24118 2011-02-13  Bruno Haible  <bruno@clisp.org>
24119
24120         mbsinit: Don't crash for a NULL argument.
24121         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
24122         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
24123
24124 2011-02-13  Bruno Haible  <bruno@clisp.org>
24125
24126         Don't interfere with a program's definition of __attribute__.
24127         * lib/stdio.in.h (__attribute__): Remove definition.
24128         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
24129         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
24130         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
24131         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
24132         * lib/string.in.h (__attribute__): Remove definition.
24133         Reported by Paul Eggert.
24134
24135 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
24136
24137         stdlib: don't get in the way of non-GCC __attribute__
24138         See thread starting at
24139         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
24140         Revert previous stdlib change, installing the following instead:
24141         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
24142         to get in the way of a non-GCC compiler that supports __attribute__.
24143         (_GL_ATTRIBUTE_RETURN): New macro.
24144         (_Exit): Use it instead of __attribute__.
24145
24146 2011-02-12  Bruno Haible  <bruno@clisp.org>
24147
24148         quotearg test: Avoid test failure on mingw.
24149         * tests/test-quotearg.sh: Convert the locale identifier from native
24150         Windows syntax to Unix syntax.
24151
24152 2011-02-12  Bruno Haible  <bruno@clisp.org>
24153
24154         setlocale: Prefer gnulib's override over libintl's override.
24155         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
24156         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
24157         GNULIB_defined_setlocale is set.
24158
24159 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
24160
24161         stdlib: support non-GCC __attribute__
24162
24163         Fix a serious and tricky problem encountered when attempting to
24164         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
24165         5.5, but it crashed due to memory corruption on Solaris 10 with
24166         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
24167         bits that are otherwise zero.  This tagging is optional inside
24168         Emacs but is preferred and is used when __attribute__ ((__aligned
24169         (8))) works, as it does with both recent-enough GCC and with Sun C
24170         5.11.  However, Sun C 5.11 is not GCC and does not #define
24171         __GNUC__ and __GNUC_MINOR__.
24172
24173         When I added the getloadavg module to Emacs, it brought in
24174         stdlib.in.h, which contained this fragment:
24175
24176            #ifndef __attribute__
24177            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
24178            #  define __attribute__(Spec)   /* empty */
24179            # endif
24180            #endif
24181
24182         When files that include <stdlib.h> were compiled with Sun C 5.11,
24183         the above code disabled __attribute__ ((__aligned (8))), which
24184         caused variables to not be properly aligned, which eventually led
24185         to the pointer corruption mentioned above.  (This was a bit hard
24186         to diagnose, unfortunately.)
24187
24188         Several "#define __attribute__(X) /* empty */" code snippets need
24189         to be eradicated from Gnulib to work with non-GCC compilers that
24190         support __attribute__.  The Autoconf way to do this is to test for
24191         each kind of attribute that we want support for, and selectively
24192         enable that in source code.
24193
24194         Fix this problem just for stdlib.h, by adding a test for the
24195         __noreturn__ attribute, and change stdlib.in.h to use that test
24196         when needed.  This technique can be easily generalized to the
24197         other *.in.h files and attributes, and a similar technique can be
24198         used for *.h and *.c files.  This patch is enough to solve the
24199         problem for Emacs + getloadavg, and I thought I'd publish it for
24200         feedback before undertaking further, similar fixes in other
24201         modules.
24202
24203         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
24204         because it's not needed for stdlib.h.  It merely substitutes the
24205         value directly into stdlib.h.  We may well need to #define it, or
24206         similar symbols, for other modules, but it's nice to also have an
24207         option to not #define it for applications like Emacs that do not
24208         need it.
24209
24210         * lib/stdlib.in.h (__attribute__): Do not #define.
24211         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
24212         be defined only if the _Exit module is also used.
24213         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
24214         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
24215         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
24216         platforms.
24217         * modules/_Exit (Files): Add m4/attribute.m4.
24218         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
24219         * m4/attribute.m4: New file.
24220
24221 2011-02-12  Bruno Haible  <bruno@clisp.org>
24222
24223         wcsrtombs: Work around bug on native Windows.
24224         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
24225         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
24226         instead of len.
24227         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
24228
24229 2011-02-12  Bruno Haible  <bruno@clisp.org>
24230
24231         mbsrtowcs: Work around bug on native Windows.
24232         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
24233         against mingw bug.
24234         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
24235
24236 2011-02-12  Bruno Haible  <bruno@clisp.org>
24237
24238         Avoid setlocale bugs in tests.
24239         * modules/btowc (Dependencies): Add setlocale.
24240         * modules/c-strcase (Dependencies): Likewise.
24241         * modules/mbmemcasecmp (Dependencies): Likewise.
24242         * modules/mbmemcasecoll (Dependencies): Likewise.
24243         * modules/mbrtowc (Dependencies): Likewise.
24244         * modules/mbscasecmp (Dependencies): Likewise.
24245         * modules/mbscasestr (Dependencies): Likewise.
24246         * modules/mbschr (Dependencies): Likewise.
24247         * modules/mbscspn (Dependencies): Likewise.
24248         * modules/mbsinit (Dependencies): Likewise.
24249         * modules/mbsncasecmp (Dependencies): Likewise.
24250         * modules/mbsnrtowcs (Dependencies): Likewise.
24251         * modules/mbspbrk (Dependencies): Likewise.
24252         * modules/mbspcasecmp (Dependencies): Likewise.
24253         * modules/mbsrchr (Dependencies): Likewise.
24254         * modules/mbsrtowcs (Dependencies): Likewise.
24255         * modules/mbsspn (Dependencies): Likewise.
24256         * modules/mbsstr (Dependencies): Likewise.
24257         * modules/nl_langinfo (Dependencies): Likewise.
24258         * modules/quotearg (Dependencies): Likewise.
24259         * modules/unicase/locale-language (Dependencies): Likewise.
24260         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
24261         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
24262         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
24263         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
24264         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
24265         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
24266         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
24267         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
24268         * modules/vasnprintf-posix (Dependencies): Likewise.
24269         * modules/wcrtomb (Dependencies): Likewise.
24270         * modules/wcsnrtombs (Dependencies): Likewise.
24271         * modules/wcsrtombs (Dependencies): Likewise.
24272
24273 2011-02-12  Bruno Haible  <bruno@clisp.org>
24274
24275         setlocale: Workaround native Windows bug.
24276         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
24277         succeeds but sets LC_CTYPE to "C", report a failure.
24278         * tests/test-setlocale2.sh: New file.
24279         * tests/test-setlocale2.c: New file.
24280         * modules/setlocale-tests (Files): Add the new files.
24281         (Makefile.am): Enable test-setlocale2.sh test.
24282         * doc/posix-functions/setlocale.texi: Mention workaround.
24283
24284 2011-02-11  Bruno Haible  <bruno@clisp.org>
24285
24286         Tests for module 'setlocale'.
24287         * modules/setlocale-tests: New file.
24288         * tests/test-setlocale1.sh: New file.
24289         * tests/test-setlocale1.c: New file.
24290
24291         New module 'setlocale'.
24292         * lib/locale.in.h (setlocale): New declaration.
24293         * lib/setlocale.c: New file, based on
24294         gettext/gettext-runtime/intl/setlocale.c.
24295         * m4/setlocale.m4: New file.
24296         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
24297         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
24298         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
24299         REPLACE_SETLOCALE.
24300         * modules/setlocale: New file.
24301         * tests/test-locale-c++.cc: Test the declaration of setlocale.
24302         * doc/posix-functions/setlocale.texi: Mention the new module.
24303
24304 2011-02-11  Bruno Haible  <bruno@clisp.org>
24305
24306         Prepare for locale dependent tests on mingw.
24307         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
24308         because it has the wrong locale encoding.
24309         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
24310         French_France.1252 instead of "fr".
24311         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
24312         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
24313         because it has the wrong locale encoding.
24314         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
24315         native Windows, try Turkish_Turkey.65001.
24316         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
24317         Chinese_China.54936.
24318
24319         Prepare for locale dependent tests on mingw.
24320         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
24321         differently.
24322         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
24323         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
24324         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
24325         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24326
24327 2011-02-11  Eric Blake  <eblake@redhat.com>
24328
24329         strptime: avoid compiler warnings
24330         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
24331         compiler warnings about dead code.
24332         Reported by Daniel P. Berrange.
24333
24334 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
24335
24336         doc: update users.txt
24337         * users.txt: Add rcs.
24338
24339 2011-02-10  John W. Eaton  <jwe@gnu.org>
24340
24341         doc: update users.txt
24342         * users.txt: Add octave.
24343
24344 2011-02-10  Jim Meyering  <meyering@redhat.com>
24345
24346         doc: update users.txt
24347         * users.txt: Add iwhd.
24348
24349 2011-02-09  Bruno Haible  <bruno@clisp.org>
24350
24351         gnulib-tool: Make copyright notice adjustment more robust.
24352         * gnulib-tool (func_import): In sed_transform_main_lib_file,
24353         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
24354         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
24355         License".
24356         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
24357
24358 2011-02-06  Bruno Haible  <bruno@clisp.org>
24359
24360         New module 'towctrans'.
24361         * modules/towctrans: New file.
24362         * lib/wctype.in.h (towctrans): New declaration.
24363         * lib/towctrans.c: New file.
24364         * lib/towctrans-impl.h: New file.
24365         * m4/towctrans.m4: New file.
24366         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
24367         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
24368         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
24369         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
24370         * doc/posix-functions/towctrans.texi: Mention the new module.
24371
24372 2011-02-06  Bruno Haible  <bruno@clisp.org>
24373
24374         New module 'wctrans'.
24375         * modules/wctrans: New file.
24376         * lib/wctype.in.h (wctrans): New declaration.
24377         * lib/wctrans.c: New file.
24378         * lib/wctrans-impl.h: New file.
24379         * m4/wctrans.m4: New file.
24380         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
24381         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
24382         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
24383         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
24384         * doc/posix-functions/wctrans.texi: Mention the new module.
24385
24386 2011-02-06  Bruno Haible  <bruno@clisp.org>
24387
24388         New module 'iswctype'.
24389         * modules/iswctype: New file.
24390         * lib/wctype.in.h (iswctype): New declaration.
24391         * lib/iswctype.c: New file.
24392         * lib/iswctype-impl.h: New file.
24393         * m4/iswctype.m4: New file.
24394         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
24395         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
24396         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
24397         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
24398         * doc/posix-functions/iswctype.texi: Mention the new module and the
24399         HP-UX 11.00 problem.
24400
24401 2011-02-06  Bruno Haible  <bruno@clisp.org>
24402
24403         New module 'wctype'.
24404         * modules/wctype: Change to represent the wctype() substitute.
24405         * lib/wctype.in.h (wctype): New declaration.
24406         * lib/wctype.c: New file.
24407         * lib/wctype-impl.h: New file.
24408         * m4/wctype.m4: New file.
24409         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
24410         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
24411         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
24412         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
24413         * doc/posix-functions/wctype.texi: Mention the new module and the
24414         HP-UX 11.00 problem.
24415
24416 2011-02-06  Bruno Haible  <bruno@clisp.org>
24417
24418         wctype-h: Ensure wctype_t and wctrans_t are defined.
24419         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
24420         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24421         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24422         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
24423         HAVE_WCTRANS_T.
24424         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
24425
24426 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
24427
24428         flock: fix license typo
24429
24430         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
24431         omitted.
24432
24433 2011-02-08  Bruno Haible  <bruno@clisp.org>
24434
24435         Split large sed scripts, for HP-UX sed.
24436         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
24437         to avoid HP-UX limit of 99 commands, in the near future.
24438         * modules/stdlib (Makefile.am): Likewise.
24439         * modules/unistd (Makefile.am): Likewise.
24440         * modules/wchar (Makefile.am): Likewise.
24441         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24442         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
24443         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
24444
24445 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24446             Bruno Haible  <bruno@clisp.org>
24447
24448         stdlib: improve random_r modularization
24449         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
24450         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
24451         you also need the random_r module to get this material right.
24452         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
24453         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
24454         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
24455
24456 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24457
24458         stdlib: don't depend on stdint
24459         * lib/stdlib.in.h: Don't include <stdint.h> merely because
24460         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
24461         be independent of whether stdint.h is needed.
24462         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
24463         here, instead of ...
24464         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
24465         struct random_data should be using the random_r module, not just
24466         the stdlib module (which wouldn't make sense: what package needs
24467         just struct random_data without also needing random_r?).
24468         * modules/stdlib (Depends-on): Remove stdint.
24469
24470         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
24471         See the thread rooted at
24472         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
24473         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
24474         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
24475         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
24476         __VMS)); previously it was always included (via fcntl--.h).
24477         (getloadavg): Do not use c_strtod.  Instead, approximate it by
24478         hand; this is good enough for load averages.  Also, do not use
24479         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
24480         flags directly if available and don't bother otherwise.  (Packages
24481         that need the extra reliability should use the modules that define
24482         these flags on older platforms that lack them.)
24483         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
24484         fcntl-safer.
24485
24486 2011-02-08  Jim Meyering  <meyering@redhat.com>
24487
24488         di-set.h, ino-map.h: add multiple-inclusion guard
24489         Technically, the guard is required only for ino-map.h, due to its
24490         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
24491         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
24492         * lib/ino-map.h: Likewise.
24493
24494 2011-02-06  Bruno Haible  <bruno@clisp.org>
24495
24496         iswblank: Ensure declaration on glibc systems.
24497         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
24498         * modules/iswblank (Dependencies): Add 'extensions'.
24499         * doc/posix-functions/iswblank.texi: Document the glibc problem.
24500
24501 2011-02-06  Bruno Haible  <bruno@clisp.org>
24502
24503         New module 'iswblank'.
24504         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
24505         * modules/iswblank: New file.
24506         * modules/wctype-h (Files): Remove lib/iswblank.c.
24507         (Makefile.am): Substitute GNULIB_ISWBLANK.
24508         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
24509         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
24510         (gl_WCTYPE_H_DEFAULTS): New macro.
24511         (gl_WCTYPE_H): Require it. Remove iswblank related code.
24512         * modules/iswblank-tests: New file.
24513         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
24514         * tests/test-wctype-h.c (main): Remove iswblank tests.
24515         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
24516         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
24517         of 'wctype-h'.
24518         * NEWS: Mention the change.
24519         * modules/mbchar (Depends-on): Add iswblank.
24520
24521 2011-02-08  Bruno Haible  <bruno@clisp.org>
24522
24523         di-set tests: Refactor.
24524         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
24525         unnecessary includes.
24526         (ASSERT): Remove macro.
24527         (main): Make C90 compliant by avoiding variable declaration after
24528         statement.
24529         * modules/di-set-tests (Files): Add tests/macros.h.
24530
24531 2011-02-08  Bruno Haible  <bruno@clisp.org>
24532
24533         ino-map tests: Refactor.
24534         * tests/test-ino-map.c: Include ino-map.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/ino-map-tests (Files): Add tests/macros.h.
24540
24541 2011-02-08  Jim Meyering  <meyering@redhat.com>
24542
24543         di-set: add "const" to a cast
24544         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
24545         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
24546
24547 2011-02-06  Bruno Haible  <bruno@clisp.org>
24548
24549         Rename module 'wctype' to 'wctype-h'.
24550         * modules/wctype-h: Renamed from modules/wctype.
24551         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
24552         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
24553         (Files, Depends-on, Makefile.am): Update.
24554         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
24555         (Files, Makefile.am): Update.
24556         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
24557         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
24558         * doc/posix-headers/wctype.texi: Update.
24559         * doc/posix-functions/iswalnum.texi: Update.
24560         * doc/posix-functions/iswalpha.texi: Update.
24561         * doc/posix-functions/iswblank.texi: Update.
24562         * doc/posix-functions/iswcntrl.texi: Update.
24563         * doc/posix-functions/iswdigit.texi: Update.
24564         * doc/posix-functions/iswgraph.texi: Update.
24565         * doc/posix-functions/iswlower.texi: Update.
24566         * doc/posix-functions/iswprint.texi: Update.
24567         * doc/posix-functions/iswpunct.texi: Update.
24568         * doc/posix-functions/iswspace.texi: Update.
24569         * doc/posix-functions/iswupper.texi: Update.
24570         * doc/posix-functions/iswxdigit.texi: Update.
24571         * doc/posix-functions/towlower.texi: Update.
24572         * doc/posix-functions/towupper.texi: Update.
24573         * NEWS: Mention the change.
24574         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
24575         * modules/mbchar (Dependencies): Likewise.
24576         * modules/mbswidth (Dependencies): Likewise.
24577         * modules/quotearg (Dependencies): Likewise.
24578         * modules/regex (Dependencies): Likewise.
24579         * modules/wcscasecmp (Dependencies): Likewise.
24580         * modules/wcsncasecmp (Dependencies): Likewise.
24581         * modules/wcwidth (Dependencies): Likewise.
24582
24583 2011-02-06  Bruno Haible  <bruno@clisp.org>
24584
24585         New module 'wcswidth'.
24586         * modules/wcswidth: New file.
24587         * lib/wchar.in.h (wcswidth): New declaration.
24588         * lib/wcswidth.c: New file.
24589         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
24590         * m4/wcswidth.m4: New file.
24591         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
24592         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
24593         REPLACE_WCSWIDTH.
24594         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
24595         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
24596         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
24597         * doc/posix-functions/wcswidth.texi: Mention the new module.
24598
24599 2011-02-06  Bruno Haible  <bruno@clisp.org>
24600
24601         New module 'wcstok'.
24602         * modules/wcstok: New file.
24603         * lib/wchar.in.h (wcstok): New declaration.
24604         * lib/wcstok.c: New file.
24605         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
24606         * m4/wcstok.m4: New file.
24607         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
24608         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
24609         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
24610         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
24611         * doc/posix-functions/wcstok.texi: Mention the new module.
24612
24613 2011-02-06  Bruno Haible  <bruno@clisp.org>
24614
24615         New module 'wcsstr'.
24616         * modules/wcsstr: New file.
24617         * lib/wchar.in.h (wcsstr): New declaration.
24618         * lib/wcsstr.c: New file.
24619         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
24620         * m4/wcsstr.m4: New file.
24621         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
24622         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
24623         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
24624         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
24625         * doc/posix-functions/wcsstr.texi: Mention the new module.
24626
24627 2011-02-06  Bruno Haible  <bruno@clisp.org>
24628
24629         New module 'wcspbrk'.
24630         * modules/wcspbrk: New file.
24631         * lib/wchar.in.h (wcspbrk): New declaration.
24632         * lib/wcspbrk.c: New file.
24633         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
24634         * m4/wcspbrk.m4: New file.
24635         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
24636         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
24637         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
24638         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
24639         * doc/posix-functions/wcspbrk.texi: Mention the new module.
24640
24641 2011-02-06  Bruno Haible  <bruno@clisp.org>
24642
24643         New module 'wcsspn'.
24644         * modules/wcsspn: New file.
24645         * lib/wchar.in.h (wcsspn): New declaration.
24646         * lib/wcsspn.c: New file.
24647         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
24648         * m4/wcsspn.m4: New file.
24649         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
24650         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
24651         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
24652         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
24653         * doc/posix-functions/wcsspn.texi: Mention the new module.
24654
24655 2011-02-06  Bruno Haible  <bruno@clisp.org>
24656
24657         New module 'wcscspn'.
24658         * modules/wcscspn: New file.
24659         * lib/wchar.in.h (wcscspn): New declaration.
24660         * lib/wcscspn.c: New file.
24661         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
24662         * m4/wcscspn.m4: New file.
24663         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
24664         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
24665         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
24666         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
24667         * doc/posix-functions/wcscspn.texi: Mention the new module.
24668
24669 2011-02-06  Bruno Haible  <bruno@clisp.org>
24670
24671         New module 'wcsrchr'.
24672         * modules/wcsrchr: New file.
24673         * lib/wchar.in.h (wcsrchr): New declaration.
24674         * lib/wcsrchr.c: New file.
24675         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
24676         * m4/wcsrchr.m4: New file.
24677         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
24678         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
24679         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
24680         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
24681         * doc/posix-functions/wcsrchr.texi: Mention the new module.
24682
24683 2011-02-06  Bruno Haible  <bruno@clisp.org>
24684
24685         New module 'wcschr'.
24686         * modules/wcschr: New file.
24687         * lib/wchar.in.h (wcschr): New declaration.
24688         * lib/wcschr.c: New file.
24689         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
24690         * m4/wcschr.m4: New file.
24691         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
24692         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
24693         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
24694         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
24695         * doc/posix-functions/wcschr.texi: Mention the new module.
24696
24697 2011-02-06  Bruno Haible  <bruno@clisp.org>
24698
24699         New module 'wcsdup'.
24700         * modules/wcsdup: New file.
24701         * lib/wchar.in.h (wcsdup): New declaration.
24702         * lib/wcsdup.c: New file.
24703         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
24704         * m4/wcsdup.m4: New file.
24705         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
24706         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
24707         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
24708         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
24709         * doc/posix-functions/wcsdup.texi: Mention the new module.
24710
24711 2011-02-06  Bruno Haible  <bruno@clisp.org>
24712
24713         New module 'wcsxfrm'.
24714         * modules/wcsxfrm: New file.
24715         * lib/wchar.in.h (wcsxfrm): New declaration.
24716         * lib/wcsxfrm.c: New file.
24717         * lib/wcsxfrm-impl.h: New file.
24718         * m4/wcsxfrm.m4: New file.
24719         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
24720         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
24721         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
24722         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
24723         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
24724
24725 2011-02-06  Bruno Haible  <bruno@clisp.org>
24726
24727         New module 'wcscoll'.
24728         * modules/wcscoll: New file.
24729         * lib/wchar.in.h (wcscoll): New declaration.
24730         * lib/wcscoll.c: New file.
24731         * lib/wcscoll-impl.h: New file.
24732         * m4/wcscoll.m4: New file.
24733         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
24734         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
24735         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
24736         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
24737         * doc/posix-functions/wcscoll.texi: Mention the new module.
24738
24739 2011-02-06  Bruno Haible  <bruno@clisp.org>
24740
24741         New module 'wcsncasecmp'.
24742         * modules/wcsncasecmp: New file.
24743         * lib/wchar.in.h (wcsncasecmp): New declaration.
24744         * lib/wcsncasecmp.c: New file.
24745         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
24746         * m4/wcsncasecmp.m4: New file.
24747         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
24748         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
24749         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
24750         HAVE_WCSNCASECMP.
24751         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
24752         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
24753
24754 2011-02-06  Bruno Haible  <bruno@clisp.org>
24755
24756         New module 'wcscasecmp'.
24757         * modules/wcscasecmp: New file.
24758         * lib/wchar.in.h (wcscasecmp): New declaration.
24759         * lib/wcscasecmp.c: New file.
24760         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
24761         * m4/wcscasecmp.m4: New file.
24762         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
24763         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
24764         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
24765         HAVE_WCSCASECMP.
24766         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
24767         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
24768
24769 2011-02-05  Bruno Haible  <bruno@clisp.org>
24770
24771         New module 'wcsncmp'.
24772         * modules/wcsncmp: New file.
24773         * lib/wchar.in.h (wcsncmp): New declaration.
24774         * lib/wcsncmp.c: New file.
24775         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
24776         * m4/wcsncmp.m4: New file.
24777         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
24778         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
24779         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
24780         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
24781         * doc/posix-functions/wcsncmp.texi: Mention the new module.
24782
24783 2011-02-05  Bruno Haible  <bruno@clisp.org>
24784
24785         New module 'wcscmp'.
24786         * modules/wcscmp: New file.
24787         * lib/wchar.in.h (wcscmp): New declaration.
24788         * lib/wcscmp.c: New file.
24789         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
24790         * m4/wcscmp.m4: New file.
24791         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
24792         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
24793         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
24794         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
24795         * doc/posix-functions/wcscmp.texi: Mention the new module.
24796
24797 2011-02-05  Bruno Haible  <bruno@clisp.org>
24798
24799         New module 'wcsncat'.
24800         * modules/wcsncat: New file.
24801         * lib/wchar.in.h (wcsncat): New declaration.
24802         * lib/wcsncat.c: New file.
24803         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
24804         * m4/wcsncat.m4: New file.
24805         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
24806         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
24807         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
24808         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
24809         * doc/posix-functions/wcsncat.texi: Mention the new module.
24810
24811 2011-02-05  Bruno Haible  <bruno@clisp.org>
24812
24813         New module 'wcscat'.
24814         * modules/wcscat: New file.
24815         * lib/wchar.in.h (wcscat): New declaration.
24816         * lib/wcscat.c: New file.
24817         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
24818         * m4/wcscat.m4: New file.
24819         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
24820         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
24821         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
24822         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
24823         * doc/posix-functions/wcscat.texi: Mention the new module.
24824
24825 2011-02-05  Bruno Haible  <bruno@clisp.org>
24826
24827         New module 'wcpncpy'.
24828         * modules/wcpncpy: New file.
24829         * lib/wchar.in.h (wcpncpy): New declaration.
24830         * lib/wcpncpy.c: New file.
24831         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
24832         * m4/wcpncpy.m4: New file.
24833         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
24834         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
24835         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
24836         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
24837         * doc/posix-functions/wcpncpy.texi: Mention the new module.
24838
24839 2011-02-05  Bruno Haible  <bruno@clisp.org>
24840
24841         New module 'wcsncpy'.
24842         * modules/wcsncpy: New file.
24843         * lib/wchar.in.h (wcsncpy): New declaration.
24844         * lib/wcsncpy.c: New file.
24845         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
24846         * m4/wcsncpy.m4: New file.
24847         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
24848         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
24849         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
24850         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
24851         * doc/posix-functions/wcsncpy.texi: Mention the new module.
24852
24853 2011-02-05  Bruno Haible  <bruno@clisp.org>
24854
24855         New module 'wcpcpy'.
24856         * modules/wcpcpy: New file.
24857         * lib/wchar.in.h (wcpcpy): New declaration.
24858         * lib/wcpcpy.c: New file.
24859         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
24860         * m4/wcpcpy.m4: New file.
24861         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
24862         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
24863         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
24864         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
24865         * doc/posix-functions/wcpcpy.texi: Mention the new module.
24866
24867 2011-02-05  Bruno Haible  <bruno@clisp.org>
24868
24869         New module 'wcscpy'.
24870         * modules/wcscpy: New file.
24871         * lib/wchar.in.h (wcscpy): New declaration.
24872         * lib/wcscpy.c: New file.
24873         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
24874         * m4/wcscpy.m4: New file.
24875         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
24876         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
24877         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
24878         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
24879         * doc/posix-functions/wcscpy.texi: Mention the new module.
24880
24881 2011-02-05  Bruno Haible  <bruno@clisp.org>
24882
24883         New module 'wcsnlen'.
24884         * modules/wcsnlen: New file.
24885         * lib/wchar.in.h (wcsnlen): New declaration.
24886         * lib/wcsnlen.c: New file.
24887         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
24888         * m4/wcsnlen.m4: New file.
24889         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
24890         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
24891         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
24892         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
24893         * doc/posix-functions/wcsnlen.texi: Mention the new module.
24894
24895 2011-02-05  Bruno Haible  <bruno@clisp.org>
24896
24897         New module 'wcslen'.
24898         * modules/wcslen: New file.
24899         * lib/wchar.in.h (wcslen): New declaration.
24900         * lib/wcslen.c: New file.
24901         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
24902         * m4/wcslen.m4: New file.
24903         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
24904         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
24905         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
24906         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
24907         * doc/posix-functions/wcslen.texi: Mention the new module.
24908
24909 2011-02-05  Bruno Haible  <bruno@clisp.org>
24910
24911         New module 'wmemset'.
24912         * modules/wmemset: New file.
24913         * lib/wchar.in.h (wmemset): New declaration.
24914         * lib/wmemset.c: New file.
24915         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
24916         * m4/wmemset.m4: New file.
24917         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
24918         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
24919         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
24920         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
24921         * doc/posix-functions/wmemset.texi: Mention the new module.
24922
24923 2011-02-05  Bruno Haible  <bruno@clisp.org>
24924
24925         New module 'wmemmove'.
24926         * modules/wmemmove: New file.
24927         * lib/wchar.in.h (wmemmove): New declaration.
24928         * lib/wmemmove.c: New file.
24929         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
24930         * m4/wmemmove.m4: New file.
24931         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
24932         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
24933         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
24934         HAVE_WMEMMOVE.
24935         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
24936         * doc/posix-functions/wmemmove.texi: Mention the new module.
24937
24938 2011-02-05  Bruno Haible  <bruno@clisp.org>
24939
24940         New module 'wmemcpy'.
24941         * modules/wmemcpy: New file.
24942         * lib/wchar.in.h (wmemcpy): New declaration.
24943         * lib/wmemcpy.c: New file.
24944         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
24945         * m4/wmemcpy.m4: New file.
24946         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
24947         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
24948         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
24949         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
24950         * doc/posix-functions/wmemcpy.texi: Mention the new module.
24951
24952 2011-02-05  Bruno Haible  <bruno@clisp.org>
24953
24954         New module 'wmemcmp'.
24955         * modules/wmemcmp: New file.
24956         * lib/wchar.in.h (wmemcmp): New declaration.
24957         * lib/wmemcmp.c: New file.
24958         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
24959         * m4/wmemcmp.m4: New file.
24960         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
24961         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
24962         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
24963         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
24964         * doc/posix-functions/wmemcmp.texi: Mention the new module.
24965
24966 2011-02-07  Jim Meyering  <meyering@redhat.com>
24967
24968         di-set, ino-map: new modules, from coreutils
24969         * lib/di-set.c: New file.
24970         * lib/di-set.h: Likewise.
24971         * lib/ino-map.c: Likewise.
24972         * lib/ino-map.h: Likewise.
24973         * modules/di-set: Likewise.
24974         * modules/di-set-tests: Likewise.
24975         * modules/ino-map: Likewise.
24976         * modules/ino-map-tests: Likewise.
24977         * tests/test-di-set.c: Likewise.
24978         * tests/test-ino-map.c: Likewise.
24979
24980 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
24981
24982         getloadavg: merge minor changes from Emacs
24983
24984         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
24985         (getloadavg): Use memset, not bzero.
24986
24987         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
24988         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
24989         clash (bug#86).
24990
24991 2010-11-14  Bruno Haible  <bruno@clisp.org>
24992
24993         Allow multiple gnulib generated replacements to coexist.
24994         * lib/getopt.in.h (struct option): Avoid identical redefinition.
24995         * lib/inttypes.in.h (imaxdiv_t): Likewise.
24996         * lib/langinfo.in.h (nl_item): Likewise.
24997         * lib/math.in.h (_NaN, NAN): Likewise.
24998         * lib/netdb.in.h (struct addrinfo): Likewise.
24999         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
25000         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
25001         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
25002         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
25003         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
25004         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
25005         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
25006         pthread_mutexattr_init, pthread_mutexattr_settype,
25007         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
25008         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
25009         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
25010         pthread_spin_trylock, pthread_spin_unlock): Likewise.
25011         * lib/sched.in.h (struct sched_param): Likewise.
25012         * lib/se-selinux.in.h (security_class_t, security_context_t,
25013         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
25014         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
25015         lsetfilecon, fsetfilecon, security_check_context,
25016         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
25017         Likewise.
25018         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
25019         Likewise.
25020         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
25021         _gl_function_taking_int_returning_void_t, union sigval,
25022         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
25023         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
25024         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
25025         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
25026         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
25027         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
25028         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
25029         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
25030         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
25031         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
25032         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
25033         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
25034         socklen_t, rpl_fd_isset): Likewise.
25035         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
25036         * lib/sys_time.in.h (struct timeval): Likewise.
25037         * lib/sys_times.in.h (struct tms): Likewise.
25038         * lib/sys_utsname.in.h (struct utsname):
25039         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
25040         * lib/unistd.in.h (getpagesize): Likewise.
25041         * lib/wchar.in.h (mbstate_t): Likewise.
25042         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
25043         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
25044         towlower, towupper): Likewise.
25045         Reported by Sam Steingold <sds@gnu.org>.
25046
25047 2011-02-05  Eric Blake  <eblake@redhat.com>
25048
25049         unsetenv: work around Haiku issues
25050         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
25051         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
25052
25053 2010-12-30  Bruce Korb  <bkorb@gnu.org>
25054
25055         libposix: avoid calling error() within libposix
25056         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
25057         is defined.
25058
25059 2011-02-05  Eric Blake  <eblake@redhat.com>
25060
25061         strerror_r-posix: port to cygwin
25062         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
25063         implementation.
25064         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
25065         * tests/test-strerror_r.c (main): Fix test.
25066         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
25067         issue.
25068
25069 2011-02-05  Bruno Haible  <bruno@clisp.org>
25070
25071         New module 'wmemchr'.
25072         * modules/wmemchr: New file.
25073         * lib/wchar.in.h (wmemchr): New declaration.
25074         * lib/wmemchr.c: New file.
25075         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
25076         * m4/wmemchr.m4: New file.
25077         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
25078         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
25079         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
25080         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
25081         * doc/posix-functions/wmemchr.texi: Mention the new module.
25082
25083 2011-02-04  Eric Blake  <eblake@redhat.com>
25084
25085         fdopendir: detect FreeBSD bug
25086         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
25087         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
25088
25089 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
25090
25091         stdbool: do not define HAVE_STDBOOL_H
25092         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
25093         AC_HEADER_STDBOOL.  All uses changed.  Do not define
25094         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
25095         imported from the latest Autoconf git.  It was motivated by Emacs,
25096         which uses gnulib but does not need HAVE_STDBOOL_H.
25097
25098 2011-02-04  Bruno Haible  <bruno@clisp.org>
25099
25100         wcsnrtombs: Prepare for new module wwcsnrtombs.
25101         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
25102         * lib/wcsnrtombs.c: Include it.
25103         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
25104
25105         wcsrtombs: Prepare for new module wwcsrtombs.
25106         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
25107         * lib/wcsrtombs.c: Include it.
25108         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
25109
25110         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
25111         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
25112         * lib/mbsnrtowcs.c: Include it.
25113         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
25114
25115         mbsrtowcs: Prepare for new module mbsrtowwcs.
25116         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
25117         * lib/mbsrtowcs.c: Include it.
25118         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
25119
25120 2011-02-04  Bruno Haible  <bruno@clisp.org>
25121
25122         vasnprintf: Reduce use of malloc for small format strings.
25123         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
25124         (arguments): Add room for the first 7 arguments.
25125         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
25126         (char_directives, u8_directives, u16_directives, u32_directives): Add
25127         room for the first 7 directives.
25128         * lib/printf-parse.c: Include <string.h>.
25129         (PRINTF_PARSE): Change memory handling code so that it uses the first
25130         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
25131         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
25132         Reported by Pádraig Brady <P@draigbrady.com>.
25133
25134 2011-01-31  Eric Blake  <eblake@redhat.com>
25135
25136         dup2: work around Haiku bug
25137         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
25138         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
25139         * doc/posix-functions/dup2.texi (dup2): Document the bug.
25140         * tests/test-dup2.c (main): Enhance test.
25141
25142 2011-01-31  Simon Josefsson  <simon@josefsson.org>
25143
25144         doc: off_t is not available in eglibc 2.11.2 stdio.h.
25145         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
25146         declared by eglibc 2.11.2.
25147         * lib/stdio.in.h: Likewise.
25148
25149 2011-01-31  Eric Blake  <eblake@redhat.com>
25150
25151         ignore-value: add missing test dependency
25152         * tests/test-ignore-value.c: Revert previous change; stdio.h
25153         provides off_t.
25154         * modules/ignore-value-tests (Depends-on): Add missing dependency.
25155
25156 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
25157
25158         mktime: clarify long_int width checking
25159         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
25160         the top level, to make it clearer that the assumption about
25161         long_int width is being checked.  See
25162         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
25163
25164 2011-01-30  Simon Josefsson  <simon@josefsson.org>
25165
25166         ignore-value: Fix self-test.
25167         * tests/test-ignore-value.c: Include sys/types.h for off_t.
25168
25169 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
25170
25171         TYPE_MAXIMUM: avoid theoretically undefined behavior
25172         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
25173         negative number, which the C Standard says has undefined behavior.
25174         In practice this is not a problem, but might as well do it by the book.
25175         Reported by Rich Felker and Eric Blake; see
25176         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
25177         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
25178         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
25179         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25180         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
25181         * m4/stdint.m4 (gl_STDINT_H): Likewise.
25182         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
25183
25184         mktime: #undef mktime before #defining it
25185         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
25186
25187         mktime: systematically normalize tm_isdst comparisons
25188         * lib/mktime.c (isdst_differ): New function.
25189         (__mktime_internal): Use it systematically for all isdst comparisons.
25190         This completes the fix for libc BZ #6723, and removes the need for
25191         normalizing tm_isdst.  See
25192         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
25193         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
25194
25195         mktime: fix some integer overflow issues and sidestep the rest
25196
25197         This was prompted by a bug report by Benjamin Lindner for MinGW
25198         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
25199         His bug is due to signed integer overflow (0 - INT_MIN), and I
25200         I scanned through mktime.c looking for other integer overflow
25201         problems, fixing all the bugs I found.
25202
25203         Although the C Standard says the resulting code is still not safe
25204         in the presence of integer overflow, in practice it should be good
25205         enough for all real-world two's-complement implementations, except
25206         for debugging environments that deliberately trap on integer
25207         overflow (e.g., gcc -ftrapv).
25208
25209         * lib/mktime.c (WRAPV): New macro.
25210         (SHR): Also check that long_int and time_t shift right in the
25211         usual way, before using the fast-but-unportable method.
25212         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
25213         used.  The code already assumed two's complement, so there's
25214         no need to test for alternatives.  All uses removed.
25215         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
25216         the C standard.  Problem reported by Rich Felker in
25217         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
25218         (twos_complement_arithmetic): Also check long_int and time_t.
25219         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
25220         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
25221         (__mktime_internal): Avoid integer overflow with unary subtraction
25222         in two instances where -1 - X is an adequate replacement for -X,
25223         since the calculations are approximate.
25224
25225 2011-01-29  Eric Blake  <eblake@redhat.com>
25226
25227         mktime: avoid infinite loop
25228         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
25229         type; behavior is still undefined but portable to all known targets.
25230         Reported by Rich Felker.
25231
25232 2011-01-29  Simon Josefsson  <simon@josefsson.org>
25233
25234         rename, unlink, same-inode: Relicense.
25235         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
25236         * modules/unlink (License): Likewise.
25237         * modules/same-inode (License): Likewise.
25238
25239 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
25240
25241         mktime: avoid problems on NetBSD 5 / i386
25242         * lib/mktime.c (long_int): New type.  This works around a problem
25243         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
25244         but time_t is 64 bits, and where I expect the existing code is
25245         wrong in some cases.
25246         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
25247         (ydhms_diff): Bring back the compile-time check for wide-enough
25248         year and yday.
25249
25250         mktime: fix misspelling in comment
25251         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
25252         This merges all recent glibc changes of importance.
25253
25254 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25255
25256         move-if-change: cope with concurrent mv of identical file.
25257         * build-aux/move-if-change (CMPPROG): Accept environment
25258         variable as an override for `cmp'.
25259         (usage): Document CMPPROG.
25260         Adjust comparison to drop stdout.  Cope with failure of mv if
25261         the target file exists and is identical to the source, for
25262         parallel builds.
25263         Report from H.J. Lu against binutils in PR binutils/12283.
25264
25265 2011-01-28  Bruce Korb  <bkorb@gnu.org>
25266
25267         * users.txt: Mention sharutils.
25268
25269 2011-01-28  Simon Josefsson  <simon@josefsson.org>
25270
25271         * users.txt: Mention OATH Toolkit.
25272
25273 2011-01-27  Bruno Haible  <bruno@clisp.org>
25274
25275         Prepare for supporting FreeBSD 10.
25276         * build-aux/config.libpath: Remove handling of freebsd1*.
25277
25278 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
25279
25280         Prepare for supporting FreeBSD 10.
25281         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
25282         match FreeBSD 10.0.
25283
25284 2011-01-27  Bruno Haible  <bruno@clisp.org>
25285
25286         vma-iter, get-rusage-as: Add OpenBSD support.
25287         * modules/vma-iter (configure.ac): Test for mquery.
25288         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
25289         * lib/vma-iter.c: Include <sys/mman.h>.
25290         (vma_iterate): Add an implementation based on mquery().
25291         * lib/resource-ext.h (get_rusage_as): Update comments.
25292         * lib/get-rusage-as.c: Likewise.
25293         * lib/get-rusage-data.c: Likewise.
25294
25295 2011-01-26  Karl Berry  <karl@gnu.org>
25296
25297         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
25298         variables to make it easier to override the makeinfo program used.
25299
25300 2011-01-26  Eric Blake  <eblake@redhat.com>
25301
25302         fcntl: work around Haiku F_DUPFD bugs
25303         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
25304         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
25305         cloexec bit on duplication.
25306         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
25307
25308 2011-01-26  Bruno Haible  <bruno@clisp.org>
25309
25310         Enable memory leak tests on AIX.
25311         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
25312         * tests/test-fprintf-posix3.c (main): Likewise.
25313
25314 2011-01-26  Bruno Haible  <bruno@clisp.org>
25315
25316         Tests for module 'get-rusage-data'.
25317         * modules/get-rusage-data-tests: New file.
25318         * tests/test-get-rusage-data.c: New file.
25319
25320         New module 'get-rusage-data'.
25321         * lib/resource-ext.h (get_rusage_data): New declaration.
25322         * lib/get-rusage-data.c: New file.
25323         * modules/get-rusage-data: New file.
25324
25325 2011-01-25  Bruno Haible  <bruno@clisp.org>
25326
25327         get-rusage-as: Allow for easier testing.
25328         * lib/resource-ext.h (get_rusage_as): Add comment.
25329         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
25330         (main): New function for interactive testing.
25331
25332 2011-01-25  Bruno Haible  <bruno@clisp.org>
25333
25334         vma-iter: Treat Haiku like BeOS.
25335         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
25336         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
25337
25338 2011-01-25  Eric Blake  <eblake@redhat.com>
25339
25340         c-stack: fix regression on cygwin when libsigsegv is present
25341         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
25342
25343 2011-01-24  Bruno Haible  <bruno@clisp.org>
25344
25345         vma-iter: Avoid empty intervals.
25346         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
25347         on an empty interval.
25348
25349 2011-01-24  Jim Meyering  <meyering@redhat.com>
25350
25351         u64: remove unnecessary #include
25352         * lib/u64.h: Don't include <stddef.h>.  It was not used.
25353
25354 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
25355
25356         Allow the user to avoid the HAVE_RAW_DECL_* macros.
25357         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
25358
25359 2011-01-23  Bruno Haible  <bruno@clisp.org>
25360
25361         New module 'vma-iter'.
25362         * lib/vma-iter.h: New file.
25363         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
25364         * modules/vma-iter: New file.
25365         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
25366         for get_rusage_as_via_iterator.
25367         (vma_iterate_callback): New function.
25368         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
25369         * modules/get-rusage-as (Depends-on): Add vma-iter.
25370
25371 2011-01-23  Bruno Haible  <bruno@clisp.org>
25372
25373         uninorm: Tweak includes.
25374         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
25375         Reported by Jim Meyering.
25376
25377 2011-01-23  Bruno Haible  <bruno@clisp.org>
25378
25379         get-rusage-as: Improve on NetBSD.
25380         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
25381         /proc, like on FreeBSD.
25382
25383 2011-01-23  Jim Meyering  <meyering@redhat.com>
25384
25385         xreadlink.h: remove unnecessary #include
25386         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
25387
25388         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
25389         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
25390
25391 2011-01-23  Bruno Haible  <bruno@clisp.org>
25392
25393         get-rusage-as: Fix bug.
25394         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
25395         original limit when aborting the first loop.
25396
25397 2011-01-23  Bruno Haible  <bruno@clisp.org>
25398
25399         wctype: Ensure valid C syntax.
25400         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
25401         unconditionally, instead of gl_NEXT_HEADERS conditionally.
25402
25403 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
25404
25405         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
25406         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
25407         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
25408         as they are needed only for configure's test case.
25409         This removes two unnecessary symbols from config.h.
25410
25411         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
25412         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
25413         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
25414         AC_CHECK_HEADERS_ONCE on a header that we also invoke
25415         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
25416         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
25417         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
25418         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
25419         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25420         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
25421         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
25422         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25423         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25424         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25425         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
25426         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25427         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25428         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
25429
25430 2011-01-21  Eric Blake  <eblake@redhat.com>
25431
25432         maintainer-makefile: work with older git for submodule check
25433         * top/maint.mk (public-submodule-commit): Rewrite to avoid
25434         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
25435         Reported by Matthias Bolte.
25436
25437         bootstrap: minor portability fixes
25438         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
25439         (usage): Omit leading capital and trailing . on help phrases, per
25440         GNU Coding Standards.
25441         (check_versions, top level): Prefix messages with script name.
25442
25443 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
25444
25445         bootstrap: support --no-git option
25446         * build-aux/bootstrap: Add --no-git option, to be used when
25447         --gnulib-srcdir points to the exact desired checkout.
25448
25449 2011-01-21  Eric Blake  <eblake@redhat.com>
25450
25451         strerror_r-posix: work with glibc 2.13
25452         * lib/strerror_r.c (strerror_r): Fix return type.
25453
25454 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25455             Bruno Haible  <bruno@clisp.org>
25456
25457         uN_strstr: New unit tests.
25458         * modules/unistr/u8-strstr-tests: New file.
25459         * modules/unistr/u16-strstr-tests: New file.
25460         * modules/unistr/u32-strstr-tests: New file.
25461         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
25462         * tests/unistr/test-u8-strstr.c: New file.
25463         * tests/unistr/test-u16-strstr.c: New file.
25464         * tests/unistr/test-u32-strstr.c: New file.
25465
25466 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25467             Bruno Haible  <bruno@clisp.org>
25468
25469         Make uN_strstr functions O(n) worst-case.
25470         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
25471         16-bit and 32-bit unit cases, use the unibyte algorithm from
25472         lib/mbsstr.c.
25473         * lib/unistr/u8-strstr.c: Include <string.h>.
25474         (UNIT_IS_UINT8_T): New macro.
25475         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
25476         (U_STRLEN, U_STRNLEN): New macros.
25477         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
25478         (U_STRLEN, U_STRNLEN): New macros.
25479         * modules/unistr/u8-strstr (Depends-on): Add strstr.
25480         (configure.ac): Update required libunistring version.
25481         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
25482         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
25483         malloca.
25484         (configure.ac): Update required libunistring version.
25485         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
25486         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
25487         malloca.
25488         (configure.ac): Update required libunistring version.
25489
25490 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25491             Bruno Haible  <bruno@clisp.org>
25492
25493         Prepare for faster uN_strstr functions.
25494         * lib/str-kmp.h: Support definable UNITs.
25495         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
25496         needle_len argument.
25497         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
25498         * lib/mbscasestr.c (mbscasestr): Likewise.
25499
25500 2011-01-21  Pádraig Brady <P@draigBrady.com>
25501
25502         malloca-tests: make faster by unsetting MALLOC_PERTURB_
25503         * tests/test-malloca.c (main): Unset the environment variable
25504         to greatly speed up the test.
25505         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
25506         * modules/malloca-tests: Depend on unsetenv.
25507
25508 2011-01-21  Pádraig Brady <P@draigBrady.com>
25509
25510         ignore-value: remove stdint dependency
25511         * lib/ignore-value.h: Remove <stdint.h>
25512         * modules/ignore-value: Remove stdint dependency.
25513
25514 2011-01-21  Jim Meyering  <meyering@redhat.com>
25515
25516         maint.mk: adjust variable name to be consistent with other gl_ vars
25517         * top/maint.mk (gl_public_submodule_commit): Rename the variable
25518         to be lower case.
25519
25520 2011-01-20  Jim Meyering  <meyering@redhat.com>
25521
25522         maint.mk: make "check" depend on public-submodule-commit by default
25523         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
25524
25525 2011-01-20  Bruno Haible  <bruno@clisp.org>
25526
25527         mbfile, mbiter: Complete change from 2008-12-21.
25528         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
25529         * m4/mbiter.m4 (gl_MBITER): Likewise.
25530
25531 2011-01-20  Jim Meyering  <meyering@redhat.com>
25532
25533         init.sh: insert space between each function name and "()"
25534         * tests/init.sh: Make it a little easier to see that a function's
25535         name is "warn_", and not "warn" when looking at the first part of
25536         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
25537
25538 2011-01-20  Jim Meyering  <meyering@redhat.com>
25539
25540         mountlist: clean up code formatting
25541         * lib/mountlist.c (read_file_system_list): Split a long line,
25542         correct bracing style, use NULL in place of "(struct statfs *)0",
25543         don't parenthesize return value, add spaces around "=" and after
25544         ";-in-for-stmt".
25545
25546 2011-01-14  Markus Duft <mduft@gentoo.org>
25547
25548         mountlist: add support for Interix
25549         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
25550         Apply statvfs to all entries of /dev/fs.
25551         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
25552         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
25553
25554 2011-01-20  Jim Meyering  <meyering@redhat.com>
25555
25556         maint.mk: improve the public-submodule-commit rule
25557         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
25558         to suppress printing of its commands... unless V=1.
25559         Add git submodule's --quiet option to suppress printing of e.g.,
25560         "Entering gnulib" output.
25561         "cd" into $(srcdir) before running git submodule.
25562
25563 2011-01-20  Bruno Haible  <bruno@clisp.org>
25564
25565         include_next: Fix bug introduced on 2011-01-18.
25566         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
25567         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
25568         ac_cv_header_... variable if the second argument is not 'check'.
25569         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
25570         gl_NEXT_HEADERS_INTERNAL.
25571
25572 2011-01-20  Bruno Haible  <bruno@clisp.org>
25573
25574         Allow the user to avoid the GNULIB_TEST_* macros.
25575         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
25576         Suggested by Paul Eggert.
25577
25578 2011-01-14  Jim Meyering  <meyering@redhat.com>
25579
25580         bootstrap: avoid failure when there is no .gitmodules file
25581         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
25582         has been assigned to, even when its value is the empty string.
25583         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
25584         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
25585         Reported by John W. Eaton <jwe@gnu.org>.
25586
25587 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
25588
25589         assume <ctype.h>, ..., <time.h> exist
25590         For years gnulib has been assuming the existence of the headers
25591         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
25592         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
25593         them, since they don't appear to be needed.
25594         * README (Portability guidelines): Document this.
25595         * lib/flock.c: Assume <fcntl.h> exists.
25596         * lib/regex_internal.h: Assume <locale.h> exists.
25597         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
25598         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
25599         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
25600         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
25601         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
25602         * m4/regex.m4 (gl_REGEX): Likewise.
25603         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
25604         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
25605         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
25606         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
25607         * tests/test-argp.c: Likewise.
25608         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
25609
25610         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
25611         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
25612         AA_APPLE_UNIVERSAL_BUILD.  See
25613         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
25614         * NEWS: Document this.
25615
25616 2011-01-19  Eric Blake  <eblake@redhat.com>
25617
25618         c-stack: assume stack overflow if SA_SIGINFO unsupported
25619         * lib/c-stack.c (SIGACTION_WORKS): Rename...
25620         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
25621         sigaction will work.
25622         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
25623         behavior match Linux.
25624         * tests/test-c-stack.c (main): Prefer NULL for pointers.
25625
25626         stdbool-tests: accommodate Haiku
25627         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
25628
25629         binary-io: fix O_TEXT on Haiku
25630         * modules/binary-io (Depends-on): Add fcntl-h.
25631         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
25632         than blindly undefining O_TEXT.
25633         Reported by Scott McCreary.
25634
25635 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25636
25637         include_next: do not check for standard headers like stddef.h
25638
25639         I found this problem when modifying Emacs to use gnulib.
25640         I noticed that it added HAVE_STDDEF_H to config.h, even though
25641         gnulib always assumes <stddef.h> exists as per README and this
25642         symbol is unnecessary.
25643         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
25644         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
25645         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
25646         faster for headers like stddef.h that are known to exist.
25647         (gl_CHECK_NEXT_HEADERS): Use it.
25648         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
25649         rather than gl_CHECK_NEXT_HEADERS.
25650         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
25651         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
25652
25653 2011-01-18  Eric Blake  <eblake@redhat.com>
25654
25655         ansi-c++-opt: skip C++ dependency style if C++ is unused
25656         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
25657         tests when we know C++ compilation is not desired.
25658         Reported by Scott McCreary.
25659
25660 2011-01-18  Bruno Haible  <bruno@clisp.org>
25661
25662         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
25663         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
25664         (main): Perform test also when getrlimit and setrlimit don't exist or
25665         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
25666         limiting the address space size using setrlimit, compare the address
25667         space size before and after the the test.
25668         * tests/test-dprintf-posix2.c: Likewise.
25669         * tests/test-fprintf-posix3.sh: Update skip messages.
25670         * tests/test-dprintf-posix2.sh: Likewise.
25671         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
25672         * modules/dprintf-posix-tests (Depends-on): Likewise.
25673         Reported by Bruce Korb <bkorb@gnu.org> and
25674         Gary V. Vaughan <gary@gnu.org>.
25675
25676 2011-01-18  Bruno Haible  <bruno@clisp.org>
25677
25678         get-rusage-as: Improvement for Cygwin.
25679         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
25680         areas that are merely reserved.
25681
25682 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25683
25684         strftime: remove dependencies on multibyte modules
25685
25686         strftime depended on mbrlen, mbsinit, and wchar, but these modules
25687         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
25688         only if __osf__ is defined, and I suspect OSF doesn't need these
25689         other modules.  If my guess is wrong, we'll need to come up with a
25690         variant of strftime that doesn't need the multibyte modules.
25691
25692         I discovered this problem when attempting modify Emacs to use the
25693         strftime module.  With the previous gnulib, this caused Emacs to
25694         need 31 new files, ranging from lib/config.charset to
25695         m4/wint_t.m4.  This was overkill and I expect would be offputting
25696         to the Emacs maintainers.  After this change, only 6 new files are
25697         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
25698         stdbool.m4, and tm_gmtoff.m4.
25699
25700         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
25701         Suggested by Bruno Haible in
25702         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
25703         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
25704         and do not check for wchar.h.
25705         * modules/strftime (Files): Remove m4/mbstate_t.m4.
25706         (Depends-on): Remove mbrlen, mbsinit, wchar.
25707
25708 2011-01-18  Bruno Haible  <bruno@clisp.org>
25709
25710         Tests for module 'get-rusage-as'.
25711         * modules/get-rusage-as-tests: New file.
25712         * tests/test-get-rusage-as.c: New file.
25713
25714         New module 'get-rusage-as'.
25715         * modules/get-rusage-as: New file.
25716         * lib/resource-ext.h: New file.
25717         * lib/get-rusage-as.c: New file.
25718
25719 2011-01-17  Eric Blake  <eblake@redhat.com>
25720
25721         sigaction: relax license from LGPLv3+ to LGPLv2+
25722         * modules/sigaction (License): Relax to LGPLv2+.
25723
25724 2011-01-14  Bruno Haible  <bruno@clisp.org>
25725
25726         filemode: Make function declarations usable in C++ mode.
25727         * lib/filemode.h: Enclose function declarations in extern "C" block.
25728         Reported by John W. Eaton <jwe@gnu.org>.
25729
25730 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
25731
25732         save-cwd: no longer include "xgetcwd.h"
25733         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
25734         This avoids a compilation failure in projects that use save-cwd
25735         without also using the xgetcwd module.
25736
25737 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25738
25739         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
25740         This is so that a program like Emacs, which needs only dtoastr,
25741         does not have to bother with distributing and compiling ftoastr
25742         and ldtoastr.
25743         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
25744         * modules/dtoastr, modules/ldtoastr: New files.
25745         * modules/ftoastr: Now works just for 'float'.
25746         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
25747         (Makefile.am): Remove ftoastr.h (not needed and no effect),
25748         dtoastr.c, ldtoastr.c.
25749
25750 2011-01-11  Jim Meyering  <meyering@redhat.com>
25751
25752         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
25753         There is no need to work around the lack of the fchdir function,
25754         since gnulib can now provide a replacement when required.
25755         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
25756         * modules/save-cwd (Depends-on): Add fchdir.
25757
25758 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25759
25760         openat, save-cwd: avoid xmalloc
25761
25762         This removes a direct (but undocumented) dependency of openat on
25763         xalloc, along with an indirect dependency via save-cwd.  It also
25764         removes a dependency of save-cwd on xgetcwd, and thereby
25765         indirectly on xalloc.  This change causes the openat substitute
25766         to fall back on save_cwd when memory is tight, and for save_cwd to
25767         fail instead of dying when memory is tight, but that's good enough.
25768         Problem and initial idea for fix reported by Bastien Roucaries in
25769         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
25770
25771         * lib/openat-proc.c: Include stdlib.h (for malloc), not
25772         xalloc.h (for xmalloc).
25773         (openat_proc_name): Use malloc, not xmalloc.
25774         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
25775         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
25776
25777         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
25778         This avoids heap allocation for file names whose lengths are in
25779         the range 512..1023, with the upper bound increasing to at most
25780         4031 depending on the platform's PATH_MAX.  (We do not want
25781         pathmax.h here as it might supply a non-constant PATH_MAX.)
25782         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
25783         Perhaps they should be moved to malloca.h?
25784         (OPENAT_BUFFER_SIZE): Use them.
25785
25786 2011-01-10  Bruno Haible  <bruno@clisp.org>
25787
25788         doc: Update users.txt.
25789         * users.txt: Add recutils.
25790
25791 2011-01-09  Karl Berry  <karl@gnu.org>
25792
25793         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
25794
25795         * doc/configmake.texi: New file.
25796         * doc/gnulib.texi: Include it.
25797         * modules/configmake: Move documentation from here.
25798
25799 2011-01-09  Bruno Haible  <bruno@clisp.org>
25800
25801         Update to Unicode 6.0.0.
25802         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
25803         (get_lbp): Update for Unicode 6.0.0.
25804         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
25805         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
25806         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
25807         U+11001, U+11038..U+11046. Remove U+06DE.
25808         (uc_width): Fix bounds of planes.
25809         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25810         lib/uniwidth/width.c.
25811         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
25812         trailing whitespace removed.
25813         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
25814         without comments, but with the original copyright notice.
25815         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
25816         * lib/unicase/ignorable.h: Likewise.
25817         * lib/unicase/tocasefold.h: Likewise.
25818         * lib/unicase/tolower.h: Likewise.
25819         * lib/unicase/totitle.h: Likewise.
25820         * lib/unicase/toupper.h: Likewise.
25821         * lib/unictype/bidi_of.h: Likewise.
25822         * lib/unictype/blocks.h: Likewise.
25823         * lib/unictype/categ_C.h: Likewise.
25824         * lib/unictype/categ_Cn.h: Likewise.
25825         * lib/unictype/categ_L.h: Likewise.
25826         * lib/unictype/categ_Ll.h: Likewise.
25827         * lib/unictype/categ_Lm.h: Likewise.
25828         * lib/unictype/categ_Lo.h: Likewise.
25829         * lib/unictype/categ_Lu.h: Likewise.
25830         * lib/unictype/categ_M.h: Likewise.
25831         * lib/unictype/categ_Mc.h: Likewise.
25832         * lib/unictype/categ_Me.h: Likewise.
25833         * lib/unictype/categ_Mn.h: Likewise.
25834         * lib/unictype/categ_N.h: Likewise.
25835         * lib/unictype/categ_Nd.h: Likewise.
25836         * lib/unictype/categ_No.h: Likewise.
25837         * lib/unictype/categ_P.h: Likewise.
25838         * lib/unictype/categ_Po.h: Likewise.
25839         * lib/unictype/categ_S.h: Likewise.
25840         * lib/unictype/categ_Sc.h: Likewise.
25841         * lib/unictype/categ_Sk.h: Likewise.
25842         * lib/unictype/categ_Sm.h: Likewise.
25843         * lib/unictype/categ_So.h: Likewise.
25844         * lib/unictype/categ_of.h: Likewise.
25845         * lib/unictype/combining.h: Likewise.
25846         * lib/unictype/ctype_alnum.h: Likewise.
25847         * lib/unictype/ctype_alpha.h: Likewise.
25848         * lib/unictype/ctype_graph.h: Likewise.
25849         * lib/unictype/ctype_lower.h: Likewise.
25850         * lib/unictype/ctype_print.h: Likewise.
25851         * lib/unictype/ctype_punct.h: Likewise.
25852         * lib/unictype/ctype_upper.h: Likewise.
25853         * lib/unictype/decdigit.h: Likewise.
25854         * lib/unictype/digit.h: Likewise.
25855         * lib/unictype/numeric.h: Likewise.
25856         * lib/unictype/pr_alphabetic.h: Likewise.
25857         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25858         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25859         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25860         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25861         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25862         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25863         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25864         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25865         * lib/unictype/pr_case_ignorable.h: Likewise.
25866         * lib/unictype/pr_cased.h: Likewise.
25867         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
25868         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
25869         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
25870         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
25871         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
25872         * lib/unictype/pr_combining.h: Likewise.
25873         * lib/unictype/pr_composite.h: Likewise.
25874         * lib/unictype/pr_currency_symbol.h: Likewise.
25875         * lib/unictype/pr_decimal_digit.h: Likewise.
25876         * lib/unictype/pr_deprecated.h: Likewise.
25877         * lib/unictype/pr_format_control.h: Likewise.
25878         * lib/unictype/pr_grapheme_base.h: Likewise.
25879         * lib/unictype/pr_grapheme_extend.h: Likewise.
25880         * lib/unictype/pr_grapheme_link.h: Likewise.
25881         * lib/unictype/pr_id_continue.h: Likewise.
25882         * lib/unictype/pr_id_start.h: Likewise.
25883         * lib/unictype/pr_ideographic.h: Likewise.
25884         * lib/unictype/pr_lowercase.h: Likewise.
25885         * lib/unictype/pr_math.h: Likewise.
25886         * lib/unictype/pr_numeric.h: Likewise.
25887         * lib/unictype/pr_other_alphabetic.h: Likewise.
25888         * lib/unictype/pr_other_id_continue.h: Likewise.
25889         * lib/unictype/pr_other_math.h: Likewise.
25890         * lib/unictype/pr_punctuation.h: Likewise.
25891         * lib/unictype/pr_sentence_terminal.h: Likewise.
25892         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25893         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25894         * lib/unictype/pr_unified_ideograph.h: Likewise.
25895         * lib/unictype/pr_uppercase.h: Likewise.
25896         * lib/unictype/pr_xid_continue.h: Likewise.
25897         * lib/unictype/pr_xid_start.h: Likewise.
25898         * lib/unictype/scripts.h: Likewise.
25899         * lib/unictype/scripts_byname.gperf: Likewise.
25900         * lib/unictype/sy_java_ident.h: Likewise.
25901         * lib/unigbrk/gbrkprop.h: Likewise.
25902         * lib/unilbrk/lbrkprop1.h: Likewise.
25903         * lib/unilbrk/lbrkprop2.h: Likewise.
25904         * lib/uninorm/decomposition-table2.h: Likewise.
25905         * lib/uniwbrk/wbrkprop.h: Likewise.
25906         * tests/unicase/test-cased.c: Likewise.
25907         * tests/unicase/test-ignorable.c: Likewise.
25908         * tests/unicase/test-uc_tolower.c: Likewise.
25909         * tests/unicase/test-uc_totitle.c: Likewise.
25910         * tests/unicase/test-uc_toupper.c: Likewise.
25911         * tests/unictype/test-categ_C.c: Likewise.
25912         * tests/unictype/test-categ_Cn.c: Likewise.
25913         * tests/unictype/test-categ_L.c: Likewise.
25914         * tests/unictype/test-categ_Ll.c: Likewise.
25915         * tests/unictype/test-categ_Lm.c: Likewise.
25916         * tests/unictype/test-categ_Lo.c: Likewise.
25917         * tests/unictype/test-categ_Lu.c: Likewise.
25918         * tests/unictype/test-categ_M.c: Likewise.
25919         * tests/unictype/test-categ_Mc.c: Likewise.
25920         * tests/unictype/test-categ_Me.c: Likewise.
25921         * tests/unictype/test-categ_Mn.c: Likewise.
25922         * tests/unictype/test-categ_N.c: Likewise.
25923         * tests/unictype/test-categ_Nd.c: Likewise.
25924         * tests/unictype/test-categ_No.c: Likewise.
25925         * tests/unictype/test-categ_P.c: Likewise.
25926         * tests/unictype/test-categ_Po.c: Likewise.
25927         * tests/unictype/test-categ_S.c: Likewise.
25928         * tests/unictype/test-categ_Sc.c: Likewise.
25929         * tests/unictype/test-categ_Sk.c: Likewise.
25930         * tests/unictype/test-categ_Sm.c: Likewise.
25931         * tests/unictype/test-categ_So.c: Likewise.
25932         * tests/unictype/test-ctype_alnum.c: Likewise.
25933         * tests/unictype/test-ctype_alpha.c: Likewise.
25934         * tests/unictype/test-ctype_graph.c: Likewise.
25935         * tests/unictype/test-ctype_lower.c: Likewise.
25936         * tests/unictype/test-ctype_print.c: Likewise.
25937         * tests/unictype/test-ctype_punct.c: Likewise.
25938         * tests/unictype/test-ctype_upper.c: Likewise.
25939         * tests/unictype/test-decdigit.h: Likewise.
25940         * tests/unictype/test-digit.h: Likewise.
25941         * tests/unictype/test-numeric.h: Likewise.
25942         * tests/unictype/test-pr_alphabetic.c: Likewise.
25943         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25944         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
25945         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
25946         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25947         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25948         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25949         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25950         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25951         * tests/unictype/test-pr_case_ignorable.c: Likewise.
25952         * tests/unictype/test-pr_cased.c: Likewise.
25953         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
25954         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
25955         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
25956         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
25957         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
25958         * tests/unictype/test-pr_combining.c: Likewise.
25959         * tests/unictype/test-pr_composite.c: Likewise.
25960         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25961         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25962         * tests/unictype/test-pr_deprecated.c: Likewise.
25963         * tests/unictype/test-pr_format_control.c: Likewise.
25964         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25965         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25966         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25967         * tests/unictype/test-pr_id_continue.c: Likewise.
25968         * tests/unictype/test-pr_id_start.c: Likewise.
25969         * tests/unictype/test-pr_ideographic.c: Likewise.
25970         * tests/unictype/test-pr_lowercase.c: Likewise.
25971         * tests/unictype/test-pr_math.c: Likewise.
25972         * tests/unictype/test-pr_numeric.c: Likewise.
25973         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25974         * tests/unictype/test-pr_other_id_continue.c: Likewise.
25975         * tests/unictype/test-pr_other_math.c: Likewise.
25976         * tests/unictype/test-pr_punctuation.c: Likewise.
25977         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25978         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25979         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25980         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25981         * tests/unictype/test-pr_uppercase.c: Likewise.
25982         * tests/unictype/test-pr_xid_continue.c: Likewise.
25983         * tests/unictype/test-pr_xid_start.c: Likewise.
25984         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
25985         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
25986         changes.
25987         * lib/unictype/categ_Cc.h: Likewise.
25988         * lib/unictype/categ_Cf.h: Likewise.
25989         * lib/unictype/categ_Co.h: Likewise.
25990         * lib/unictype/categ_Cs.h: Likewise.
25991         * lib/unictype/categ_Lt.h: Likewise.
25992         * lib/unictype/categ_Nl.h: Likewise.
25993         * lib/unictype/categ_Pc.h: Likewise.
25994         * lib/unictype/categ_Pd.h: Likewise.
25995         * lib/unictype/categ_Pe.h: Likewise.
25996         * lib/unictype/categ_Pf.h: Likewise.
25997         * lib/unictype/categ_Pi.h: Likewise.
25998         * lib/unictype/categ_Ps.h: Likewise.
25999         * lib/unictype/categ_Z.h: Likewise.
26000         * lib/unictype/categ_Zl.h: Likewise.
26001         * lib/unictype/categ_Zp.h: Likewise.
26002         * lib/unictype/categ_Zs.h: Likewise.
26003         * lib/unictype/ctype_blank.h: Likewise.
26004         * lib/unictype/ctype_cntrl.h: Likewise.
26005         * lib/unictype/ctype_digit.h: Likewise.
26006         * lib/unictype/ctype_space.h: Likewise.
26007         * lib/unictype/ctype_xdigit.h: Likewise.
26008         * lib/unictype/mirror.h: Likewise.
26009         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26010         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26011         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26012         * lib/unictype/pr_bidi_control.h: Likewise.
26013         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26014         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26015         * lib/unictype/pr_bidi_european_digit.h: Likewise.
26016         * lib/unictype/pr_bidi_pdf.h: Likewise.
26017         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26018         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26019         * lib/unictype/pr_dash.h: Likewise.
26020         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26021         * lib/unictype/pr_diacritic.h: Likewise.
26022         * lib/unictype/pr_extender.h: Likewise.
26023         * lib/unictype/pr_hex_digit.h: Likewise.
26024         * lib/unictype/pr_hyphen.h: Likewise.
26025         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26026         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26027         * lib/unictype/pr_ignorable_control.h: Likewise.
26028         * lib/unictype/pr_iso_control.h: Likewise.
26029         * lib/unictype/pr_join_control.h: Likewise.
26030         * lib/unictype/pr_left_of_pair.h: Likewise.
26031         * lib/unictype/pr_line_separator.h: Likewise.
26032         * lib/unictype/pr_logical_order_exception.h: Likewise.
26033         * lib/unictype/pr_non_break.h: Likewise.
26034         * lib/unictype/pr_not_a_character.h: Likewise.
26035         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26036         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26037         * lib/unictype/pr_other_id_start.h: Likewise.
26038         * lib/unictype/pr_other_lowercase.h: Likewise.
26039         * lib/unictype/pr_other_uppercase.h: Likewise.
26040         * lib/unictype/pr_paired_punctuation.h: Likewise.
26041         * lib/unictype/pr_paragraph_separator.h: Likewise.
26042         * lib/unictype/pr_pattern_syntax.h: Likewise.
26043         * lib/unictype/pr_pattern_white_space.h: Likewise.
26044         * lib/unictype/pr_private_use.h: Likewise.
26045         * lib/unictype/pr_quotation_mark.h: Likewise.
26046         * lib/unictype/pr_radical.h: Likewise.
26047         * lib/unictype/pr_soft_dotted.h: Likewise.
26048         * lib/unictype/pr_space.h: Likewise.
26049         * lib/unictype/pr_titlecase.h: Likewise.
26050         * lib/unictype/pr_variation_selector.h: Likewise.
26051         * lib/unictype/pr_white_space.h: Likewise.
26052         * lib/unictype/pr_zero_width.h: Likewise.
26053         * lib/unictype/sy_c_ident.h: Likewise.
26054         * lib/unictype/sy_c_whitespace.h: Likewise.
26055         * lib/unictype/sy_java_whitespace.h: Likewise.
26056         * lib/uninorm/composition-table.gperf: Likewise.
26057         * lib/uninorm/decomposition-table1.h: Likewise.
26058         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
26059         LB8.
26060         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26061         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26062         * modules/unictype/*: Bump version number of expected libunistring
26063         version.
26064
26065 2011-01-09  Bruno Haible  <bruno@clisp.org>
26066
26067         Update to Unicode 5.2.0.
26068         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
26069         trailing whitespace removed.
26070
26071 2011-01-09  Bruno Haible  <bruno@clisp.org>
26072
26073         New Unicode character properties, from Unicode 5.2.0.
26074         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
26075         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
26076         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
26077         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
26078         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
26079         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
26080         uc_is_property_cased, uc_is_property_case_ignorable,
26081         uc_is_property_changes_when_lowercased,
26082         uc_is_property_changes_when_uppercased,
26083         uc_is_property_changes_when_titlecased,
26084         uc_is_property_changes_when_casefolded,
26085         uc_is_property_changes_when_casemapped): New declarations.
26086         * lib/unictype/pr_byname.gperf: Add the new properties.
26087         * modules/unictype/property-byname (Depends-on): Depend on the new
26088         properties modules.
26089         * modules/unictype/property-all (Depends-on): Likewise.
26090         * MODULES.html.sh (Unicode string functions): Add
26091         unictype/property-case-ignorable, unictype/property-cased,
26092         unictype/property-changes-when-casefolded,
26093         unictype/property-changes-when-casemapped,
26094         unictype/property-changes-when-lowercased,
26095         unictype/property-changes-when-titlecased,
26096         unictype/property-changes-when-uppercased.
26097
26098         New module 'unictype/property-changes-when-casemapped'.
26099         * modules/unictype/property-changes-when-casemapped: New file.
26100         * lib/unictype/pr_changes_when_casemapped.c: New file.
26101         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
26102         generated by gen-uni-tables.
26103         * modules/unictype/property-changes-when-casemapped-tests: New file.
26104         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
26105         automatically generated by gen-uni-tables.
26106
26107         New module 'unictype/property-changes-when-casefolded'.
26108         * modules/unictype/property-changes-when-casefolded: New file.
26109         * lib/unictype/pr_changes_when_casefolded.c: New file.
26110         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
26111         generated by gen-uni-tables.
26112         * modules/unictype/property-changes-when-casefolded-tests: New file.
26113         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
26114         automatically generated by gen-uni-tables.
26115
26116         New module 'unictype/property-changes-when-titlecased'.
26117         * modules/unictype/property-changes-when-titlecased: New file.
26118         * lib/unictype/pr_changes_when_titlecased.c: New file.
26119         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
26120         generated by gen-uni-tables.
26121         * modules/unictype/property-changes-when-titlecased-tests: New file.
26122         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
26123         automatically generated by gen-uni-tables.
26124
26125         New module 'unictype/property-changes-when-uppercased'.
26126         * modules/unictype/property-changes-when-uppercased: New file.
26127         * lib/unictype/pr_changes_when_uppercased.c: New file.
26128         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
26129         generated by gen-uni-tables.
26130         * modules/unictype/property-changes-when-uppercased-tests: New file.
26131         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
26132         automatically generated by gen-uni-tables.
26133
26134         New module 'unictype/property-changes-when-lowercased'.
26135         * modules/unictype/property-changes-when-lowercased: New file.
26136         * lib/unictype/pr_changes_when_lowercased.c: New file.
26137         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
26138         generated by gen-uni-tables.
26139         * modules/unictype/property-changes-when-lowercased-tests: New file.
26140         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
26141         automatically generated by gen-uni-tables.
26142
26143         New module 'unictype/property-case-ignorable'.
26144         * modules/unictype/property-case-ignorable: New file.
26145         * lib/unictype/pr_case_ignorable.c: New file.
26146         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
26147         by gen-uni-tables.
26148         * modules/unictype/property-case-ignorable-tests: New file.
26149         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
26150         generated by gen-uni-tables.
26151
26152         New module 'unictype/property-cased'.
26153         * modules/unictype/property-cased: New file.
26154         * lib/unictype/pr_cased.c: New file.
26155         * lib/unictype/pr_cased.h: New file, automatically generated by
26156         gen-uni-tables.
26157         * modules/unictype/property-cased-tests: New file.
26158         * tests/unictype/test-pr_cased.c: New file, automatically generated by
26159         gen-uni-tables.
26160
26161 2011-01-09  Bruno Haible  <bruno@clisp.org>
26162
26163         Update to Unicode 5.2.0.
26164         * lib/gen-uni-tables.c (output_predicate, output_category,
26165         output_combclass, output_bidi_category, output_decimal_digit_test,
26166         output_decimal_digit, output_digit_test, output_digit,
26167         output_numeric_test, output_numeric, output_mirror, output_scripts,
26168         output_scripts_byname, output_blocks, output_ident_category): Fix
26169         comment header.
26170         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
26171         get_wbp.
26172         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
26173         items.
26174         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
26175         Changes_When_Lowercased, Changes_When_Uppercased,
26176         Changes_When_Titlecased, Changes_When_Casefolded,
26177         Changes_When_Casemapped.
26178         (is_property_alphabetic, is_property_default_ignorable_code_point):
26179         Update for Unicode 5.2.0.
26180         (is_property_cased, is_property_case_ignorable,
26181         is_property_changes_when_lowercased,
26182         is_property_changes_when_uppercased,
26183         is_property_changes_when_titlecased,
26184         is_property_changes_when_casefolded,
26185         is_property_changes_when_casemapped): New functions.
26186         (output_properties): Output also the properties cased, case_ignorable,
26187         changes_when_lowercased, changes_when_uppercased,
26188         changes_when_titlecased, changes_when_casefolded,
26189         changes_when_casemapped.
26190         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
26191         Unicode TR#11 revision 17 -> 19.
26192         (LBP_CP): New enumeration value.
26193         (LBP_*): Adjust values accordingly.
26194         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
26195         TR#14 revision 22 -> 24.
26196         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
26197         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
26198         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
26199         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
26200         is_WBP_MIDLETTER.
26201         (output_composition_tables): Allow for 24 bits instead of 16 bits in
26202         the code1 and code2 of each composition rule.
26203         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
26204         * lib/unicase/ignorable.h: Likewise.
26205         * lib/unicase/tocasefold.h: Likewise.
26206         * lib/unicase/tolower.h: Likewise.
26207         * lib/unicase/totitle.h: Likewise.
26208         * lib/unicase/toupper.h: Likewise.
26209         * lib/unictype/bidi_of.h: Likewise.
26210         * lib/unictype/blocks.h: Likewise.
26211         * lib/unictype/categ_C.h: Likewise.
26212         * lib/unictype/categ_Cf.h: Likewise.
26213         * lib/unictype/categ_Cn.h: Likewise.
26214         * lib/unictype/categ_L.h: Likewise.
26215         * lib/unictype/categ_Ll.h: Likewise.
26216         * lib/unictype/categ_Lm.h: Likewise.
26217         * lib/unictype/categ_Lo.h: Likewise.
26218         * lib/unictype/categ_Lu.h: Likewise.
26219         * lib/unictype/categ_M.h: Likewise.
26220         * lib/unictype/categ_Mc.h: Likewise.
26221         * lib/unictype/categ_Mn.h: Likewise.
26222         * lib/unictype/categ_N.h: Likewise.
26223         * lib/unictype/categ_Nd.h: Likewise.
26224         * lib/unictype/categ_Nl.h: Likewise.
26225         * lib/unictype/categ_No.h: Likewise.
26226         * lib/unictype/categ_P.h: Likewise.
26227         * lib/unictype/categ_Pd.h: Likewise.
26228         * lib/unictype/categ_Po.h: Likewise.
26229         * lib/unictype/categ_S.h: Likewise.
26230         * lib/unictype/categ_Sc.h: Likewise.
26231         * lib/unictype/categ_So.h: Likewise.
26232         * lib/unictype/categ_of.h: Likewise.
26233         * lib/unictype/combining.h: Likewise.
26234         * lib/unictype/ctype_alnum.h: Likewise.
26235         * lib/unictype/ctype_alpha.h: Likewise.
26236         * lib/unictype/ctype_graph.h: Likewise.
26237         * lib/unictype/ctype_lower.h: Likewise.
26238         * lib/unictype/ctype_print.h: Likewise.
26239         * lib/unictype/ctype_punct.h: Likewise.
26240         * lib/unictype/ctype_upper.h: Likewise.
26241         * lib/unictype/decdigit.h: Likewise.
26242         * lib/unictype/digit.h: Likewise.
26243         * lib/unictype/numeric.h: Likewise.
26244         * lib/unictype/pr_alphabetic.h: Likewise.
26245         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
26246         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
26247         * lib/unictype/pr_bidi_european_digit.h: Likewise.
26248         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
26249         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
26250         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
26251         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
26252         * lib/unictype/pr_combining.h: Likewise.
26253         * lib/unictype/pr_composite.h: Likewise.
26254         * lib/unictype/pr_currency_symbol.h: Likewise.
26255         * lib/unictype/pr_dash.h: Likewise.
26256         * lib/unictype/pr_decimal_digit.h: Likewise.
26257         * lib/unictype/pr_deprecated.h: Likewise.
26258         * lib/unictype/pr_diacritic.h: Likewise.
26259         * lib/unictype/pr_extender.h: Likewise.
26260         * lib/unictype/pr_grapheme_base.h: Likewise.
26261         * lib/unictype/pr_grapheme_extend.h: Likewise.
26262         * lib/unictype/pr_grapheme_link.h: Likewise.
26263         * lib/unictype/pr_id_continue.h: Likewise.
26264         * lib/unictype/pr_id_start.h: Likewise.
26265         * lib/unictype/pr_ideographic.h: Likewise.
26266         * lib/unictype/pr_ignorable_control.h: Likewise.
26267         * lib/unictype/pr_logical_order_exception.h: Likewise.
26268         * lib/unictype/pr_lowercase.h: Likewise.
26269         * lib/unictype/pr_numeric.h: Likewise.
26270         * lib/unictype/pr_other_alphabetic.h: Likewise.
26271         * lib/unictype/pr_punctuation.h: Likewise.
26272         * lib/unictype/pr_sentence_terminal.h: Likewise.
26273         * lib/unictype/pr_terminal_punctuation.h: Likewise.
26274         * lib/unictype/pr_unassigned_code_value.h: Likewise.
26275         * lib/unictype/pr_unified_ideograph.h: Likewise.
26276         * lib/unictype/pr_uppercase.h: Likewise.
26277         * lib/unictype/pr_xid_continue.h: Likewise.
26278         * lib/unictype/pr_xid_start.h: Likewise.
26279         * lib/unictype/pr_zero_width.h: Likewise.
26280         * lib/unictype/scripts.h: Likewise.
26281         * lib/unictype/scripts_byname.gperf: Likewise.
26282         * lib/unictype/sy_java_ident.h: Likewise.
26283         * lib/unigbrk/gbrkprop.h: Likewise.
26284         * lib/unilbrk/lbrkprop1.h: Likewise.
26285         * lib/unilbrk/lbrkprop2.h: Likewise.
26286         * lib/unilbrk/lbrktables.h: Likewise.
26287         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
26288         LBP_CP. Implement rule LB30.
26289         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
26290         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
26291         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
26292         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
26293         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
26294         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
26295         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
26296         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
26297         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
26298         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
26299         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
26300         bits instead of 16 bits in the code1 and code2 of each composition
26301         rule.
26302         (uc_composition): Update for Unicode 5.2.0.
26303         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
26304         * lib/uninorm/decomposition-table2.h: Likewise.
26305         * lib/uniwbrk/wbrkprop.h: Likewise.
26306         * tests/unicase/test-cased.c: Likewise.
26307         * tests/unicase/test-ignorable.c: Likewise.
26308         * tests/unicase/test-uc_tolower.c: Likewise.
26309         * tests/unicase/test-uc_totitle.c: Likewise.
26310         * tests/unicase/test-uc_toupper.c: Likewise.
26311         * tests/unictype/test-categ_C.c: Likewise.
26312         * tests/unictype/test-categ_Cf.c: Likewise.
26313         * tests/unictype/test-categ_Cn.c: Likewise.
26314         * tests/unictype/test-categ_L.c: Likewise.
26315         * tests/unictype/test-categ_Ll.c: Likewise.
26316         * tests/unictype/test-categ_Lm.c: Likewise.
26317         * tests/unictype/test-categ_Lo.c: Likewise.
26318         * tests/unictype/test-categ_Lu.c: Likewise.
26319         * tests/unictype/test-categ_M.c: Likewise.
26320         * tests/unictype/test-categ_Mc.c: Likewise.
26321         * tests/unictype/test-categ_Mn.c: Likewise.
26322         * tests/unictype/test-categ_N.c: Likewise.
26323         * tests/unictype/test-categ_Nd.c: Likewise.
26324         * tests/unictype/test-categ_Nl.c: Likewise.
26325         * tests/unictype/test-categ_No.c: Likewise.
26326         * tests/unictype/test-categ_P.c: Likewise.
26327         * tests/unictype/test-categ_Pd.c: Likewise.
26328         * tests/unictype/test-categ_Po.c: Likewise.
26329         * tests/unictype/test-categ_S.c: Likewise.
26330         * tests/unictype/test-categ_Sc.c: Likewise.
26331         * tests/unictype/test-categ_So.c: Likewise.
26332         * tests/unictype/test-ctype_alnum.c: Likewise.
26333         * tests/unictype/test-ctype_alpha.c: Likewise.
26334         * tests/unictype/test-ctype_graph.c: Likewise.
26335         * tests/unictype/test-ctype_lower.c: Likewise.
26336         * tests/unictype/test-ctype_print.c: Likewise.
26337         * tests/unictype/test-ctype_punct.c: Likewise.
26338         * tests/unictype/test-ctype_upper.c: Likewise.
26339         * tests/unictype/test-decdigit.h: Likewise.
26340         * tests/unictype/test-digit.h: Likewise.
26341         * tests/unictype/test-numeric.h: Likewise.
26342         * tests/unictype/test-pr_alphabetic.c: Likewise.
26343         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26344         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26345         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
26346         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26347         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26348         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26349         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26350         * tests/unictype/test-pr_combining.c: Likewise.
26351         * tests/unictype/test-pr_composite.c: Likewise.
26352         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26353         * tests/unictype/test-pr_dash.c: Likewise.
26354         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26355         * tests/unictype/test-pr_deprecated.c: Likewise.
26356         * tests/unictype/test-pr_diacritic.c: Likewise.
26357         * tests/unictype/test-pr_extender.c: Likewise.
26358         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26359         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26360         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26361         * tests/unictype/test-pr_id_continue.c: Likewise.
26362         * tests/unictype/test-pr_id_start.c: Likewise.
26363         * tests/unictype/test-pr_ideographic.c: Likewise.
26364         * tests/unictype/test-pr_ignorable_control.c: Likewise.
26365         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
26366         * tests/unictype/test-pr_lowercase.c: Likewise.
26367         * tests/unictype/test-pr_numeric.c: Likewise.
26368         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26369         * tests/unictype/test-pr_punctuation.c: Likewise.
26370         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26371         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26372         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26373         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26374         * tests/unictype/test-pr_uppercase.c: Likewise.
26375         * tests/unictype/test-pr_xid_continue.c: Likewise.
26376         * tests/unictype/test-pr_xid_start.c: Likewise.
26377         * tests/unictype/test-pr_zero_width.c: Likewise.
26378         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
26379         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
26380         changed behaviour: line breaking is now disallowed between a letter
26381         or '=' and '('.
26382         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26383         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26384         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
26385         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
26386         * tests/uniwidth/test-uc_width2.sh: Same updates as in
26387         lib/uniwidth/width.c.
26388         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
26389         without comments, but with the original copyright notice.
26390         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
26391         changes.
26392         * lib/unictype/categ_Cc.h: Likewise.
26393         * lib/unictype/categ_Co.h: Likewise.
26394         * lib/unictype/categ_Cs.h: Likewise.
26395         * lib/unictype/categ_Lt.h: Likewise.
26396         * lib/unictype/categ_Me.h: Likewise.
26397         * lib/unictype/categ_Pc.h: Likewise.
26398         * lib/unictype/categ_Pe.h: Likewise.
26399         * lib/unictype/categ_Pf.h: Likewise.
26400         * lib/unictype/categ_Pi.h: Likewise.
26401         * lib/unictype/categ_Ps.h: Likewise.
26402         * lib/unictype/categ_Sk.h: Likewise.
26403         * lib/unictype/categ_Sm.h: Likewise.
26404         * lib/unictype/categ_Z.h: Likewise.
26405         * lib/unictype/categ_Zl.h: Likewise.
26406         * lib/unictype/categ_Zp.h: Likewise.
26407         * lib/unictype/categ_Zs.h: Likewise.
26408         * lib/unictype/ctype_blank.h: Likewise.
26409         * lib/unictype/ctype_cntrl.h: Likewise.
26410         * lib/unictype/ctype_digit.h: Likewise.
26411         * lib/unictype/ctype_space.h: Likewise.
26412         * lib/unictype/ctype_xdigit.h: Likewise.
26413         * lib/unictype/mirror.h: Likewise.
26414         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26415         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
26416         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26417         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
26418         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26419         * lib/unictype/pr_bidi_control.h: Likewise.
26420         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26421         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26422         * lib/unictype/pr_bidi_pdf.h: Likewise.
26423         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26424         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26425         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26426         * lib/unictype/pr_format_control.h: Likewise.
26427         * lib/unictype/pr_hex_digit.h: Likewise.
26428         * lib/unictype/pr_hyphen.h: Likewise.
26429         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26430         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26431         * lib/unictype/pr_iso_control.h: Likewise.
26432         * lib/unictype/pr_join_control.h: Likewise.
26433         * lib/unictype/pr_left_of_pair.h: Likewise.
26434         * lib/unictype/pr_line_separator.h: Likewise.
26435         * lib/unictype/pr_math.h: Likewise.
26436         * lib/unictype/pr_non_break.h: Likewise.
26437         * lib/unictype/pr_not_a_character.h: Likewise.
26438         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26439         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26440         * lib/unictype/pr_other_id_continue.h: Likewise.
26441         * lib/unictype/pr_other_id_start.h: Likewise.
26442         * lib/unictype/pr_other_lowercase.h: Likewise.
26443         * lib/unictype/pr_other_math.h: Likewise.
26444         * lib/unictype/pr_other_uppercase.h: Likewise.
26445         * lib/unictype/pr_paired_punctuation.h: Likewise.
26446         * lib/unictype/pr_paragraph_separator.h: Likewise.
26447         * lib/unictype/pr_pattern_syntax.h: Likewise.
26448         * lib/unictype/pr_pattern_white_space.h: Likewise.
26449         * lib/unictype/pr_private_use.h: Likewise.
26450         * lib/unictype/pr_quotation_mark.h: Likewise.
26451         * lib/unictype/pr_radical.h: Likewise.
26452         * lib/unictype/pr_soft_dotted.h: Likewise.
26453         * lib/unictype/pr_space.h: Likewise.
26454         * lib/unictype/pr_titlecase.h: Likewise.
26455         * lib/unictype/pr_variation_selector.h: Likewise.
26456         * lib/unictype/pr_white_space.h: Likewise.
26457         * lib/unictype/sy_c_ident.h: Likewise.
26458         * lib/unictype/sy_c_whitespace.h: Likewise.
26459         * lib/unictype/sy_java_whitespace.h: Likewise.
26460         * modules/uni*/*: Bump version number of expected libunistring version.
26461         Reported by Simon Josefsson.
26462
26463 2011-01-09  Karl Heuer  <kwzh@gnu.org>
26464
26465         useless-if-before-free: fix typo in --help and make the internal,
26466         automatic version date update process work once again.
26467         --help output contained a NUL character instead of the
26468         backslash-zero that was intended.  Also, the "must lie within
26469         the first 8 lines" line is on line 9, and hence not getting
26470         automatically updated.
26471         * build-aux/useless-if-before-free: Fix the former by adding a
26472         backslash, and the latter by condensing the three lines of what-it-does
26473         to a single line, leaving one line of slack for the future.
26474
26475 2011-01-09  Bruno Haible  <bruno@clisp.org>
26476
26477         uniwidth/width: Fix width of U+1D173..U+1D17A.
26478         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
26479         symbolic_width, output_width_property_test): New functions.
26480         (main): Invoke output_nonspacing_property, output_width_property_test.
26481         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
26482         U+1D173..U+1D17A.
26483         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
26484         1.
26485         * modules/uniwidth/*: Bump version number of expected libunistring
26486         version.
26487         * modules/unilbrk/*: Likewise.
26488
26489 2011-01-08  Bruno Haible  <bruno@clisp.org>
26490
26491         uninorm tests: Preserve copyright of Unicode data file.
26492         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
26493         Mention modifications.
26494
26495 2011-01-08  Bruno Haible  <bruno@clisp.org>
26496
26497         gen-uni-tables: Prepare for Unicode 5.2.0.
26498         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
26499         (debug_output_lbp, output_lbp): Update.
26500
26501 2011-01-08  Bruno Haible  <bruno@clisp.org>
26502
26503         unilbrk: Clarify gen-uni-tables.c code.
26504         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
26505         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
26506         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
26507
26508 2011-01-07  Bruno Haible  <bruno@clisp.org>
26509
26510         strtod: Restore errno when successfully parsing Infinity or NaN.
26511         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
26512         restore the original errno.
26513
26514 2011-01-07  Bruno Haible  <bruno@clisp.org>
26515
26516         remove test: Avoid failure on HP-UX 11.
26517         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
26518
26519 2011-01-07  Bruno Haible  <bruno@clisp.org>
26520
26521         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
26522         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
26523         error code.
26524
26525 2011-01-07  Pádraig Brady <P@draigBrady.com>
26526
26527         ignore-value: fixup comments, and add Eric Blake
26528         as an author since he rewrote the macros.
26529         * lib/ignore-value.h (ignore_value):  State that
26530         we now support aggregates.  Also specify exactly
26531         when the GCC warn_unused_result feature was added.
26532
26533 2011-01-06  Eric Blake  <eblake@redhat.com>
26534
26535         ignore-value: support aggregate types
26536         * lib/ignore-value.h (ignore_value): Provide separate gcc
26537         definition.
26538         * modules/ignore-value-tests: New test module.
26539         * tests/test-ignore-value.c: New test.
26540
26541         maint.mk: improve sc_prohibit_strcmp regex
26542         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
26543         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
26544         definition of STRNEQ.
26545
26546         signal: work around Haiku issue with SIGBUS
26547         * lib/siglist.h: Add comment.
26548         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
26549         strsignal's favoring of SIGSEGV.
26550         * tests/test-signal.c (main): Avoid test failure.
26551         * doc/posix-headers/signal.texi (signal.h): Document the issue.
26552         Reported by Scott McCreary.
26553
26554         maint.mk: add pre-release check to ensure submodule commits are public
26555         * top/maint.mk (public-submodule-commit): New rule.
26556         (submodule-checks): New variable.
26557         (alpha beta stable): Depend on the variable.
26558
26559 2011-01-05  Pádraig Brady <P@draigBrady.com>
26560         and Jim Meyering  <meyering@redhat.com>
26561
26562         ignore-value: make ignore_value more generic; deprecate ignore_ptr
26563         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
26564         (ATTRIBUTE_DEPRECATED): Define.
26565         (_ignore_case): New function.
26566         (ignore_value): New macro, to replace the old function.
26567         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
26568         * modules/ignore-value (Depends-on): Add stdint.
26569
26570 2011-01-04  Eric Blake  <eblake@redhat.com>
26571
26572         doc: regenerate INSTALL
26573         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
26574         @firstparagraphindent support, now that autoconf dropped it.
26575         (INSTALL_PRELUDE): Reinstate old macro.
26576         * doc/install.texi: Resync from autoconf.
26577         * doc/INSTALL: Reflect recent autoconf update.
26578         * doc/INSTALL.ISO: Likewise.
26579         * doc/INSTALL.UTF-8: Likewise.
26580         Reported by Karl Berry.
26581
26582 2011-01-04  Bruce Korb  <address@hidden>
26583
26584         git-version-gen: avoid a sub-shell
26585         * build-aux/git-version-gen: Redirect stderr in `...` via
26586         "exec 2>...", rather than via an added sub-shell.
26587
26588 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
26589
26590         git-version-gen: use (...) rather than sh -c '...'
26591         * build-aux/git-version-gen: Rather than hard-coding a shell's name
26592         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
26593
26594 2011-01-03  Jim Meyering  <meyering@redhat.com>
26595
26596         git-version-gen: convert leading TABs to spaces
26597         * build-aux/git-version-gen: Expand leading TABs.
26598
26599         git-version-gen: handle failed "git rev-list"
26600         * build-aux/git-version-gen: Rather than leaking a "fatal" error
26601         from git and proceeding as if it had succeeded but printed no SHA1
26602         checksums, suppress the diagnostic and handle the failure.
26603         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
26604
26605         git-version-gen: include command name in one more diagnostic
26606         * build-aux/git-version-gen: When the required .tarball-version file
26607         was missing or unreadable, you might see the diagnostic from "cat",
26608         but no trace of the name of the invoking script.  Now, you still see
26609         the diagnostic from cat, but also get one from "git-version-gen: ".
26610         Inspired by a patch from Bruce Korb.
26611
26612         update-copyright: adjust test to match changed code
26613         * tests/test-update-copyright.sh: Change test's expected output
26614         to match new actual output.
26615
26616 2011-01-02  Bruno Haible  <bruno@clisp.org>
26617
26618         getlogin_r: Avoid test failure on HP-UX 11.
26619         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
26620         ERANGE when the second argument is zero.
26621         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
26622         portability problem.
26623
26624 2011-01-02  Bruce Korb  <bkorb@gnu.org>
26625
26626         * build-aux/update-copyright: doc Simon's changes
26627
26628 2011-01-02  Simon Josefsson  <simon@josefsson.org>
26629
26630         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
26631         environment variable.
26632
26633 2011-01-02  Bruno Haible  <bruno@clisp.org>
26634
26635         unigbrk: Avoid gcc warnings.
26636         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
26637         unused variable.
26638         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
26639         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
26640         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
26641         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
26642         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
26643         Change type of first argument to 'const char *'.
26644         (main): Remove unused variable.
26645         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
26646         type of first argument to 'const char *'.
26647         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
26648         Likewise.
26649         (main): Change type of variable 's'.
26650         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
26651         to 'int'.
26652
26653 2011-01-02  Bruno Haible  <bruno@clisp.org>
26654
26655         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
26656         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
26657         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
26658         bug.
26659         * lib/pwrite.c: Undo 2010-12-31 patch.
26660         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
26661
26662 2011-01-02  Bruno Haible  <bruno@clisp.org>
26663
26664         pread: Fix test whether it works.
26665         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
26666
26667 2011-01-02  Bruno Haible  <bruno@clisp.org>
26668
26669         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
26670         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
26671         ends in "6". Don't require a specific month name. Try also the locale
26672         names found on HP-UX 11 and Solaris 7.
26673
26674 2011-01-02  Bruno Haible  <bruno@clisp.org>
26675
26676         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
26677         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
26678         C linkage.
26679         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
26680
26681 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26682
26683         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
26684         for consistency, since the "cluster" term is not used elsewhere.
26685         * lib/unigbrk.in.h: Update name.
26686         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
26687         * lib/unigbrk/u16-grapheme-next.c: Update name.
26688         * lib/unigbrk/u16-grapheme-prev.c: Update name.
26689         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
26690         * lib/unigbrk/u32-grapheme-next.c: Update name.
26691         * lib/unigbrk/u32-grapheme-prev.c: Update name.
26692         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
26693         * lib/unigbrk/u8-grapheme-next.c: Update name.
26694         * lib/unigbrk/u8-grapheme-prev.c: Update name.
26695         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
26696         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
26697         Suggested by Bruno Haible.
26698
26699 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26700
26701         Remove module 'u8-grapheme-len' as too redundant with
26702         'u8-grapheme-next'.
26703         * modules/unigbrk/u8-grapheme-len: Delete file.
26704         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
26705         * lib/unigbrk.in.h: Remove prototype for deleted function.
26706         * lib/unigbrk/u8-grapheme-len.c: Delete file.
26707         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
26708
26709         Remove module 'u16-grapheme-len' as too redundant with
26710         'u16-grapheme-next'.
26711         * modules/unigbrk/u16-grapheme-len: Delete file.
26712         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
26713         * lib/unigbrk.in.h: Remove prototype for deleted function.
26714         * lib/unigbrk/u16-grapheme-len.c: Delete file.
26715         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
26716
26717         Remove module 'u32-grapheme-len' as too redundant with
26718         'u32-grapheme-next'.
26719         * modules/unigbrk/u32-grapheme-len: Delete file.
26720         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
26721         * lib/unigbrk.in.h: Remove prototype for deleted function.
26722         * lib/unigbrk/u32-grapheme-len.c: Delete file.
26723         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
26724
26725         Suggested by Bruno Haible.
26726
26727 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26728
26729         * unigbrk.in.h: Fix typo: "ben" => "been".
26730         Reported by Bruno Haible.
26731
26732 2011-01-01  Jim Meyering  <meyering@redhat.com>
26733
26734         maint: update almost all copyright ranges to include 2011
26735         Run the new "make update-copyright" rule.
26736
26737 2011-01-01  Jim Meyering  <meyering@redhat.com>
26738
26739         maint: update-copyright: exempt doc/INSTALL*
26740         * Makefile (update-copyright): Also exclude doc/INSTALL*,
26741         since they are generated.  Suggested by Bruno Haible.
26742
26743 2011-01-01  Jim Meyering  <meyering@redhat.com>
26744
26745         maint: refine the update-copyright rule
26746         * Makefile (update-copyright): Also exclude any file that includes
26747         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
26748         code that merely generates the comment.
26749
26750 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26751
26752         New module 'u8-grapheme-len'.
26753         * modules/unigbrk/u8-grapheme-len: New file.
26754         * modules/unigbrk/u8-grapheme-len-tests: New file.
26755         * lib/unigbrk.in.h: Add prototype for new function.
26756         * lib/unigbrk/u8-grapheme-len.c: New file.
26757         * tests/unigbrk/test-u8-grapheme-len.c: New file.
26758
26759         New module 'u16-grapheme-len'.
26760         * modules/unigbrk/u16-grapheme-len: New file.
26761         * modules/unigbrk/u16-grapheme-len-tests: New file.
26762         * lib/unigbrk.in.h: Add prototype for new function.
26763         * lib/unigbrk/u16-grapheme-len.c: New file.
26764         * tests/unigbrk/test-u16-grapheme-len.c: New file.
26765
26766         New module 'u32-grapheme-len'.
26767         * modules/unigbrk/u32-grapheme-len: New file.
26768         * modules/unigbrk/u32-grapheme-len-tests: New file.
26769         * lib/unigbrk.in.h: Add prototype for new function.
26770         * lib/unigbrk/u32-grapheme-len.c: New file.
26771         * tests/unigbrk/test-u32-grapheme-len.c: New file.
26772
26773         New module 'u8-grapheme-next'.
26774         * modules/unigbrk/u8-grapheme-next: New file.
26775         * modules/unigbrk/u8-grapheme-next-tests: New file.
26776         * lib/unigbrk.in.h: Add prototype for new function.
26777         * lib/unigbrk/u8-grapheme-next.c: New file.
26778         * tests/unigbrk/test-u8-grapheme-next.c: New file.
26779
26780         New module 'u16-grapheme-next'.
26781         * modules/unigbrk/u16-grapheme-next: New file.
26782         * modules/unigbrk/u16-grapheme-next-tests: New file.
26783         * lib/unigbrk.in.h: Add prototype for new function.
26784         * lib/unigbrk/u16-grapheme-next.c: New file.
26785         * tests/unigbrk/test-u16-grapheme-next.c: New file.
26786
26787         New module 'u32-grapheme-next'.
26788         * modules/unigbrk/u32-grapheme-next: New file.
26789         * modules/unigbrk/u32-grapheme-next-tests: New file.
26790         * lib/unigbrk.in.h: Add prototype for new function.
26791         * lib/unigbrk/u32-grapheme-next.c: New file.
26792         * tests/unigbrk/test-u32-grapheme-next.c: New file.
26793
26794         New module 'u8-grapheme-prev'.
26795         * modules/unigbrk/u8-grapheme-prev: New file.
26796         * modules/unigbrk/u8-grapheme-prev-tests: New file.
26797         * lib/unigbrk.in.h: Add prototype for new function.
26798         * lib/unigbrk/u8-grapheme-prev.c: New file.
26799         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
26800
26801         New module 'u16-grapheme-prev'.
26802         * modules/unigbrk/u16-grapheme-prev: New file.
26803         * modules/unigbrk/u16-grapheme-prev-tests: New file.
26804         * lib/unigbrk.in.h: Add prototype for new function.
26805         * lib/unigbrk/u16-grapheme-prev.c: New file.
26806         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
26807
26808         New module 'u32-grapheme-prev'.
26809         * modules/unigbrk/u32-grapheme-prev: New file.
26810         * modules/unigbrk/u32-grapheme-prev-tests: New file.
26811         * lib/unigbrk.in.h: Add prototype for new function.
26812         * lib/unigbrk/u32-grapheme-prev.c: New file.
26813         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
26814
26815         New module 'u8-grapheme-breaks'.
26816         * modules/unigbrk/u8-grapheme-breaks: New file.
26817         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
26818         * lib/unigbrk.in.h: Add prototype for new function.
26819         * lib/unigbrk/u8-grapheme-breaks.c: New file.
26820         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
26821
26822         New module 'u16-grapheme-breaks'.
26823         * modules/unigbrk/u16-grapheme-breaks: New file.
26824         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
26825         * lib/unigbrk.in.h: Add prototype for new function.
26826         * lib/unigbrk/u16-grapheme-breaks.c: New file.
26827         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
26828
26829         New module 'u32-grapheme-breaks'.
26830         * modules/unigbrk/u32-grapheme-breaks: New file.
26831         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
26832         * lib/unigbrk.in.h: Add prototype for new function.
26833         * lib/unigbrk/u32-grapheme-breaks.c: New file.
26834         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
26835
26836         New module 'ulc-grapheme-breaks'.
26837         * modules/unigbrk/ulc-grapheme-breaks: New file.
26838         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
26839         * m4/locale-ar.m4: New file.
26840         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
26841         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
26842         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
26843
26844 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26845
26846         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
26847         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
26848         modified how this file was generated before I initially submitted
26849         the module, but failed to regenerate it.  This meant that several
26850         of the level2 entries were wrong.
26851         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
26852         Remove the division-by-2 that is folded into the table now that
26853         gbrkprop.h has been regenerated properly.  Now -1 entries are
26854         handled correctly.
26855
26856         New module 'unigbrk/uc-gbrk-prop-tests'.
26857         * modules/unigbrk/uc-gbrk-prop-tests: New file.
26858         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
26859         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
26860         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
26861
26862 2011-01-01  Bruno Haible  <bruno@clisp.org>
26863
26864         Avoid use of hexadecimal escapes.
26865         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
26866         instead of hexadecimal escapes.
26867
26868 2011-01-01  Jim Meyering  <meyering@redhat.com>
26869
26870         maint: new rule to update copyright year ranges
26871         * Makefile (update-copyright): New rule.
26872
26873         maint: indent with TABs in Makefile
26874         * Makefile: Expand leading sequences of spaces to TABs
26875
26876         version-etc: update the copyright year it reports
26877         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
26878
26879 2010-12-31  Bruno Haible  <bruno@clisp.org>
26880
26881         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
26882         * lib/isfinite.c (zerof, zerod, zerol): New variables.
26883         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
26884         zero.
26885
26886 2010-12-31  Bruno Haible  <bruno@clisp.org>
26887
26888         pwrite: Work around HP-UX 11.11 bug.
26889         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
26890         works and set REPLACE_PWRITE if not.
26891         * lib/pwrite.c (pwrite): Add an implementation that uses the system
26892         function.
26893         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
26894
26895 2010-12-31  Bruno Haible  <bruno@clisp.org>
26896
26897         pread: Work around HP-UX 11 bugs.
26898         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
26899         and set REPLACE_PREAD if not.
26900         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
26901
26902 2010-12-31  Eric Blake  <eblake@redhat.com>
26903
26904         nl_langinfo: fix YESEXPR on Irix 6.5
26905         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
26906         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
26907         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
26908         it.
26909
26910 2010-12-31  Bruno Haible  <bruno@clisp.org>
26911
26912         iconv: Document HP-UX 11 bug.
26913         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
26914
26915 2010-12-31  Bruno Haible  <bruno@clisp.org>
26916
26917         ldexpl: Fix link error on HP-UX 11.
26918         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
26919         LDEXPL_LIBM, using $ISNANL_LIBM.
26920
26921 2010-12-31  Eric Blake  <eblake@redhat.com>
26922
26923         ftello: avoid compilation failure with SunStudio c89
26924         * lib/ftello.c (ftello): Use lseek, not llseek.
26925
26926         tests: avoid failing coreutils tests on cygwin
26927         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
26928         (create_exe_shims_): Return 0 when skipping.
26929
26930 2010-12-31  Bruno Haible  <bruno@clisp.org>
26931
26932         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
26933         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
26934
26935 2010-12-31  Bruno Haible  <bruno@clisp.org>
26936
26937         waitpid: Fix link error in C++ mode.
26938         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
26939
26940 2010-12-31  Bruno Haible  <bruno@clisp.org>
26941
26942         isnan: Use GCC built-ins when possible.
26943         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
26944         __builtin_isnan.
26945         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
26946         (isnan): Define using GCC built-ins for GCC >= 4.0.
26947
26948 2010-12-31  Bruno Haible  <bruno@clisp.org>
26949
26950         isnand: Fix mistake.
26951         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
26952         __builtin_isnand.
26953
26954 2010-12-31  Bruno Haible  <bruno@clisp.org>
26955
26956         open: Avoid C++ error on HP-UX 11.
26957         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
26958
26959 2010-12-31  Bruno Haible  <bruno@clisp.org>
26960
26961         time_r: Add missing declarations on HP-UX 11.
26962         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
26963         instead of HAVE_LOCALTIME_R.
26964         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
26965         HAVE_LOCALTIME_R always.
26966         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
26967         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
26968         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
26969         HAVE_LOCALTIME_R.
26970         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
26971         * doc/posix-functions/localtime_r.texi: Likewise.
26972
26973 2010-12-29  Eric Blake  <eblake@redhat.com>
26974
26975         mountlist: tweak previous commit
26976         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
26977         Reported by Paul Eggert.
26978
26979         mountlist: fix local drive detection on cygwin
26980         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
26981         that works for cygwin.
26982
26983 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26984
26985         ftoastr, snprintf: ftoastr + snprintf module
26986         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
26987         since the snprintf module now should be good enough here.
26988         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
26989         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
26990         and gl_MODULE_INDICATOR([snprintf]), but the former enables
26991         GNULIB_SNPRINTF only for the test directory, and the latter
26992         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
26993         seems to suffice by itself.
26994
26995 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
26996
26997         alloca: one step towards thread-safety
26998         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
26999         need for a static variable.  All callers changed.  This does not
27000         make the alloca replacement thread-safe, but it's one step.
27001
27002         tests: minor indenting change
27003         * tests/init.sh: Sync from coreutils housekeeping patch
27004         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
27005         to keep lines within 80 columns.
27006
27007 2010-12-28  Jim Meyering  <meyering@redhat.com>
27008
27009         regex: don't infloop on persistent failing calloc
27010         * lib/regexec.c (build_trtable): Return failure indication upon
27011         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
27012         In glibc, this was fixed for version 2.13:
27013         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
27014
27015 2010-12-28  Bruno Haible  <bruno@clisp.org>
27016             Paul Eggert <eggert@cs.ucla.edu>
27017
27018         linkat: Make implementation robust against system behaviour variations.
27019         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
27020         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
27021         way, and to -2 if it needs a generic runtime test.
27022         * lib/linkat.c (solaris_optimized_link_immediate,
27023         solaris_optimized_link_follow): New functions.
27024         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
27025         (check_same_link): Use it.
27026
27027 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
27028
27029         New module 'unigbrk/base'.
27030         * modules/unigbrk/base: New file.
27031         * lib/unigbrk.in.h: New file.
27032
27033         New module 'unigbrk/uc-gbrk-prop'.
27034         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
27035         * modules/unigbrk/uc-gbrk-prop: New file.
27036         * lib/unigbrk/gbrkprop.h: New file.
27037         * lib/unigbrk/uc-gbrk-prop.c: New file.
27038
27039         New module 'unigbrk/uc-is-grapheme-break'.
27040         * modules/unigbrk/uc-is-grapheme-break: New file.
27041         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
27042         * lib/unigbrk/uc-is-grapheme-break.c: New file.
27043         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
27044         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
27045         * tests/unigbrk/GraphemeBreakTest.txt: New file.
27046
27047         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
27048
27049 2010-12-27  Bruno Haible  <bruno@clisp.org>
27050
27051         linkat test: Avoid failure on Solaris 11 2010-11.
27052         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
27053
27054 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
27055
27056         utimens: work around glibc rounding bug on more platforms
27057         * lib/utimens.c (fdutimens): Work around rounding bug even if
27058         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
27059         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
27060
27061 2010-12-27  Bruno Haible  <bruno@clisp.org>
27062
27063         select tests: Improve comments.
27064         * tests/test-select.c (do_select): Add comments.
27065
27066 2010-12-27  Bruno Haible  <bruno@clisp.org>
27067
27068         select tests: Safer way of handling timeout.
27069         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
27070         at every invocation.
27071
27072 2010-12-27  Bruno Haible  <bruno@clisp.org>
27073
27074         select tests: Use 'bool' where appropriate.
27075         * tests/test-select.c (connect_to_socket): Change argument type to
27076         'bool'.
27077
27078 2010-12-27  Bruno Haible  <bruno@clisp.org>
27079
27080         select tests: Use existing modules.
27081         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
27082         (configure.ac): Don't test for unistd.h.
27083         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
27084         declared in <unistd.h>.
27085
27086 2010-12-27  Bruno Haible  <bruno@clisp.org>
27087
27088         mbrtowc: Work around a Solaris 7 bug.
27089         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
27090         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
27091         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
27092         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
27093         MBRTOWC_NULL_ARG1_BUG.
27094         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
27095         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
27096         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
27097         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
27098
27099 2010-12-27  Jim Meyering  <meyering@redhat.com>
27100
27101         read-file.c: tweak syntax
27102         * lib/read-file.c (fread_file): Remove space after "*" in function
27103         definitions.
27104
27105 2010-12-27  Bruno Haible  <bruno@clisp.org>
27106
27107         times test: Avoid gcc warnings on OSF/1.
27108         * tests/test-times.c (main): Cast printf arguments from clock_t to
27109         'long int'.
27110
27111 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
27112
27113         utimens: work around glibc rounding bug on older Linux kernels
27114         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
27115         on Linux with a glibc whose utimes might not work, then work
27116         around a longstanding glibc bug involving rounding rather than
27117         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
27118         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
27119
27120 2010-12-26  Bruno Haible  <bruno@clisp.org>
27121
27122         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
27123         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
27124         _GL_CXXALIAS_SYS.
27125         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27126
27127 2010-12-26  Bruno Haible  <bruno@clisp.org>
27128
27129         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
27130         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
27131         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
27132         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
27133         looking for the declaration.
27134         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
27135         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
27136         problem.
27137         * doc/posix-functions/inet_pton.texi: Likewise.
27138
27139 2010-12-26  Bruno Haible  <bruno@clisp.org>
27140
27141         arpa_inet: Use the common idioms with C++ support.
27142         * lib/arpa_inet.in.h: Include c++defs.h.
27143         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
27144         support.
27145         * modules/arpa_inet (Depends-on): Add c++defs.
27146         (Makefile.am): Substitute the contents of c++defs.h.
27147         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
27148         * modules/arpa_inet-c++-tests: New file.
27149         * tests/test-arpa_inet-c++.cc: New file.
27150
27151 2010-12-25  Bruno Haible  <bruno@clisp.org>
27152
27153         Fix more C++ link errors on Solaris 8.
27154         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
27155         $(LIB_EACCESS).
27156         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
27157         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
27158         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
27159         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
27160         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
27161
27162 2010-12-25  Bruno Haible  <bruno@clisp.org>
27163
27164         printf-posix: Fix link error when a non-GCC compiler is used.
27165         * lib/stdio.in.h (printf): When not using GCC, override printf
27166         correctly.
27167         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27168
27169 2010-12-25  Bruno Haible  <bruno@clisp.org>
27170
27171         strerror_r-posix: Update doc.
27172         * doc/posix-functions/strerror_r.texi: Update doc about the return
27173         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
27174
27175 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
27176
27177         utimens: simplify the logic of the previous change
27178         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
27179         This should not affect whether the test succeeds or fails.
27180
27181         utimens: configure better on hosts with NFS clock skew
27182         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
27183         uses the clock of the local host.  It might use the clock of the
27184         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
27185         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
27186
27187 2010-12-25  Bruno Haible  <bruno@clisp.org>
27188
27189         ptsname test: Avoid failure on Solaris.
27190         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
27191         open a pseudo-terminal; don't use BSD-style ptys.
27192         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
27193
27194 2010-12-25  Bruno Haible  <bruno@clisp.org>
27195
27196         ptsname: Avoid ERANGE failure on some systems.
27197         * lib/ptsname.c (buffer): Increase size.
27198
27199 2010-12-25  Bruno Haible  <bruno@clisp.org>
27200
27201         rename, renameat: Avoid test failures at NFS mounted locations.
27202         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
27203         so that subsequent mkdir calls succeed.
27204
27205 2010-12-25  Bruno Haible  <bruno@clisp.org>
27206
27207         iswblank: Fix C++ link error on Solaris 8.
27208         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
27209         _GL_FUNCDECL_SYS.
27210
27211 2010-12-25  Bruno Haible  <bruno@clisp.org>
27212
27213         unistd: Fix C++ link error on Solaris 8.
27214         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
27215
27216 2010-12-25  Bruno Haible  <bruno@clisp.org>
27217
27218         readlink doc: Mention an old glibc bug.
27219         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
27220
27221 2010-12-25  Bruno Haible  <bruno@clisp.org>
27222
27223         fcntl-h: Fix for use of C++ on glibc systems.
27224         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
27225         also on glibc systems in C++ mode.
27226         Reported by Gary V. Vaughan <gary@gnu.org>.
27227
27228 2010-12-25  Bruno Haible  <bruno@clisp.org>
27229
27230         roundl-ieee: Make it work on OSF/1 5.1 with cc.
27231         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
27232
27233 2010-12-25  Bruno Haible  <bruno@clisp.org>
27234
27235         truncl-ieee: Make it work on OSF/1 5.1 with cc.
27236         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
27237         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
27238         test whether truncl works according to ISO C 99 with IEC 60559.
27239         * m4/truncl-ieee.m4: New file.
27240         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
27241         m4/signbit.m4.
27242         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
27243
27244 2010-12-25  Bruno Haible  <bruno@clisp.org>
27245
27246         ceill-ieee: Make it work on OSF/1 5.1 with cc.
27247         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
27248         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
27249         test whether ceill works according to ISO C 99 with IEC 60559.
27250         * m4/ceill-ieee.m4: New file.
27251         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
27252         m4/signbit.m4.
27253         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
27254
27255 2010-12-25  Bruno Haible  <bruno@clisp.org>
27256
27257         Ensure all prerequisites of <wchar.h> are included.
27258         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
27259         before <wchar.h>.
27260         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
27261         gl_MBRLEN_NUL_RETVAL): Likewise.
27262         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
27263         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
27264         AC_FUNC_MBRTOWC): Likewise.
27265         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27266         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
27267         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27268         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
27269         Likewise.
27270         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27271         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
27272         (gl_WCHAR_H): Improve comments.
27273         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
27274
27275 2010-12-25  Bruno Haible  <bruno@clisp.org>
27276
27277         strtok_r: Fix C syntax error in autoconf macro.
27278         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
27279         characters in test program.
27280
27281 2010-12-24  Bruno Haible  <bruno@clisp.org>
27282
27283         ceil, trunc, round: Fix gcc warnings.
27284         * lib/ceil.c (MIN): Undefine before redefining.
27285         * lib/trunc.c (MIN): Likewise.
27286         * lib/round.c (MIN): Likewise.
27287         Include <math.h> first.
27288
27289 2010-12-24  Bruno Haible  <bruno@clisp.org>
27290
27291         select tests: Avoid failures on OSF/1 5.1.
27292         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
27293         failure of closing the last socket; it may fail with ECONNRESET.
27294
27295 2010-12-24  Eric Blake  <eblake@redhat.com>
27296
27297         stdint: avoid HP-UX 10.20 preprocessor bug
27298         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
27299         than #if.
27300         * tests/test-floor2.c (main): Likewise.
27301         Reported by Peter O'Gorman.
27302
27303         pipe: make obsoletion transition easier
27304         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
27305         * modules/pipe (Files): Include revived file.
27306         (Include): Drop reference, to mirror getdate's behavior.
27307
27308 2010-12-24  Bruno Haible  <bruno@clisp.org>
27309
27310         sys_socket: Hide mismatch of declarations on NonStop Kernel.
27311         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
27312         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
27313         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27314
27315 2010-12-24  Bruno Haible  <bruno@clisp.org>
27316
27317         gethostname: Ensure declaration on NonStop Kernel.
27318         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
27319         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27320
27321 2010-12-24  Bruno Haible  <bruno@clisp.org>
27322
27323         sys_select: Ensure all necessary types on NonStop Kernel.
27324         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
27325         include <sys/time.h>.
27326         * doc/posix-headers/sys_select.texi: Mention that it's missing on
27327         NonStop Kernel.
27328         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27329
27330 2010-12-24  Bruno Haible  <bruno@clisp.org>
27331
27332         sys_select: Remove unneeded include.
27333         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
27334         have <sys/select.h>.
27335
27336 2010-12-24  Bruno Haible  <bruno@clisp.org>
27337
27338         gethostname: Provide a fallback for HOST_NAME_MAX.
27339         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
27340         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
27341         instead.
27342         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27343
27344 2010-12-24  Bruno Haible  <bruno@clisp.org>
27345
27346         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
27347         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
27348         (SA_RESTART): Likewise.
27349         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27350
27351 2010-12-24  Bruno Haible  <bruno@clisp.org>
27352
27353         signal: Define NSIG.
27354         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
27355         * tests/test-signal.c (nsig): New variable.
27356         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27357
27358 2010-12-24  Bruno Haible  <bruno@clisp.org>
27359
27360         rename, renameat: Avoid test failures on OSF/1 5.1.
27361         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
27362         alternative error codes.
27363         * tests/test-renameat.c (main): Likewise.
27364
27365 2010-12-24  Bruno Haible  <bruno@clisp.org>
27366
27367         *printf: Detect large precisions bug on Solaris 10/SPARC.
27368         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
27369         by Paul Eggert.
27370         * tests/test-snprintf-posix.h (test_function): Add this test code here
27371         too.
27372         * tests/test-sprintf-posix.h (test_function): Likewise.
27373         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27374         * tests/test-vasprintf-posix.c (test_function): Likewise.
27375         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
27376         around by gnulib.
27377         * doc/posix-functions/printf.texi: Likewise.
27378         * doc/posix-functions/snprintf.texi: Likewise.
27379         * doc/posix-functions/sprintf.texi: Likewise.
27380         * doc/posix-functions/vfprintf.texi: Likewise.
27381         * doc/posix-functions/vprintf.texi: Likewise.
27382         * doc/posix-functions/vsnprintf.texi: Likewise.
27383         * doc/posix-functions/vsprintf.texi: Likewise.
27384         * doc/posix-functions/dprintf.texi: Undo last commit.
27385         * doc/posix-functions/vdprintf.texi: Likewise.
27386
27387 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
27388
27389         tests: port test-fdutimensat.c to Solaris 8
27390         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
27391         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
27392         On Solaris 8, it fails with errno == ENOSYS, because there is no
27393         futimens (so it can't use the fd), and there is no lutimens (so it
27394         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
27395
27396         vsnprintf: make more consistent with snprintf; doc fixes
27397
27398         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
27399         the byte count return problem was promoted from the snprintf-posix
27400         to the snprintf module.
27401         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
27402         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
27403         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
27404         * tests/test-snprintf.c (main): Check the byte count returned.
27405         * tests/test-vsnprintf.c (main): Likewise.
27406
27407 2010-12-23  Eric Blake  <eblake@redhat.com>
27408
27409         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
27410         * modules/sigpipe (License): Relax license.
27411
27412 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27413
27414         doc: document Solaris printf bug with large float precisions
27415         * doc/posix-functions/dprintf.texi (dprintf):
27416         * doc/posix-functions/fprintf.texi (fprintf):
27417         * doc/posix-functions/printf.texi (printf):
27418         * doc/posix-functions/snprintf.texi (snprintf):
27419         * doc/posix-functions/sprintf.texi (sprintf):
27420         * doc/posix-functions/vdprintf.texi (vdprintf):
27421         * doc/posix-functions/vfprintf.texi (vfprintf):
27422         * doc/posix-functions/vprintf.texi (vprintf):
27423         * doc/posix-functions/vsnprintf.texi (vsnprintf):
27424         * doc/posix-functions/vsprintf.texi (vsprintf):
27425         Mention that these functions mishandle large floating point
27426         precisions on Solaris 10.  The same bug is also present in Solaris
27427         8, and I assume earlier.  This causes "cd gnulib-tests; make
27428         check" to fail on Solaris 8 (and I assume, later) when building
27429         the latest coreutils, in test-vasprintf-posix's call to
27430         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
27431         the wide flavors (e.g., wprintf) so this patch just updates the
27432         documentation for the narrow ones.
27433
27434         test-posixtm.c: add two tests
27435         * tests/test-posixtm.c: Add two tests, to highlight the
27436         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
27437         around this bug; this is merely to document it.
27438
27439 2010-12-22  Bruno Haible  <bruno@clisp.org>
27440
27441         getlogin_r: Work around portability problem on OSF/1.
27442         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
27443         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
27444         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
27445         test for a truncated result.
27446         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
27447         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
27448         * modules/getlogin_r (Depends-on): Add memchr.
27449         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
27450
27451 2010-12-22  Bruno Haible  <bruno@clisp.org>
27452
27453         ptsname: Avoid test failure on OSF/1 5.1.
27454         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
27455         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
27456         (same_slave): New function.
27457         (main): Use it to compare ptsname's result with the expected file name.
27458
27459 2010-12-22  Bruno Haible  <bruno@clisp.org>
27460
27461         Port extended stdio modules to HP NonStop Kernel.
27462         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
27463         macros.
27464         * lib/fbufmode.c: Update comments.
27465         * lib/fflush.c: Likewise.
27466         * lib/fpurge.c: Likewise.
27467         * lib/freadable.c: Likewise.
27468         * lib/freadahead.c: Likewise.
27469         * lib/freading.c: Likewise.
27470         * lib/freadptr.c: Likewise.
27471         * lib/freadseek.c: Likewise.
27472         * lib/fseeko.c: Likewise.
27473         * lib/fseterr.c: Likewise.
27474         * lib/fwritable.c: Likewise.
27475         * lib/fwriting.c: Likewise.
27476         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27477
27478 2010-12-22  Bruno Haible  <bruno@clisp.org>
27479
27480         ttyname_r: Work around bug on OSF/1 5.1.
27481         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
27482         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
27483         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
27484         present.
27485         * lib/ttyname_r.c (ttyname_r): Update comments.
27486
27487 2010-12-22  Bruno Haible  <bruno@clisp.org>
27488
27489         round: Implement result sign according to IEEE 754.
27490         * lib/round.c (MIN, MINUS_ZERO): New macros.
27491         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
27492         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
27493         * tests/test-round-ieee.c (main): Likewise.
27494         * tests/test-roundl-ieee.c (main): Likewise.
27495
27496         trunc: Implement result sign according to IEEE 754.
27497         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
27498         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
27499         * tests/test-trunc2.c: Include minus-zero.h.
27500         (MINUS_ZERO): New macro.
27501         (trunc_reference): Keep in sync with lib/trunc.c.
27502         * tests/test-truncf2.c: Include minus-zero.h.
27503         (MINUS_ZERO): New macro.
27504         (truncf_reference): Keep in sync with lib/trunc.c.
27505         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
27506         * tests/test-trunc-ieee.c (main): Likewise.
27507         * tests/test-truncl-ieee.c (main): Likewise.
27508
27509         ceil: Implement result sign according to IEEE 754.
27510         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
27511         (FUNC): Return -0.0 for -1 < x < 0.
27512         * tests/test-ceil2.c: Include minus-zero.h.
27513         (MINUS_ZERO): New macro.
27514         (ceil_reference): Keep in sync with lib/ceil.c.
27515         * tests/test-ceilf2.c: Include minus-zero.h.
27516         (MINUS_ZERO): New macro.
27517         (ceilf_reference): Keep in sync with lib/ceil.c.
27518         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
27519         * tests/test-ceil-ieee.c (main): Likewise.
27520         * tests/test-ceill-ieee.c (main): Likewise.
27521
27522         floor: Implement result sign according to IEEE 754.
27523         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
27524         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
27525         * tests/test-floorf2.c (floorf_reference): Likewise.
27526         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
27527         * tests/test-floor-ieee.c (main): Likewise.
27528         * tests/test-floorl-ieee.c (main): Likewise.
27529
27530 2010-12-22  Bruno Haible  <bruno@clisp.org>
27531
27532         getaddrinfo: Update doc.
27533         * doc/posix-functions/gai_strerror.texi: Return type is also different
27534         on AIX and HP-UX.
27535
27536 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27537
27538         getaddrinfo, inet_ntop: Update doc for Solaris.
27539         * doc/posix-functions/gai_strerror.texi: Return type is also an
27540         issue on Solaris 9 and earlier.
27541         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
27542         on Solaris 10 and earlier.
27543
27544 2010-12-21  Bruno Haible  <bruno@clisp.org>
27545
27546         New module 'roundl-ieee'.
27547         * modules/roundl-ieee: New file.
27548         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
27549         test whether roundl works according to ISO C 99 with IEC 60559.
27550         * m4/roundl-ieee.m4: New file.
27551         * modules/roundl-ieee-tests: New file.
27552         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
27553         * tests/test-roundl.c (main): Remove signbit tests.
27554         * modules/roundl-tests (Depends-on): Remove signbit.
27555         * doc/posix-functions/roundl.texi: Mention the new module.
27556
27557 2010-12-21  Bruno Haible  <bruno@clisp.org>
27558
27559         New module 'truncl-ieee'.
27560         * modules/truncl-ieee: New file.
27561         * modules/truncl-ieee-tests: New file.
27562         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
27563         * tests/test-truncl.c (main): Remove signbit tests.
27564         * modules/truncl-tests (Depends-on): Remove signbit.
27565         * doc/posix-functions/truncl.texi: Mention the new module.
27566
27567 2010-12-21  Bruno Haible  <bruno@clisp.org>
27568
27569         New module 'ceill-ieee'.
27570         * modules/ceill-ieee: New file.
27571         * modules/ceill-ieee-tests: New file.
27572         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
27573         * tests/test-ceill.c (main): Remove signbit tests.
27574         * modules/ceill-tests (Depends-on): Remove signbit.
27575         * doc/posix-functions/ceill.texi: Mention the new module.
27576
27577 2010-12-21  Bruno Haible  <bruno@clisp.org>
27578
27579         New module 'floorl-ieee'.
27580         * modules/floorl-ieee: New file.
27581         * modules/floorl-ieee-tests: New file.
27582         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
27583         * tests/test-floorl.c (main): Remove signbit tests.
27584         * modules/floorl-tests (Depends-on): Remove signbit.
27585         * doc/posix-functions/floorl.texi: Mention the new module.
27586
27587 2010-12-21  Bruno Haible  <bruno@clisp.org>
27588
27589         New module 'round-ieee'.
27590         * modules/round-ieee: New file.
27591         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
27592         whether round works according to ISO C 99 with IEC 60559.
27593         * m4/round-ieee.m4: New file.
27594         * modules/round-ieee-tests: New file.
27595         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
27596         * tests/test-round1.c (main): Remove signbit tests.
27597         * modules/round-tests (Depends-on): Remove 'signbit'.
27598         * doc/posix-functions/round.texi: Mention the new module.
27599
27600 2010-12-21  Bruno Haible  <bruno@clisp.org>
27601
27602         New module 'trunc-ieee'.
27603         * modules/trunc-ieee: New file.
27604         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
27605         whether trunc works according to ISO C 99 with IEC 60559.
27606         * m4/trunc-ieee.m4: New file.
27607         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
27608         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
27609         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
27610         * modules/trunc-ieee-tests: New file.
27611         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
27612         * tests/test-trunc1.c (main): Remove signbit tests.
27613         * modules/trunc-tests (Depends-on): Remove 'signbit'.
27614         * doc/posix-functions/trunc.texi: Mention the new module.
27615
27616 2010-12-21  Bruno Haible  <bruno@clisp.org>
27617
27618         New module 'ceil-ieee'.
27619         * modules/ceil-ieee: New file.
27620         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
27621         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
27622         ISO C 99 with IEC 60559.
27623         * m4/ceil-ieee.m4: New file.
27624         * modules/ceil (Files): Add lib/ceil.c.
27625         (Depends-on): Add 'float'.
27626         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27627         * lib/math.in.h (ceil): New declaration.
27628         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
27629         REPLACE_CEIL.
27630         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
27631         * modules/ceil-ieee-tests: New file.
27632         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
27633         * tests/test-math-c++.cc: Check the signature of 'ceil'.
27634         * doc/posix-functions/ceil.texi: Mention the new module.
27635
27636 2010-12-21  Bruno Haible  <bruno@clisp.org>
27637
27638         New module 'floor-ieee'.
27639         * modules/floor-ieee: New file.
27640         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
27641         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
27642         ISO C 99 with IEC 60559.
27643         * m4/floor-ieee.m4: New file.
27644         * modules/floor (Files): Add lib/floor.c.
27645         (Depends-on): Add 'float'.
27646         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27647         * lib/math.in.h (floor): New declaration.
27648         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
27649         REPLACE_FLOOR.
27650         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
27651         * modules/floor-ieee-tests: New file.
27652         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
27653         * tests/test-math-c++.cc: Check the signature of 'floor'.
27654         * doc/posix-functions/floor.texi: Mention the new module.
27655
27656 2010-12-21  Bruno Haible  <bruno@clisp.org>
27657
27658         New module 'roundf-ieee'.
27659         * modules/roundf-ieee: New file.
27660         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
27661         test whether roundf works according to ISO C 99 with IEC 60559.
27662         * m4/roundf-ieee.m4: New file.
27663         * modules/roundf-ieee-tests: New file.
27664         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
27665         * tests/test-roundf1.c (main): Remove signbit tests.
27666         * modules/roundf-tests (Depends-on): Remove 'signbit'.
27667         * doc/posix-functions/roundf.texi: Mention the new module.
27668
27669 2010-12-21  Bruno Haible  <bruno@clisp.org>
27670
27671         New module 'truncf-ieee'.
27672         * modules/truncf-ieee: New file.
27673         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
27674         test whether truncf works according to ISO C 99 with IEC 60559.
27675         * m4/truncf-ieee.m4: New file.
27676         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
27677         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
27678         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
27679         * modules/truncf-ieee-tests: New file.
27680         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
27681         * tests/test-truncf1.c (main): Remove signbit tests.
27682         * modules/truncf-tests (Depends-on): Remove 'signbit'.
27683         * doc/posix-functions/truncf.texi: Mention the new module.
27684
27685 2010-12-21  Bruno Haible  <bruno@clisp.org>
27686
27687         New module 'ceilf-ieee'.
27688         * modules/ceilf-ieee: New file.
27689         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
27690         test whether ceilf works according to ISO C 99 with IEC 60559.
27691         * m4/ceilf-ieee.m4: New file.
27692         * modules/ceilf-ieee-tests: New file.
27693         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
27694         * tests/test-ceilf1.c (main): Remove signbit tests.
27695         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
27696         * doc/posix-functions/ceilf.texi: Mention the new module.
27697
27698 2010-12-21  Bruno Haible  <bruno@clisp.org>
27699
27700         New module 'floorf-ieee'.
27701         * modules/floorf-ieee: New file.
27702         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
27703         test whether floorf works according to ISO C 99 with IEC 60559.
27704         * m4/floorf-ieee.m4: New file.
27705         * modules/floorf-ieee-tests: New file.
27706         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
27707         * tests/test-floorf1.c (main): Remove signbit tests.
27708         * modules/floorf-tests (Depends-on): Remove 'signbit'.
27709         * doc/posix-functions/floorf.texi: Mention the new module.
27710
27711 2010-12-21  Bruno Haible  <bruno@clisp.org>
27712
27713         Support for minus zero in autoconf macros.
27714         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
27715         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
27716         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
27717         * tests/minus-zero.h: Update comments.
27718
27719 2010-12-21  Bruno Haible  <bruno@clisp.org>
27720
27721         Tests for module 'ceil'.
27722         * modules/ceil-tests: New file.
27723         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
27724         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
27725
27726 2010-12-21  Bruno Haible  <bruno@clisp.org>
27727
27728         Tests for module 'floor'.
27729         * modules/floor-tests: New file.
27730         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
27731         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
27732
27733 2010-12-21  Bruno Haible  <bruno@clisp.org>
27734
27735         math: Fix indentation.
27736         * lib/math.in.h (floorf): Fix indentation.
27737
27738 2010-12-21  Bruno Haible  <bruno@clisp.org>
27739
27740         Fix cross-compilation guesses on Solaris.
27741         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
27742         not match "solaris2.10".
27743         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27744         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
27745         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
27746
27747 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
27748
27749         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
27750         This fixes a problem observed with the latest coreutils snapshot
27751         that caused a test to fail on Solaris 8.  src/csplit.c's call
27752         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
27753         earlier, instead of returning the number of bytes that would have
27754         been generated; this causes csplit to incorrectly report memory
27755         exhaustion.
27756         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
27757         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
27758         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
27759         comments to match.
27760         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
27761         Fix typo in matching older versions of Solaris: "solaris2.10"
27762         is matched by the shell pattern "solaris2.[0-9]*".  This matters
27763         only for guessing while cross-compiling.
27764         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
27765
27766 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
27767
27768         ftoastr: fix comment again
27769         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27770         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
27771         Also, simplify example a bit by using flags = 0.
27772
27773 2010-12-20  Bruno Haible  <bruno@clisp.org>
27774
27775         round*, trunc*: Update documentation regarding glibc.
27776         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
27777         * doc/posix-functions/round.texi: Likewise.
27778         * doc/posix-functions/roundl.texi: Likewise.
27779         * doc/posix-functions/truncf.texi: Likewise.
27780         * doc/posix-functions/trunc.texi: Likewise.
27781         * doc/posix-functions/truncl.texi: Likewise.
27782
27783 2010-12-20  Bruno Haible  <bruno@clisp.org>
27784
27785         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
27786         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
27787         * doc/posix-functions/round.texi: Likewise.
27788         * doc/posix-functions/roundl.texi: Likewise.
27789
27790 2010-12-20  Bruno Haible  <bruno@clisp.org>
27791
27792         ttyname_r: Add missing declaration on HP-UX 11.
27793         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
27794         HAVE_TTYNAME_R.
27795         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
27796         declared. Set HAVE_TTYNAME_R always.
27797         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27798         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
27799         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
27800         HAVE_TTYNAME_R.
27801         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
27802
27803 2010-12-20  Bruno Haible  <bruno@clisp.org>
27804
27805         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
27806         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
27807         * doc/posix-functions/getlogin_r.texi: Likewise.
27808         * tests/test-getlogin.c: Include <errno.h>.
27809         (main): Avoid test failure on HP-UX 11.11.
27810         * tests/test-getlogin_r.c (main): Likewise.
27811
27812 2010-12-20  Bruno Haible  <bruno@clisp.org>
27813
27814         getlogin_r: Add missing declaration on HP-UX 11.
27815         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
27816         declared also when it exists as a function.
27817         * doc/posix-functions/getlogin_r.texi: Document this workaround.
27818
27819 2010-12-20  Bruno Haible  <bruno@clisp.org>
27820
27821         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
27822         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
27823         through wcrtomb.
27824
27825 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
27826
27827         ftoastr: fix comment
27828         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27829         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
27830
27831 2010-12-19  Bruno Haible  <bruno@clisp.org>
27832
27833         isnan: Ensure it is a macro.
27834         * lib/math.in.h (isnan): Define as a macro if not already a macro.
27835         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
27836         Solaris.
27837
27838 2010-12-19  Bruno Haible  <bruno@clisp.org>
27839
27840         ldexpl test: Fix link error on OSF/1 5.1.
27841         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
27842
27843 2010-12-19  Bruno Haible  <bruno@clisp.org>
27844
27845         wctype: Make it work in C++ mode on OSF/1 5.1.
27846         * lib/wctype.in.h (iswblank): Declare but not define here.
27847         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
27848         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
27849         * modules/wctype (Files): Add lib/iswblank.c.
27850
27851 2010-12-19  Bruno Haible  <bruno@clisp.org>
27852
27853         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
27854         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
27855         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
27856
27857 2010-12-19  Bruno Haible  <bruno@clisp.org>
27858
27859         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
27860         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
27861         _POSIX_PII_SOCKET.
27862         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
27863         * doc/posix-functions/recvfrom.texi: Likewise.
27864         * doc/posix-functions/send.texi: Likewise.
27865         * doc/posix-functions/sendto.texi: Likewise.
27866
27867 2010-12-19  Bruno Haible  <bruno@clisp.org>
27868
27869         tcgetsid: Add missing declaration on OSF/1 5.1.
27870         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
27871         HAVE_TCGETSID.
27872         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
27873         Don't set HAVE_TCGETSID.
27874         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
27875         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
27876         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
27877         HAVE_TCGETSID.
27878         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
27879
27880 2010-12-19  Bruno Haible  <bruno@clisp.org>
27881
27882         stdio: Fix problem with popen() declaration on OSF/1 5.1.
27883         * lib/stdio.in.h: During the include_next statement, let recursive
27884         includes of this file include only the system header file.
27885
27886 2010-12-19  Bruno Haible  <bruno@clisp.org>
27887
27888         iconv_open: Fix regression from 2010-12-04.
27889         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
27890         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
27891
27892 2010-12-19  Bruno Haible  <bruno@clisp.org>
27893
27894         stdbool test: Avoid a gcc warning.
27895         * tests/test-stdbool.c (main): Fail if e1 is false.
27896         Reported by Jim Meyering.
27897
27898 2010-12-19  Jim Meyering  <meyering@redhat.com>
27899
27900         setenv: restore to working order
27901         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
27902         mistakenly removed.
27903         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
27904         HAVE_SETENV.
27905         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
27906         HAVE_SETENV.
27907
27908 2010-12-19  Bruno Haible  <bruno@clisp.org>
27909
27910         Document some different function declarations on OSF/1 5.1.
27911         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
27912         * doc/posix-functions/inet_ntop.texi: Likewise.
27913         * doc/posix-functions/gethostname.texi: Likewise.
27914         * lib/unistd.in.h (gethostname): Update comment.
27915
27916 2010-12-19  Bruno Haible  <bruno@clisp.org>
27917
27918         doc: Mention vasprintf-posix module.
27919         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
27920         the 'vasprintf-posix' module.
27921         * doc/glibc-functions/vasprintf.texi: Likewise.
27922
27923 2010-12-19  Bruno Haible  <bruno@clisp.org>
27924
27925         unsetenv: Add missing declaration on OSF/1 5.1.
27926         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
27927         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
27928         Don't set HAVE_UNSETENV. In the test program, set _BSD.
27929         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
27930         not HAVE_UNSETENV.
27931         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
27932         HAVE_UNSETENV.
27933         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
27934
27935 2010-12-19  Bruno Haible  <bruno@clisp.org>
27936
27937         setenv: Add missing declaration on OSF/1 5.1.
27938         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
27939         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
27940         declared. Don't set HAVE_SETENV.
27941         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
27942         not HAVE_SETENV.
27943         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
27944         HAVE_SETENV.
27945         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
27946
27947 2010-12-19  Bruno Haible  <bruno@clisp.org>
27948
27949         nl_langinfo tests: Avoid gcc warning.
27950         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
27951
27952 2010-12-19  Bruno Haible  <bruno@clisp.org>
27953
27954         mknod: Avoid error in C++ mode on OSF/1 with GCC.
27955         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
27956         _GL_CXXALIAS_SYS.
27957
27958 2010-12-19  Bruno Haible  <bruno@clisp.org>
27959
27960         stdbool: Relax test.
27961         * tests/test-stdbool.c (e): Don't require that casts from a variable's
27962         address to 'bool' work in static initializer, for compilers other than
27963         GCC.
27964
27965 2010-12-19  Bruno Haible  <bruno@clisp.org>
27966
27967         ftello: Add missing declaration on OSF/1 5.1.
27968         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
27969         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
27970         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
27971         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
27972         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
27973
27974 2010-12-19  Bruno Haible  <bruno@clisp.org>
27975
27976         fseeko: Add missing declaration on OSF/1 5.1.
27977         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
27978         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
27979         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
27980         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
27981         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
27982
27983 2010-12-19  Bruno Haible  <bruno@clisp.org>
27984
27985         fchdir: Add missing declaration on OSF/1 5.1.
27986         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
27987         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
27988         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
27989         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
27990         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
27991
27992 2010-12-19  Bruno Haible  <bruno@clisp.org>
27993
27994         relocatable-prog-wrapper: Separate from relocatable-prog.
27995         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
27996         uninstall-relocwrapper rule here.
27997         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
27998         Reported by Ian Beckwith <ianb@erislabs.net>.
27999
28000 2010-12-19  Bruno Haible  <bruno@clisp.org>
28001
28002         unistr/u8-mbsnlen: Add missing dependency.
28003         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
28004         Reported by Ian Beckwith <ianb@erislabs.net>.
28005
28006 2010-12-19  Bruno Haible  <bruno@clisp.org>
28007
28008         iconv: Make it possible again to use this module without 'iconv-h'.
28009         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
28010         if it is not defined.
28011         Reported by Ian Beckwith <ianb@erislabs.net>.
28012
28013 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
28014
28015         acl: port to Solaris 8 when copying from tmpfs to ufs
28016         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
28017         error number.  Problem observed on Solaris 8 with latest
28018         coreutils, with "mv A B", where A is on a tmpfs file system and B
28019         is on a ufs file system.  This caused coreutils' mv/part-symlink
28020         test to fail.
28021
28022         tests: set fail=0 at start
28023         * tests/init.sh (setup_): Move fail=0 initialization here ...
28024         (mktempd_): ... from here, so that tests can rely on fail being
28025         set to 0 initially.  This fixes a problem in coreutils; see:
28026         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
28027
28028 2010-12-18  Bruno Haible  <bruno@clisp.org>
28029
28030         memmem-simple: Stylistic changes.
28031         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
28032         Fix preprocessor directive indentation.
28033
28034 2010-12-15  Pádraig Brady <P@draigBrady.com>
28035
28036         memmem, memmem-simple: reorganize and expand empty needle check
28037         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
28038         functional checks to memmem-simple so that one has a fully functional
28039         memmem by using just this module.
28040         Restrict the performance only check to the memmem module.
28041         Also expand the empty needle check to ensure the correct
28042         pointer is returned, not just a non NULL pointer.
28043         * doc/glibc-functions/memmem.texi: Rearrange the portability
28044         documentation to correlate with the rearranged checks.
28045         Clarify exactly how the memmem and memmem-simple modules
28046         relate to each other.
28047
28048 2010-12-15  Pádraig Brady <P@draigBrady.com>
28049             Bruno Haible  <bruno@clisp.org>
28050
28051         Improve cross-compilation guesses for uClibc.
28052         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
28053         that uClibc does not have the glibc bug.
28054         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
28055         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
28056
28057 2010-12-14  Eric Blake  <eblake@redhat.com>
28058
28059         configmake: provide fallbacks for oldest supported autotools
28060         * m4/configmake.m4: New file.
28061         * modules/configmake (Files): Ship it.
28062         (configure.ac): Use it to guarantee fallbacks.
28063
28064 2010-12-13  Pádraig Brady <P@draigBrady.com>
28065
28066         read-file: Improve handling of large files
28067         * lib/read-file.c (fread_file): Minimize realloc()s
28068         for regular files, and better manage sizes around SIZE_MAX.
28069
28070 2010-12-13  Eric Blake  <eblake@redhat.com>
28071
28072         cloexec, fcntl: relax license
28073         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
28074         consent from all contributors.
28075         * modules/fcntl (License): Likewise.
28076
28077 2010-12-10  Bruno Haible  <bruno@clisp.org>
28078
28079         Tests for module 'pipe-posix'.
28080         * modules/pipe-posix-tests: New file.
28081         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
28082
28083 2010-12-10  Bruno Haible  <bruno@clisp.org>
28084
28085         pipe-posix: Make it work in C++ mode.
28086         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
28087         (pipe): Use common idiom, not a macro definition.
28088         * lib/pipe.c: New file.
28089         * m4/pipe.m4: New file.
28090         * modules/pipe-posix (Description): Enhance.
28091         (Files): Add lib/pipe.c, m4/pipe.m4.
28092         (configure.ac): Invoke gl_FUNC_PIPE.
28093         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
28094         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
28095         * tests/test-unistd-c++.cc: Check the signature of pipe.
28096
28097 2010-12-10  Bruno Haible  <bruno@clisp.org>
28098
28099         Rename module 'pipe' to 'spawn-pipe'.
28100         * modules/spawn-pipe: New file, renamed from modules/pipe.
28101         (Files, configure.ac, Makefile.am): Update.
28102         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
28103         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
28104         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
28105         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
28106         "spawn-pipe.h" instead of "pipe.h".
28107         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
28108         to gl_SPAWN_PIPE.
28109         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
28110         (Files, Makefile.am): Update.
28111         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
28112         Update.
28113         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
28114         Include "spawn-pipe.h" instead of "pipe.h".
28115         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
28116         * lib/javacomp.c: Likewise.
28117         * lib/javaversion.c: Likewise.
28118         * lib/pipe-filter-gi.c: Likewise.
28119         * lib/pipe-filter-ii.c: Likewise.
28120         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
28121         * modules/javacomp (Depends-on): Likewise.
28122         * modules/javaversion (Depends-on): Likewise.
28123         * modules/pipe-filter-gi (Depends-on): Likewise.
28124         * modules/pipe-filter-ii (Depends-on): Likewise.
28125         * MODULES.html.sh (Executing programs): Update.
28126         * NEWS: Mention the change.
28127
28128 2010-12-10  Eric Blake  <eblake@redhat.com>
28129
28130         pipe-posix: new module
28131         * modules/pipe-posix: New file.
28132         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
28133         (gl_UNISTD_H): Check for declaration.
28134         * modules/unistd (Makefile.am): Substitute it.
28135         * lib/unistd.in.h (pipe): Provide it for mingw.
28136         * doc/posix-functions/pipe.texi (pipe): Update documentation.
28137         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
28138
28139 2010-12-07  Bruno Haible  <bruno@clisp.org>
28140
28141         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
28142         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
28143         u8_strcmp_gnu.
28144         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
28145
28146 2010-12-06  Bruno Haible  <bruno@clisp.org>
28147
28148         Update internal documentation.
28149         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
28150
28151 2010-12-04  Bruno Haible  <bruno@clisp.org>
28152
28153         Put more information about failed tests into the test return codes.
28154         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
28155         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
28156         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
28157         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
28158         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
28159         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28160         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28161         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
28162         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
28163         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
28164         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
28165         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
28166         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
28167         * m4/stdint.m4 (gl_STDINT_H): Likewise.
28168         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
28169         returns a bit mask.
28170         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
28171         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
28172         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
28173         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
28174         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
28175         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
28176         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
28177         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
28178         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28179         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
28180         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
28181         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
28182         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
28183         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
28184         * m4/link.m4 (gl_FUNC_LINK): Likewise.
28185         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
28186         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
28187         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
28188         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28189         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
28190         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28191         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
28192         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
28193         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
28194         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
28195         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
28196         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
28197         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
28198         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
28199         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
28200         gl_PRINTF_PRECISION): Likewise.
28201         * m4/regex.m4 (gl_REGEX): Likewise.
28202         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
28203         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
28204         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
28205         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28206         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
28207         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28208         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
28209         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
28210         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28211         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28212         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
28213         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
28214         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
28215         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
28216         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
28217         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
28218         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
28219         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
28220         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
28221         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
28222         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
28223         enumerated value.
28224         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
28225
28226 2010-12-04  Bruno Haible  <bruno@clisp.org>
28227
28228         Update for Solaris 11 2010-11.
28229         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
28230         Express, released in November 2010.
28231
28232 2010-12-04  Bruno Haible  <bruno@clisp.org>
28233
28234         nproc: Relax license.
28235         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
28236         and Paul Eggert.
28237         Requested by Ludovic Courtès <ludo@gnu.org>.
28238
28239 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
28240
28241         utimecmp: fine-grained src to nearby coarse-grained dest
28242
28243         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
28244         and the source is on a file system with higher-resolution time
28245         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
28246         not work, and the time stamps are close together, the algorithm to
28247         determine the exact resolution from the read-back mtime was buggy:
28248         it had a "!=" where it should have had an "==".  This bug has been
28249         in the code ever since it was introduced to gnulib.
28250         Problem reported by Dan Jacobson in
28251         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
28252
28253 2010-11-30  Bruno Haible  <bruno@clisp.org>
28254
28255         strerror_r-posix: Fix autoconf test.
28256         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
28257
28258 2010-11-28  Bruno Haible  <bruno@clisp.org>
28259             Paul Eggert  <eggert@cs.ucla.edu>
28260
28261         Tests for module 'getdomainname'.
28262         * modules/getdomainname-tests: New file.
28263         * tests/test-getdomainname.c: New file, based on
28264         tests/test-gethostname.c.
28265
28266 2010-11-28  Bruno Haible  <bruno@clisp.org>
28267             Paul Eggert  <eggert@cs.ucla.edu>
28268
28269         getdomainname: Use the system function when possible.
28270         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
28271         (getdomainname): Replace if needed. Provide the declaration if it is
28272         missing. Don't use _GL_CXXALIAS_SYS_CAST.
28273         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
28274         (getdomainname): When the system has getdomainname, call the system
28275         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
28276         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
28277         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
28278         found in libnsl. Look for the declaration also in <netdb.h>. Replace
28279         the function if its second argument is of type 'int' or if it is found
28280         in libnsl.
28281         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
28282         <sys/systeminfo.h> and sysinfo().
28283         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
28284         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28285         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
28286         HAVE_GETDOMAINNAME.
28287         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
28288         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
28289         * doc/glibc-functions/getdomainname.texi: Document the problems with
28290         the getdomainname declaration.
28291
28292 2010-11-28  Bruno Haible  <bruno@clisp.org>
28293
28294         sys_socket: Ensure ss_family field on AIX.
28295         * lib/sys_socket.in.h (ss_family): New macro definition.
28296         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
28297         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
28298         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
28299         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28300         * modules/sys_socket (Makefile.am): Substitute
28301         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28302         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
28303
28304 2010-11-27  Bruno Haible  <bruno@clisp.org>
28305
28306         readline: Improve configure output.
28307         * m4/readline.m4 (gl_FUNC_READLINE): Make the
28308         "checking for readline..." result understandable.
28309
28310 2010-11-27  Bruno Haible  <bruno@clisp.org>
28311
28312         *printf-posix: Detect a bug on Solaris 10/x86.
28313         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
28314         for floating-point output.
28315         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
28316         directive.
28317         * tests/test-snprintf-posix.h (test_function): Likewise.
28318         * tests/test-sprintf-posix.h (test_function): Likewise.
28319         * tests/test-vasprintf-posix.c (test_function): Likewise.
28320         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
28321         * doc/posix-functions/printf.texi: Likewise.
28322         * doc/posix-functions/snprintf.texi: Likewise.
28323         * doc/posix-functions/sprintf.texi: Likewise.
28324         * doc/posix-functions/vfprintf.texi: Likewise.
28325         * doc/posix-functions/vprintf.texi: Likewise.
28326         * doc/posix-functions/vsnprintf.texi: Likewise.
28327         * doc/posix-functions/vsprintf.texi: Likewise.
28328         * doc/glibc-functions/obstack_printf.texi: Likewise.
28329         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
28330
28331 2010-11-27  Bruno Haible  <bruno@clisp.org>
28332
28333         Fix link error when module libunistring-optional is in use.
28334         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
28335         * modules/striconveha-tests (Makefile.am): Likewise.
28336
28337 2010-11-27  Bruno Haible  <bruno@clisp.org>
28338
28339         regex: Mention link dependencies.
28340         * modules/regex (Link): New section.
28341         * modules/rpmatch (Link): Likewise.
28342         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
28343
28344 2010-11-27  Bruno Haible  <bruno@clisp.org>
28345
28346         ftoastr: Fix compilation error on Solaris.
28347         * lib/ftoastr.c: Include <config.h>.
28348
28349 2010-11-27  Bruno Haible  <bruno@clisp.org>
28350
28351         getloadavg: Update documentation.
28352         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
28353
28354 2010-11-27  Bruno Haible  <bruno@clisp.org>
28355
28356         sys_socket: Fix test whether the functions are declared.
28357         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
28358         not <sys/select.h>.
28359
28360 2010-11-27  Bruno Haible  <bruno@clisp.org>
28361
28362         getpass: Make sure to get system declaration on some platforms.
28363         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
28364         gl_USE_SYSTEM_EXTENSIONS.
28365         * modules/getpass (Depends-on): Add extensions.
28366
28367 2010-11-26  Bruno Haible  <bruno@clisp.org>
28368
28369         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
28370         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
28371         'iconv' module is present.
28372         (ICONV_CONST): New macro.
28373         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
28374         ICONV_CONST.
28375         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
28376         set ICONV_CONST.
28377         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
28378         here.
28379         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
28380         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
28381         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
28382         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
28383         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
28384         present.
28385
28386 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
28387
28388         ftoastr: comment fix
28389         * lib/ftoastr.c: "little" -> "little or no" in comment
28390
28391 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
28392
28393         stdint: port to GCC 4.3 + OSX + Octave
28394         On this platform, stdint.h is buggy and defines int64_t to long
28395         long int.  The replacement defined it to long int, causing
28396         problems with C++ style name mangling.  Instead, trust the system
28397         definition if INT64_MAX is defined, and likewise for the unsigned
28398         variant.   Problem reported by Jarno Rajahalme in
28399         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
28400         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
28401         and don't mess with int64_t and INT64_MAX in this case.
28402         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
28403
28404 2010-11-24  Bruno Haible  <bruno@clisp.org>
28405
28406         doc: Corrections regarding MacOS X 10.4 and 10.5.
28407         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
28408         MacOS X.
28409         Reported by Simon Josefsson.
28410
28411 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
28412
28413         Uninstall ".bin" files installed by relocwrapper.
28414         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
28415         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
28416         unless it is already there.
28417
28418 2010-11-21  Bruno Haible  <bruno@clisp.org>
28419
28420         Update for NetBSD 5.0.
28421         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28422         NetBSD; the test fails on NetBSD 5.0.
28423         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28424         about NetBSD.
28425
28426 2010-11-21  Bruno Haible  <bruno@clisp.org>
28427
28428         Update for HP-UX 11.23 and HP-UX 11.31.
28429         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
28430         HP-UX.
28431
28432 2010-11-21  Bruno Haible  <bruno@clisp.org>
28433
28434         Update for MacOS X 10.5.
28435         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28436         MacOS X; the test fails on MacOS X 10.5.8.
28437         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28438         about MacOS X.
28439
28440 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
28441
28442         bootstrap: add bootstrap_sync option.
28443         See discussion at
28444         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
28445         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
28446         * build-aux/bootstrap: Accept --bootstrap-sync to update
28447         bootstrap if it is not identical to the local gnulib's
28448         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
28449         enable this by default.  Accept --no-bootstrap-sync to disable
28450         it.
28451
28452 2010-11-20  Bruno Haible  <bruno@clisp.org>
28453
28454         Ensure that <features.h> is included before __GLIBC__ is tested.
28455         * lib/printf-parse.h: Include <features.h>.
28456         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
28457         Reported by Mike Frysinger <vapier@gentoo.org>.
28458
28459         Ensure that <features.h> is included before __GLIBC__ is tested.
28460         * lib/wchar.in.h: Include <features.h>.
28461         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
28462         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
28463         Reported by Mike Frysinger <vapier@gentoo.org>.
28464
28465         Ensure that <features.h> is included before __GLIBC__ is tested.
28466         * lib/arpa_inet.in.h: Include <features.h>.
28467         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
28468         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
28469         Reported by Mike Frysinger <vapier@gentoo.org>.
28470
28471         Ensure that <features.h> is included before __GLIBC__ is tested.
28472         * build-aux/link-warning.h: Include <features.h>.
28473         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
28474         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
28475         Reported by Mike Frysinger <vapier@gentoo.org>.
28476
28477         Ensure that <features.h> is included before __GLIBC__ is tested.
28478         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
28479         Reported by Mike Frysinger <vapier@gentoo.org>.
28480
28481 2010-11-20  Bruno Haible  <bruno@clisp.org>
28482
28483         memmem: Fix autoconf test.
28484         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
28485
28486 2010-11-20  Bruno Haible  <bruno@clisp.org>
28487
28488         Port to uClibc.
28489         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
28490         * lib/fcntl.in.h: Likewise.
28491         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
28492         * lib/mbrtowc.c (mbrtowc): Likewise.
28493         * lib/relocatable.c (find_shared_library_fullname): Likewise.
28494         * lib/strerror_r.c: Likewise.
28495         * lib/unistr/u8-strnlen.c: Likewise.
28496         * lib/vasnprintf.c (decimal_point_char): Likewise.
28497         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
28498         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
28499         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
28500         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
28501         * tests/test-sigaction.c (handler, main): Likewise.
28502         * lib/freading.h: Treat uClibc like a non-glibc platform.
28503         * lib/freading.c: Likewise.
28504         * lib/gettext.h: Likewise.
28505         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
28506         Likewise.
28507         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
28508         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
28509         * lib/propername.c (proper_name_utf8): Likewise.
28510         * lib/spawn.in.h: Likewise.
28511         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
28512         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
28513         mem_cd_iconveh_internal): Likewise.
28514         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
28515         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28516         strstr, strcasestr): Likewise.
28517         * lib/unicodeio.c (unicode_to_mb): Likewise.
28518         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
28519         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
28520         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
28521         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
28522         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
28523         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
28524         * lib/unistr/u8-stpncpy.c: Likewise.
28525         * lib/vasnprintf.c (VASNPRINTF): Likewise.
28526         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
28527         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28528         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28529         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
28530         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
28531         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
28532         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
28533         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
28534         Likewise.
28535         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28536         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28537         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
28538         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28539         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28540         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28541         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
28542         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
28543         * tests/test-getopt.h (OPTIND_MIN): Likewise.
28544         * tests/test-striconveha.c (main): Likewise.
28545         * tests/test-vasnprintf-posix.c (test_function): Likewise.
28546         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
28547         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
28548         * doc/posix-functions/getline.texi: Likewise.
28549         Reported by Mike Frysinger <vapier@gentoo.org>.
28550
28551 2010-11-20  Bruno Haible  <bruno@clisp.org>
28552
28553         nproc: Fix condition.
28554         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
28555         HAVE_PTHREAD_AFFINITY_NP.
28556
28557 2010-11-20  Bruno Haible  <bruno@clisp.org>
28558
28559         Fix a comment.
28560         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
28561
28562 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
28563
28564         ftoastr: don't assume snprintf
28565         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
28566         Implement a subset of snprintf here, by using sprintf safely.
28567         * modules/ftoastr (Depends-on): Remove snprintf.
28568
28569 2010-11-19  Jim Meyering  <meyering@redhat.com>
28570
28571         test-rename.h: fix compilation failure
28572         * tests/test-rename.h (test_rename): Add omitted "}".
28573
28574 2010-11-17  Jim Meyering  <meyering@redhat.com>
28575
28576         maint.mk: add a URL discussing the no-@acronym policy
28577         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
28578
28579 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
28580
28581         ftoastr: depend on snprintf, improve comments
28582         * lib/ftoastr.c: Also mention Loitsch's draft.
28583         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
28584         needed in the current implementation, but it might simplify
28585         speeding up the code later.
28586         * modules/ftoastr: Depend on snprintf; this improves portability.
28587         Suggested by Bruno Haible in the same email.
28588
28589         ftoastr: port to hosts lacking strtof and strtold
28590         Problem reported by Bruno Haible in
28591         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
28592         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
28593         environment and strtold (and presumably strtof) are not available.
28594         * modules/ftoastr (Files): Add m4/c-strtod.m4.
28595         (configure.ac): Require gl_C99_STRTOLD.
28596
28597 2010-11-18  Bruno Haible  <bruno@clisp.org>
28598
28599         c-strtold: Avoid link error on AIX 7.
28600         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
28601         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
28602         (gl_C_STRTOLD): Test whether strtold_l exists.
28603         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28604
28605 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28606
28607         intprops: new macro INT_BITS_STRLEN_BOUND
28608         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
28609         ftoastr.h.  This exposes an internal of intprops.h that was formerly
28610         not exposed.  Also, it uses a slightly tighter bound than before;
28611         though this makes no practical difference, we might as well be as
28612         tight as we easily can.
28613
28614         ftoastr: new module, for lossless conversion of floats to short strings
28615         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
28616         * modules/ftoastr: New files.
28617
28618 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
28619
28620         bootstrap: port to Solaris sed
28621         * build-aux/bootstrap (get_version): Port to Solaris sed.
28622         See Ralf Wildenhues's note in
28623         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
28624
28625 2010-11-14  Jim Meyering  <meyering@redhat.com>
28626
28627         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
28628         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
28629         and move definition closer to sole use.
28630
28631 2010-11-13  Jim Meyering  <meyering@redhat.com>
28632
28633         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
28634         Now we require at least autoconf-2.59, which means the work-around
28635         is no longer needed.
28636         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
28637         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28638         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
28639         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
28640         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
28641
28642 2010-11-13  Bruno Haible  <bruno@clisp.org>
28643
28644         rename, renameat: Avoid test failures at NFS mounted locations.
28645         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
28646         functions.
28647         (test_rename): Use assert_nonexistent.
28648         * tests/test-rename.c: Include <dirent.h>.
28649         * tests/test-renameat.c: Likewise.
28650         Reported by Gary V. Vaughan <gary@gnu.org>.
28651
28652         rename, renameat: Document Linux bug with NFS
28653         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
28654         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
28655         * doc/posix-functions/renameat.texi: Likewise.
28656         Suggested by Eric Blake.
28657
28658 2010-11-13  Bruno Haible  <bruno@clisp.org>
28659
28660         rename test: Add comments.
28661         * tests/test-rename.h (test_rename): Add structure and comments.
28662
28663 2010-11-13  Eric Blake  <eblake@redhat.com>
28664
28665         maintainer-makefile: cover a few more files
28666         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
28667         scripts generated within C files, for libvirt.
28668
28669 2010-11-13  Bruno Haible  <bruno@clisp.org>
28670
28671         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
28672         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
28673         character, return the number of bytes that belong together, not always
28674         1.
28675         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
28676         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
28677         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
28678         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
28679         number of bytes of an invalid character.
28680         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
28681         (main): Invoke it.
28682         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
28683         results.
28684         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
28685         malformed byte sequences.
28686         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
28687         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
28688         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
28689         Reported by Ben Pfaff and Paolo Bonzini.
28690
28691 2010-11-13  Bruno Haible  <bruno@clisp.org>
28692
28693         openat: Work around glibc bug with fchownat() and empty file names.
28694         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
28695         (gl_FUNC_FCHOWNAT): Invoke it.
28696         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
28697         * doc/posix-functions/fchownat.texi: Document the glibc bug.
28698         Reported by Gary V. Vaughan <gary@gnu.org>.
28699
28700 2010-11-13  Bruno Haible  <bruno@clisp.org>
28701
28702         openat: Ensure autoconf macro ordering.
28703         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
28704         gl_USE_SYSTEM_EXTENSIONS.
28705         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
28706
28707 2010-11-13  Bruno Haible  <bruno@clisp.org>
28708
28709         Update comments.
28710         * lib/unistr/u8-check.c: Update file name in comments.
28711         * lib/unistr/u8-mblen.c: Likewise.
28712         * lib/unistr/u8-prev.c: Likewise.
28713         * lib/unistr/u8-strmblen.c: Likewise.
28714         * lib/unistr/u8-strmbtouc.c: Likewise.
28715
28716 2010-11-13  Jim Meyering  <meyering@redhat.com>
28717
28718         tests: avoid test failure on Solaris 10 due to lack of PATH export
28719         * tests/test-update-copyright.sh: Don't forget to export PATH.
28720
28721         init.sh: ensure that IFS is defined, just in case...
28722         * tests/init.sh (setup_): Ensure that IFS is defined,
28723         so that saving and restoring it works as expected.  This
28724         appears to be useful at least for an old version of dash
28725         from a long time ago (RH 6).  See here for details:
28726         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
28727
28728         maint.mk: tighten "test a == b" check
28729         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
28730         test to files that contain something like #!/bin/sh.
28731         Without this, coreutils would get two false positives in
28732         the comments of C source files.
28733
28734 2010-11-12  Eric Blake  <eblake@redhat.com>
28735
28736         bootstrap: fix typo in previous attempt
28737         * build-aux/bootstrap (buildreq): Correct the grouping.
28738         Reported by Paul Eggert.
28739
28740         maintainer-makefile: prohibit test x == x
28741         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
28742         Based on a report by Matthias Bolte.
28743
28744         bootstrap: allow FreeBSD gzip
28745         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
28746         which has no '.' and goes to stderr.
28747         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
28748         Reported by Matthias Bolte.
28749
28750         maintainer-makefile: check for i18n setup
28751         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
28752         will likely work.
28753
28754 2010-11-12  Bruno Haible  <bruno@clisp.org>
28755
28756         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
28757         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
28758         * lib/nanosleep.c (nanosleep): Likewise.
28759
28760 2010-11-11  Bruno Haible  <bruno@clisp.org>
28761
28762         fcntl-h: Fix for use of C++ on glibc systems.
28763         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
28764         also on glibc systems in C++ mode.
28765         Reported by Gary V. Vaughan <gary@gnu.org>.
28766
28767 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28768
28769         mknod: avoid false failure with dash
28770         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
28771
28772 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
28773
28774         unlink: Fix "is it should" typo in diagnostic.
28775         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
28776         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
28777
28778 2010-11-11  Bruno Haible  <bruno@clisp.org>
28779
28780         Tests for module 'strerror_r-posix'.
28781         * modules/strerror_r-posix-tests: New file.
28782         * tests/test-strerror_r.c: New file.
28783         * tests/test-string-c++.cc: Check the signature of strerror_r.
28784
28785         New module 'strerror_r-posix'.
28786         * lib/string.in.h (strerror_r): New declaration.
28787         * lib/strerror_r.c: New file.
28788         * m4/strerror_r.m4: New file.
28789         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
28790         of strerror_r.
28791         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
28792         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28793         * modules/strerror_r-posix: New file.
28794         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
28795         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28796         * doc/posix-functions/strerror_r.texi: Mention the new module and the
28797         portability problems.
28798
28799 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
28800
28801         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
28802         line is also considered for output. Quoted function name in shell
28803         command, so temporary files for functions like MyClass::operator()
28804         are removed correctly without errors.
28805
28806 2010-11-09  Bruno Haible  <bruno@clisp.org>
28807
28808         * doc/posix-functions/strerror.texi: List more failing platforms.
28809
28810         * doc/posix-functions/strerror.texi: Add a comment.
28811
28812 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
28813
28814         fdopendir: fix bug on MacOS X when low on file descriptors
28815
28816         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
28817         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
28818         All callers changed.
28819         (fdopendir): Invoke save_cwd at the top level, not after using
28820         multiple dup() calls to use up file descriptors.  Then retry
28821         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
28822         less than the maximum number of open file descriptors, because
28823         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
28824         on Mac OS X 10.6.4 for tar 1.24
28825         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
28826         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
28827         and for tar 1.25
28828         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
28829
28830 2010-11-07  Bruno Haible  <bruno@clisp.org>
28831
28832         vasnprintf: Support I flag on glibc systems.
28833         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
28834         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
28835         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
28836         snprintf function.
28837         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
28838         glibc systems.
28839         * tests/test-vasnprintf-posix3.c: New file.
28840         * modules/vasnprintf-posix-tests (Files): Add it.
28841         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
28842
28843 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28844
28845         [html] Fix copy/paste bug: Use unique name for compiler warnings.
28846         * MODULES.html.sh: For compiler warnings, use name
28847         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
28848
28849 2010-11-05  Eric Blake  <eblake@redhat.com>
28850
28851         ceil, floor: avoid spurious failure with icc
28852         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
28853         [denormals-as-zero] when optimizing without -mieee-fp option.
28854         * tests/test-floorf2.c (floorf_reference): Likewise.
28855         * tests/test-ceilf1.c (dummy): New function.
28856         (main): Use it to outsmart icc's optimization.
28857         * tests/test-floorf1.c (dummy, main): Likewise.
28858
28859         tests: require working signbit
28860         * modules/ceilf-tests (Depends-on): Add signbit.
28861         * modules/ceill-tests (Depends-on): Likewise.
28862         * modules/floorf-tests (Depends-on): Likewise.
28863         * modules/floorl-tests (Depends-on): Likewise.
28864         * modules/round-tests (Depends-on): Likewise.
28865         * modules/roundf-tests (Depends-on): Likewise.
28866         * modules/roundl-tests (Depends-on): Likewise.
28867         * modules/trunc-tests (Depends-on): Likewise.
28868         * modules/truncf-tests (Depends-on): Likewise.
28869         * modules/truncl-tests (Depends-on): Likewise.
28870
28871         strtod: work around icc bug
28872         * lib/strtod.c (minus_zero): Define to working value.
28873         (strtod): Use it to avoid icc bug.
28874
28875         copysign: enhance tests
28876         * modules/copysign-tests (Files): Add minus-zero.h.
28877         * tests/test-copysign.c (main): Also test zeros.
28878
28879 2010-11-04  Eric Blake  <eblake@redhat.com>
28880
28881         ceil, floor, round, trunc: enhance tests of -0
28882         * tests/test-ceilf1.c (main): Ensure correct sign of result.
28883         * tests/test-ceill.c (main): Likewise.
28884         * tests/test-floorf1.c (main): Likewise.
28885         * tests/test-floorl.c (main): Likewise.
28886         * tests/test-round1.c (main): Likewise.
28887         * tests/test-roundf1.c (main): Likewise.
28888         * tests/test-roundl.c (main): Likewise.
28889         * tests/test-trunc1.c (main): Likewise.
28890         * tests/test-truncf1.c (main): Likewise.
28891         * tests/test-truncl.c (main): Likewise.
28892
28893 2010-11-04  Eric Blake  <eblake@redhat.com>
28894
28895         frexp, tests: work around ICC bug with -zero
28896         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
28897         works with more compilers.
28898         * tests/minus-zero.h: New file.
28899         * modules/ceilf-tests (Files): Include it.
28900         * modules/ceill-tests (Files): Likewise.
28901         * modules/floorf-tests (Files): Likewise.
28902         * modules/floorl-tests (Files): Likewise.
28903         * modules/frexp-nolibm-tests (Files): Likewise.
28904         * modules/frexp-tests (Files): Likewise.
28905         * modules/frexpl-nolibm-tests (Files): Likewise.
28906         * modules/frexpl-tests (Files): Likewise.
28907         * modules/isnan-tests (Files): Likewise.
28908         * modules/isnand-nolibm-tests (Files): Likewise.
28909         * modules/isnand-tests (Files): Likewise.
28910         * modules/isnanf-nolibm-tests (Files): Likewise.
28911         * modules/isnanf-tests (Files): Likewise.
28912         * modules/isnanl-nolibm-tests (Files): Likewise.
28913         * modules/isnanl-tests (Files): Likewise.
28914         * modules/round-tests (Files): Likewise.
28915         * modules/roundf-tests (Files): Likewise.
28916         * modules/roundl-tests (Files): Likewise.
28917         * modules/ldexpl-tests (Files): Likewise.
28918         * modules/signbit-tests (Files): Likewise.
28919         * modules/snprintf-posix-tests (Files): Likewise.
28920         * modules/sprintf-posix-tests (Files): Likewise.
28921         * modules/strtod-tests (Files): Likewise.
28922         * modules/trunc-tests (Files): Likewise.
28923         * modules/truncf-tests (Files): Likewise.
28924         * modules/truncl-tests (Files): Likewise.
28925         * modules/vsnprintf-posix-tests (Files): Likewise.
28926         * modules/vsprintf-posix-tests (Files): Likewise.
28927         * modules/vasnprintf-posix-tests (Files): Likewise.
28928         * modules/vasprintf-posix-tests (Files): Likewise.
28929         * tests/test-ceilf1.c (main): Use it.
28930         * tests/test-ceill.c (main): Likewise.
28931         * tests/test-floorf1.c (main): Likewise.
28932         * tests/test-floorl.c (main): Likewise.
28933         * tests/test-frexp.c (main): Likewise.
28934         * tests/test-frexpl.c (main): Likewise.
28935         * tests/test-isnan.c (main): Likewise.
28936         * tests/test-isnand.h (main): Likewise.
28937         * tests/test-isnanf.h (main): Likewise.
28938         * tests/test-isnanl.h (main): Likewise.
28939         * tests/test-ldexpl.c (main): Likewise.
28940         * tests/test-round.c (main): Likewise.
28941         * tests/test-roundf.c (main): Likewise.
28942         * tests/test-roundl.c (main): Likewise.
28943         * tests/test-signbit.c (test_signbitf, test_signbitd)
28944         (test_signbitl): Likewise.
28945         * tests/test-snprintf-posix.h (test_function): Likewise.
28946         * tests/test-sprintf-posix.h (test_function): Likewise.
28947         * tests/test-strtod.c (main): Likewise.
28948         * tests/test-trunc1.c (main): Likewise.
28949         * tests/test-truncf1.c (main): Likewise.
28950         * tests/test-truncl.c (main): Likewise.
28951
28952         isnanl: work around icc bug
28953         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
28954
28955 2010-11-03  Eric Blake  <eblake@redhat.com>
28956
28957         tests: fix compiler warnings
28958         * tests/test-getopt.h (test_getopt): Fix condition.
28959         * tests/test-getopt_long.h (test_getopt_long): Likewise.
28960         * tests/test-pipe2.c (main): Likewise.
28961         * tests/test-quotearg-simple.c (main): Avoid icc warning.
28962
28963         utimens: fix broken m4 test
28964         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
28965
28966 2010-10-28  Bruno Haible  <bruno@clisp.org>
28967
28968         posix_spawn*, getdtablesize: Relax license.
28969         * modules/posix_spawn (License): Change to LGPLv2+.
28970         * modules/posix_spawnp (License): Likewise.
28971         * modules/posix_spawn-internal (License): Likewise.
28972         * modules/posix_spawnattr_init (License): Likewise.
28973         * modules/posix_spawnattr_getflags (License): Likewise.
28974         * modules/posix_spawnattr_setflags (License): Likewise.
28975         * modules/posix_spawnattr_getpgroup (License): Likewise.
28976         * modules/posix_spawnattr_setpgroup (License): Likewise.
28977         * modules/posix_spawnattr_getschedparam (License): Likewise.
28978         * modules/posix_spawnattr_setschedparam (License): Likewise.
28979         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
28980         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
28981         * modules/posix_spawnattr_getsigdefault (License): Likewise.
28982         * modules/posix_spawnattr_setsigdefault (License): Likewise.
28983         * modules/posix_spawnattr_getsigmask (License): Likewise.
28984         * modules/posix_spawnattr_setsigmask (License): Likewise.
28985         * modules/posix_spawnattr_destroy (License): Likewise.
28986         * modules/posix_spawn_file_actions_init (License): Likewise.
28987         * modules/posix_spawn_file_actions_addclose (License): Likewise.
28988         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
28989         * modules/posix_spawn_file_actions_addopen (License): Likewise.
28990         * modules/posix_spawn_file_actions_destroy (License): Likewise.
28991         * modules/getdtablesize (License): Likewise.
28992         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
28993
28994 2010-10-26  Bruno Haible  <bruno@clisp.org>
28995
28996         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
28997         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
28998         Cygwin and mingw.
28999         Suggested by Eric Blake.
29000
29001 2010-10-26  Bruno Haible  <bruno@clisp.org>
29002
29003         stdio: Work around compilation error due to renameat() on Solaris 10.
29004         * lib/stdio.in.h: Include <unistd.h> on Solaris.
29005         * lib/renameat.c: Don't include <unistd.h> here.
29006         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
29007         Reported by Paul Eggert and Eric Blake.
29008
29009 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
29010
29011         renameat: port to Solaris 10, which declares renameat in unistd.h
29012
29013         * lib/renameat.c: Include unistd.h before stdio.h, because
29014         Solaris 10 declares renameat in unistd.h.  Problem encountered
29015         when building GNU tar 1.24 on Solaris 10.
29016
29017 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
29018
29019         fdopendir: fix C89 compilation
29020         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
29021         compilers.
29022
29023 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
29024
29025         inttostr: simplify by removing unnecessary redundancy
29026         * lib/anytostr.c: Don't include verify.h.
29027         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
29028         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
29029         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
29030         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
29031         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
29032         Likewise.
29033         * modules/inttostr (Depends-on): Remove 'verify'.
29034
29035 2010-10-23  Bruno Haible  <bruno@clisp.org>
29036
29037         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
29038         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
29039         Reported by Eric Blake.
29040
29041 2010-10-23  Bruno Haible  <bruno@clisp.org>
29042
29043         Tests: Fix LOCALE_JA on MirBSD 10.
29044         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
29045         to an UTF-8 locale.
29046         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
29047         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
29048         Reported by Eric Blake.
29049
29050 2010-10-21  Bruno Haible  <bruno@clisp.org>
29051
29052         nl_langinfo test: Avoid test failure on NetBSD 5.
29053         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
29054         Reported by Eric Blake.
29055
29056 2010-10-21  Eric Blake  <eblake@redhat.com>
29057
29058         c-stack: work around libsigsegv 2.8 bug
29059         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
29060         overflow on at least PowerPC64.
29061
29062 2010-10-17  Bruno Haible  <bruno@clisp.org>
29063
29064         userspec: Drop redundant file.
29065         * modules/userspec (Files): Remove lib/inttostr.h.
29066
29067 2010-10-17  Bruno Haible  <bruno@clisp.org>
29068
29069         nl_langinfo tests: Silence some warnings.
29070         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
29071         Reported by Jim Meyering.
29072
29073 2010-10-17  Bruno Haible  <bruno@clisp.org>
29074
29075         Make use of GCC's attribute __alloc_size__.
29076         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
29077         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
29078         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
29079         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
29080         __alloc_size__.
29081         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
29082         Suggested by Jim Meyering.
29083
29084 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
29085
29086         bootstrap: anchor .gitignore entries.
29087         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
29088         with...
29089         (insert_vc_ignore): ... this new function, which prepends `/' to
29090         all .gitignore entries before passing them to
29091         insert_sorted_if_absent.
29092
29093 2010-10-16  Bruno Haible  <bruno@clisp.org>
29094
29095         nextafter: Fix configure check.
29096         * modules/nextafter (configure.ac): Correct expected prototype.
29097
29098 2010-10-16  Bruno Haible  <bruno@clisp.org>
29099
29100         termios: Update documentation.
29101         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
29102
29103 2010-10-16  Bruno Haible  <bruno@clisp.org>
29104
29105         tests: Make them compile with TinyCC.
29106         * tests/test-strstr.c (main): Remove parentheses around array
29107         initializer.
29108
29109 2010-10-15  Eric Blake  <eblake@redhat.com>
29110
29111         ignore-value: make header idempotent
29112         * lib/ignore-value.h: Add double-inclusion guards.
29113         Reported by Stefan Berger.
29114
29115 2010-10-15  Jim Meyering  <meyering@redhat.com>
29116
29117         GNUmakefile: handle "stable" target, not "major"
29118         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
29119         lists in maint.mk and announce-gen.  Without this, "make stable"
29120         would fail to ensure that $(VERSION) is up to date.
29121
29122 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
29123
29124         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
29125         & co.
29126
29127 2010-10-14  Bruno Haible  <bruno@clisp.org>
29128
29129         vasnprintf: Don't set errno to 0.
29130         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
29131         block that sets it to 0.
29132         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
29133
29134 2010-10-14  Bruno Haible  <bruno@clisp.org>
29135
29136         socketlib: Fix.
29137         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
29138         gl_PREREQ_SYS_H_WINSOCK2.
29139         Reported by Ian Beckwith <ianb@erislabs.net>.
29140
29141 2010-10-13  Jim Meyering  <meyering@redhat.com>
29142
29143         test-select-stdin.c: avoid warn_unused_result warnings
29144         * tests/test-select-stdin.c: Include "macros.h".
29145         ASSERT that read and fflush succeed.
29146
29147 2010-10-13  Jim Meyering  <meyering@redhat.com>
29148
29149         git-version-gen: do require git-VC'd files in cwd
29150         * build-aux/git-version-gen: Reject a git version string
29151         if there are no commits associated with the current directory.
29152         This avoids an unlikely false-positive (unrelated dir whose parent
29153         repository also contains a tag matching v*), as pointed out
29154         by Giuseppe Scrivano in
29155         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
29156
29157 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
29158
29159         argv-iter: omit nonconforming declaration
29160         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
29161         enum arg_iter_err declaration, which doesn't conform to C99.
29162         Solaris 10 cc warns about this.
29163
29164 2010-10-13  Eric Blake  <eblake@redhat.com>
29165
29166         termios: fix compilation on mingw
29167         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
29168         (gl_TERMIOS_H): Adjust it on mingw.
29169         * modules/termios (Makefile.am): Substitute new key.
29170         * lib/termios.in.h (includes): Make include_next conditional.
29171         * doc/posix-headers/termios.texi (termios.h): Update
29172         documentation.
29173         Reported by Daniel P. Berrange.
29174
29175 2010-10-13  Jim Meyering  <meyering@redhat.com>
29176
29177         git-version-gen: don't require that .git/ be in the current dir
29178         * build-aux/git-version-gen: Adjust this script so that it works
29179         when run from any working directory beneath the top-level .git/-
29180         containing directory.  Inspired by a patch from Giuseppe Scrivano,
29181         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
29182
29183         test-select: avoid warn_unused_result warnings
29184         * tests/test-select.c: Include "macros.h".
29185         ASSERT that each call to read, write, and pipe succeeds.
29186         While not technically required, also check each "close".
29187         * modules/select-tests (Files): Add tests/macros.h.
29188
29189         test-symlinkat: remove declaration of unused local
29190         * tests/test-symlinkat.c (main): Remove unused local, "buf".
29191
29192         test-inttostr: avoid shadowing warnings
29193         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
29194         and use malloc rather than the stack for the same reason as
29195         mentioned in the comment justifying the other allocation.
29196
29197 2010-10-11  Bruno Haible  <bruno@clisp.org>
29198
29199         stdlib: Allow multiple gnulib generated replacements to coexist.
29200         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
29201         Reported by Sam Steingold <sds@gnu.org>.
29202
29203 2010-10-11  Jim Meyering  <meyering@redhat.com>
29204
29205         fix a documentation typo
29206         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
29207
29208 2010-10-11  Eric Blake  <eblake@redhat.com>
29209
29210         futimens: work around Solaris 11 bug
29211         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
29212         * tests/test-futimens.h (test_futimens): Enhance, rather than
29213         weaken test.
29214         * doc/posix-functions/futimens.texi (futimens): Document the bug.
29215
29216 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
29217
29218         Indentation.
29219         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
29220         higher-level operators more to the left.
29221
29222 2010-10-11  Jim Meyering  <meyering@redhat.com>
29223
29224         test-futimens: avoid unwarranted test failure on Solaris 5.11
29225         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
29226         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
29227         because it tries to dereference the NULL name argument.
29228
29229 2010-10-11  Bruno Haible  <bruno@clisp.org>
29230
29231         Indentation.
29232         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
29233         indentation.
29234
29235 2010-10-11  Jim Meyering  <meyering@redhat.com>
29236
29237         spawn.in.h: make indentation consistent with parentheses
29238         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
29239         Make indentation consistent with parentheses.
29240
29241 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
29242
29243         Fix mismatched parens in previous commit
29244         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
29245         parens.
29246
29247 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
29248
29249         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
29250
29251         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
29252         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
29253         * lib/malloca.c: Include "verify.h".
29254         (verify1): Remove, replacing with a verify call.
29255         * lib/relocwrapper.c (verify1): Likewise.
29256         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
29257         Likewise.
29258         * modules/malloca (Depends-on): Add 'verify'.
29259         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
29260         * modules/vasnprintf (Depends-on): Add 'verify'.
29261         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
29262         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
29263         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
29264         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
29265         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
29266         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
29267         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
29268
29269         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
29270
29271         Formerly the style was sometimes 2*X - 1, because the C standard
29272         was wrongly thought to disallow ?: in integral constant expressions.
29273         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
29274         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
29275         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
29276         * lib/stdint.in.h (_verify_intmax_size): Likewise.
29277         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
29278         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
29279         verify that time_t cannot be floating.
29280
29281 2010-10-08  Eric Blake  <eblake@redhat.com>
29282
29283         time: enforce recent POSIX ruling that time_t is integral
29284         * lib/time.in.h (__time_t_must_be_integral): Detect any
29285         problematic systems, allowing the rest of gnulib to assume POSIX.
29286
29287 2010-10-08  Jim Meyering  <meyering@redhat.com>
29288
29289         fdopendir: fix a bug on systems lacking openat and /proc support
29290         OpenBSD 4.7 is one such system.  The most noticeable effect was
29291         failure of any application making nontrivial use of fts: rm, du,
29292         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
29293           ./rm: traversal failed: `a': Bad file descriptor
29294         Debugging that, you see that even though FD 6 was closed just
29295         prior to the opendir call in fd_clone_opendir, its resulting
29296         dir->dd_fd was 8, rather than the expected value of 6:
29297
29298         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
29299         93                close (fd);
29300         (gdb) n
29301         94                dir = fd_clone_opendir (dupfd);
29302         (gdb) n
29303         95                saved_errno = errno;
29304         (gdb) p dir->dd_fd
29305         $11 = 8
29306
29307         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
29308         The problem is that on OpenBSD, fd_clone_opendir has to resort
29309         to using the old-style save/restore CWD mechanism, due to its
29310         lack of openat/proc support, and *that* would steal the FD (6)
29311         that opendir was supposed to use.
29312
29313         The fix is to squirrel away the desired FD so that save_cwd uses a
29314         different one, and then free the dest FD right before calling opendir.
29315         That guarantees opendir will use the required file descriptor.
29316
29317         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
29318
29319 2010-10-08  Bruno Haible  <bruno@clisp.org>
29320
29321         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
29322         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
29323
29324 2010-10-08  Bruno Haible  <bruno@clisp.org>
29325
29326         nanosleep: Make replacement POSIX compliant.
29327         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
29328         is out of range.
29329         Reported by Jim Meyering.
29330
29331 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
29332
29333         bootstrap: add hook for altering gnulib.mk, for Bison
29334         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
29335         the Bison bootstrapping process can rewrite file names and variables
29336         in this file before later parts of 'bootstrap' use the file.
29337         Bison wants to include lib/gnulib.mk from the top-level makefile,
29338         so it needs the file names in this file to be relative to the top
29339         level, not relative to lib; plus it needs variable names to be
29340         rewritten.
29341         (slurp): Use the new function.
29342
29343         bootstrap: reformat for readability
29344         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
29345
29346 2010-10-08  Eric Blake  <eblake@redhat.com>
29347
29348         docs: update cygwin progress
29349         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
29350         1.7.7.
29351         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
29352         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
29353         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
29354         * doc/posix-functions/carg.texi (carg): Likewise.
29355         * doc/posix-functions/cargf.texi (cargf): Likewise.
29356         * doc/posix-functions/casin.texi (casin): Likewise.
29357         * doc/posix-functions/casinf.texi (casinf): Likewise.
29358         * doc/posix-functions/casinh.texi (casinh): Likewise.
29359         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
29360         * doc/posix-functions/catan.texi (catan): Likewise.
29361         * doc/posix-functions/catanf.texi (catanf): Likewise.
29362         * doc/posix-functions/catanh.texi (catanh): Likewise.
29363         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
29364         * doc/posix-functions/ccos.texi (ccos): Likewise.
29365         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
29366         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
29367         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
29368         * doc/posix-functions/cexp.texi (cexp): Likewise.
29369         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
29370         * doc/posix-functions/cimag.texi (cimag): Likewise.
29371         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
29372         * doc/posix-functions/clog.texi (clog): Likewise.
29373         * doc/posix-functions/clogf.texi (clogf): Likewise.
29374         * doc/posix-functions/conj.texi (conj): Likewise.
29375         * doc/posix-functions/conjf.texi (conjf): Likewise.
29376         * doc/posix-functions/cpow.texi (cpow): Likewise.
29377         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
29378         * doc/posix-functions/cproj.texi (cproj): Likewise.
29379         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
29380         * doc/posix-functions/creal.texi (creal): Likewise.
29381         * doc/posix-functions/crealf.texi (crealf): Likewise.
29382         * doc/posix-functions/csin.texi (csin): Likewise.
29383         * doc/posix-functions/csinf.texi (csinf): Likewise.
29384         * doc/posix-functions/csinh.texi (csinh): Likewise.
29385         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
29386         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
29387         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
29388         * doc/posix-functions/ctan.texi (ctan): Likewise.
29389         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
29390         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
29391         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
29392         * doc/posix-headers/complex.texi (complex.h): Likewise.
29393
29394 2010-10-07  Jim Meyering  <meyering@redhat.com>
29395
29396         parse-datetime: avoid compilation failure on OpenBSD 4.7
29397         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
29398         This works around a compilation failure on OpenBSD 4.7:
29399         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
29400
29401 2010-10-07  Eric Blake  <eblake@redhat.com>
29402
29403         docs: update cygwin progress
29404         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
29405         1.7.6.
29406         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
29407         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
29408         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
29409         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
29410         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
29411         Likewise.
29412         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
29413         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
29414         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
29415         Likewise.
29416         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
29417         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
29418         Likewise.
29419         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
29420         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
29421         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
29422         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
29423         Likewise.
29424         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
29425         Likewise.
29426         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
29427
29428         docs: update parse-datetime history
29429         * doc/parse-datetime.texi (Authors of parse_datetime): Better
29430         documentation of this function's history and alternatives.
29431
29432         cygwin: use more robust version check
29433         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
29434         exclude an eventual cygwin 1.9.1.
29435         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29436         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29437         (gl_FUNC_STRCASESTR): Likewise.
29438         Reported by Bruno Haible.
29439
29440 2010-10-06  Bruno Haible  <bruno@clisp.org>
29441
29442         string, sys_select: Avoid #including large headers unless necessary.
29443         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
29444         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
29445         OSF/1, BeOS, Haiku.
29446         Reported by Jim Meyering.
29447
29448 2010-10-05  Eric Blake  <eblake@redhat.com>
29449
29450         memmem, strstr, strcasestr: fix bug with long periodic needle
29451         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
29452         periodic needle having false positive.
29453         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
29454         and cygwin 1.7.7.
29455         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
29456         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29457         (gl_FUNC_STRCASESTR): Likewise.
29458         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29459         * tests/test-memmem.c (main): Expose the bug.
29460         * tests/test-strcasestr.c (main): Likewise.
29461         * tests/test-strstr.c (main): Likewise.
29462         * tests/test-c-strcasestr.c (main): Likewise.
29463         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
29464         * doc/posix-functions/strstr.texi (strstr): Likewise.
29465         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
29466         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
29467
29468 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29469
29470         parse-datetime: do some more renaming
29471         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
29472         parse_datetime, not get_date.  Mention the renaming.
29473         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
29474         in comments.
29475         * m4/bison.m4: Likewise.
29476
29477 2010-10-05  Eric Blake  <eblake@redhat.com>
29478
29479         parse-datetime: better name than get_date
29480         * NEWS: Reword the deprecation notice.
29481         * modules/get_date: Rename to modules/parse-datetime.
29482         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
29483         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
29484         * lib/get_date.y: Rename to lib/parse-datetime.y.
29485         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
29486         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
29487         * doc/getdate.texi: Provide fallback wrapper.
29488         * lib/getdate.h: Move guts, and wrap...
29489         * lib/parse-datetime.h: ...new file.
29490         * lib/parse-datetime.y (get_date): Rename...
29491         (parse_datetime): ...to this.
29492         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
29493         (gl_PARSE_DATETIME): ...to this.
29494         * doc/posix-functions/getdate.texi (get_date): Provide fallback
29495         documentation.
29496         * modules/getdate (Files): Provide fallback docs and header.
29497         (Notice, Depends-on): Update references.
29498         * tests/test-parse-datetime.c: Likewise.
29499         * DEPENDENCIES: Likewise.
29500         * MODULES.html.sh (Date and time <time.h>): Likewise.
29501         * doc/parse-datetime.texi (Date input formats)
29502         (Authors of parse_datetime): Likewise.
29503         * modules/parse-datetime (Files, configure.ac, Makefile.am)
29504         (Include): Likewise.
29505         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
29506         * gnulib-tool: Likewise.
29507         * m4/bison.m4 (gl_BISON): Likewise.
29508         Suggested by Bruno Haible.
29509
29510 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29511
29512         more ports to Solaris tr, which needs [] around ranges
29513         * gnulib-tool: Solaris tr needs [] around ranges.
29514         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
29515         * tests/test-pipe-filter-gi1.c (main): Likewise.
29516         * tests/test-pipe-filter-ii1.c (main): Likewise.
29517
29518 2010-10-05  Eric Blake  <eblake@redhat.com>
29519
29520         bootstrap: fix Solaris regression
29521         * build-aux/bootstrap (check_versions): Solaris tr still needs []
29522         around ranges.
29523         Reported by Pádraig Brady.
29524
29525         bootstrap: work with pkg-config
29526         * build-aux/bootstrap (check_versions): Also transliterate - in
29527         prerequisite name.
29528         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
29529         prerequisites that were already found, to avoid confusion.
29530         Reported by Justin Clift.
29531
29532         faccessat: remove unused wrappers
29533         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
29534         presence of these wrappers dragged in -lgen on Solaris.
29535         Reported by Clemens Brogi; fix suggested by Paul Eggert.
29536
29537 2010-10-05  Jim Meyering  <meyering@redhat.com>
29538
29539         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
29540         * Makefile (sc_pragma_columns): New syntax-check rule.
29541
29542 2010-10-04  Bruno Haible  <bruno@clisp.org>
29543
29544         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
29545         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
29546         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
29547         Reported by Bruce Korb and Eric Blake.
29548
29549 2010-10-04  Bruno Haible  <bruno@clisp.org>
29550
29551         threadlib: Make option --with-libpth-prefix work.
29552         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
29553         use $LIBPTH, not just -lpth.
29554
29555 2010-10-04  Bruno Haible  <bruno@clisp.org>
29556
29557         Avoid line length limitation from HP NonStop system header files.
29558         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
29559         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
29560         * lib/ctype.in.h: Likewise.
29561         * lib/dirent.in.h: Likewise.
29562         * lib/errno.in.h: Likewise.
29563         * lib/fcntl.in.h: Likewise.
29564         * lib/float.in.h: Likewise.
29565         * lib/getopt.in.h: Likewise.
29566         * lib/iconv.in.h: Likewise.
29567         * lib/inttypes.in.h: Likewise.
29568         * lib/langinfo.in.h: Likewise.
29569         * lib/locale.in.h: Likewise.
29570         * lib/math.in.h: Likewise.
29571         * lib/netdb.in.h: Likewise.
29572         * lib/netinet_in.in.h: Likewise.
29573         * lib/poll.in.h: Likewise.
29574         * lib/pthread.in.h: Likewise.
29575         * lib/pty.in.h: Likewise.
29576         * lib/sched.in.h: Likewise.
29577         * lib/se-selinux.in.h: Likewise.
29578         * lib/search.in.h: Likewise.
29579         * lib/signal.in.h: Likewise.
29580         * lib/spawn.in.h: Likewise.
29581         * lib/stdarg.in.h: Likewise.
29582         * lib/stddef.in.h: Likewise.
29583         * lib/stdint.in.h: Likewise.
29584         * lib/stdio.in.h: Likewise.
29585         * lib/stdlib.in.h: Likewise.
29586         * lib/string.in.h: Likewise.
29587         * lib/strings.in.h: Likewise.
29588         * lib/sys_file.in.h: Likewise.
29589         * lib/sys_ioctl.in.h: Likewise.
29590         * lib/sys_select.in.h: Likewise.
29591         * lib/sys_socket.in.h: Likewise.
29592         * lib/sys_stat.in.h: Likewise.
29593         * lib/sys_time.in.h: Likewise.
29594         * lib/sys_times.in.h: Likewise.
29595         * lib/sys_utsname.in.h: Likewise.
29596         * lib/sys_wait.in.h: Likewise.
29597         * lib/sysexits.in.h: Likewise.
29598         * lib/termios.in.h: Likewise.
29599         * lib/time.in.h: Likewise.
29600         * lib/unistd.in.h: Likewise.
29601         * lib/wchar.in.h: Likewise.
29602         * lib/wctype.in.h: Likewise.
29603         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
29604         * modules/ctype (Makefile.am): Likewise.
29605         * modules/dirent (Makefile.am): Likewise.
29606         * modules/errno (Makefile.am): Likewise.
29607         * modules/fcntl-h (Makefile.am): Likewise.
29608         * modules/float (Makefile.am): Likewise.
29609         * modules/getopt-posix (Makefile.am): Likewise.
29610         * modules/iconv-h (Makefile.am): Likewise.
29611         * modules/inttypes (Makefile.am): Likewise.
29612         * modules/langinfo (Makefile.am): Likewise.
29613         * modules/locale (Makefile.am): Likewise.
29614         * modules/math (Makefile.am): Likewise.
29615         * modules/netdb (Makefile.am): Likewise.
29616         * modules/netinet_in (Makefile.am): Likewise.
29617         * modules/poll-h (Makefile.am): Likewise.
29618         * modules/pthread (Makefile.am): Likewise.
29619         * modules/pty (Makefile.am): Likewise.
29620         * modules/sched (Makefile.am): Likewise.
29621         * modules/search (Makefile.am): Likewise.
29622         * modules/selinux-h (Makefile.am): Likewise.
29623         * modules/signal (Makefile.am): Likewise.
29624         * modules/spawn (Makefile.am): Likewise.
29625         * modules/stdarg (Makefile.am): Likewise.
29626         * modules/stddef (Makefile.am): Likewise.
29627         * modules/stdint (Makefile.am): Likewise.
29628         * modules/stdio (Makefile.am): Likewise.
29629         * modules/stdlib (Makefile.am): Likewise.
29630         * modules/string (Makefile.am): Likewise.
29631         * modules/strings (Makefile.am): Likewise.
29632         * modules/sys_file (Makefile.am): Likewise.
29633         * modules/sys_ioctl (Makefile.am): Likewise.
29634         * modules/sys_select (Makefile.am): Likewise.
29635         * modules/sys_socket (Makefile.am): Likewise.
29636         * modules/sys_stat (Makefile.am): Likewise.
29637         * modules/sys_time (Makefile.am): Likewise.
29638         * modules/sys_times (Makefile.am): Likewise.
29639         * modules/sys_utsname (Makefile.am): Likewise.
29640         * modules/sys_wait (Makefile.am): Likewise.
29641         * modules/sysexits (Makefile.am): Likewise.
29642         * modules/termios (Makefile.am): Likewise.
29643         * modules/time (Makefile.am): Likewise.
29644         * modules/unistd (Makefile.am): Likewise.
29645         * modules/wchar (Makefile.am): Likewise.
29646         * modules/wctype (Makefile.am): Likewise.
29647
29648 2010-10-04  Bruno Haible  <bruno@clisp.org>
29649
29650         read-file tests: Avoid a test failure on NonStop Kernel.
29651         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
29652         a regular file.
29653         Reported by Joachim Schmitz <schmitz@hp.com>.
29654
29655 2010-10-03  Bruno Haible  <bruno@clisp.org>
29656
29657         gnulib-tool: Fixes for --create-testdir with --libtool.
29658         * gnulib-tool (func_get_automake_snippet): Don't augment
29659         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
29660         an executable.
29661         (func_create_testdir): Handle module 'alloca' like func_import.
29662         Reported by Bruce Korb <bruce.korb@gmail.com>.
29663
29664 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
29665
29666         Avoid some lines longer than 80 characters.
29667         * lib/stdint.in.h: Break long comment lines.
29668         * lib/math.in.h: Likewise.
29669         (_GL_NUM_UINT_WORDS): New macro, for readability.
29670         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
29671         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
29672         * lib/stdlib.in.h: Likewise.
29673         * lib/spawn.in.h: Likewise.
29674         * lib/sys_socket.in.h: Update an URL.
29675         * lib/sys_stat.in.h: Break long line.
29676
29677 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
29678
29679         Improve pmccabe2html.
29680         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
29681         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
29682         when the sources change. Remove the line in the HTML about "Used
29683         ranges" (which implied that there might be other unused ranges),
29684         rename "Resume" to "Summary" (easier to understand for more users).
29685         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
29686         styles, and some unnecessary blank lines.
29687
29688 2010-10-03  Bruno Haible  <bruno@clisp.org>
29689             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
29690
29691         acl: Add support for ACLs on NonStop Kernel.
29692         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
29693         Check whether the function aclsort() exists.
29694         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
29695         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
29696         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29697         (acl_nontrivial [HAVE_ACLSORT]: New function.
29698         (file_has_acl): Implement for NonStop Kernel.
29699         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29700         (qset_acl): Implement for NonStop Kernel.
29701         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
29702         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29703         (main): Implement for NonStop Kernel.
29704         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
29705         Kernel. Handle this flavor.
29706         * tests/test-set-mode-acl.sh: Likewise.
29707         * tests/test-copy-acl.sh: Likewise.
29708         * tests/test-copy-file.sh: Likewise.
29709
29710 2010-10-03  Bruno Haible  <bruno@clisp.org>
29711
29712         Info about ACLs on NonStop Kernel.
29713         * doc/acl-resources.txt: Add info about NonStop Kernel.
29714         References by Joachim Schmitz <schmitz@hp.com>.
29715
29716 2010-10-02  Bruno Haible  <bruno@clisp.org>
29717
29718         Define missing EDQUOT on NonStop Kernel.
29719         * lib/errno.in.h (EDQUOT): Assign a value if missing.
29720         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
29721         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
29722         missing.
29723         * doc/posix-headers/errno.texi: Mention the NSK bug.
29724         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
29725         Reported by Joachim Schmitz <schmitz@hp.com>.
29726
29727 2010-10-02  Bruno Haible  <bruno@clisp.org>
29728
29729         Update doc for POSIX:2008.
29730         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
29731         Update URL of POSIX specification.
29732
29733 2010-10-02  Bruno Haible  <bruno@clisp.org>
29734
29735         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
29736         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
29737         from gnulib, not from Automake.
29738
29739 2010-10-02  Bruno Haible  <bruno@clisp.org>
29740
29741         New module 'system-posix'.
29742         * modules/system-posix: New file.
29743         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
29744         module is present.
29745         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29746         GNULIB_SYSTEM_POSIX.
29747         * modules/stdlib (Depends-on): Remove sys_wait.
29748         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
29749         * doc/posix-functions/system.texi: Mention the new module.
29750         * doc/posix-headers/stdlib.texi: Likewise.
29751         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
29752         define test_sys_wait_macros to a no-op.
29753         Reported by Sam Steingold <sds@gnu.org>.
29754
29755 2010-09-30  Bruno Haible  <bruno@clisp.org>
29756
29757         More renaming from 'getdate' to 'get_date'.
29758         * doc/get_date.texi: Renamed from doc/getdate.texi.
29759         * modules/get_date (Files): Update.
29760         * MODULES.html.sh (Date and time <time.h>): Update.
29761         * DEPENDENCIES: Update.
29762         * gnulib-tool: Update comment.
29763         * m4/bison.m4 (gl_BISON): Likewise.
29764         * m4/get_date.m4 (gl_GET_DATE): Likewise.
29765
29766 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
29767
29768         bootstrap: support ACLOCAL_FLAGS during aclocal
29769         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
29770         can add additional -I dir for third-party .m4 files.
29771
29772 2010-09-30  Eric Blake  <eblake@redhat.com>
29773
29774         bootstrap: use glibtoolize on MacOS
29775         * build-aux/bootstrap (check_versions): Convert libtool into
29776         libtoolize.
29777         (tool search): Move libtool check earlier, and look for
29778         glibtoolize for MacOS.
29779         (gnulib_tool_options): Auto-add --libtool when appropriate.
29780         Reported by Justin Clift.
29781
29782         poll: fix typo that broke test on MacOS
29783         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
29784         Reported by Justin Clift.
29785
29786         getdate: rename to get_date
29787         Note: getdate.h is not renamed, to minimize client impact.
29788         * modules/getdate: Mark obsolete.  Move old contents...
29789         * modules/get_date: ...to new module name.
29790         * modules/getdate-tests: Move...
29791         * modules/get_date-tests: ...here.
29792         * m4/getdate.m4: Move...
29793         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
29794         * lib/getdate.y: Move...
29795         * lib/get_date.y: ...here.
29796         * tests/test-getdate.c: Move...
29797         * tests/test-get_date.c: ...here.
29798         * doc/posix-functions/getdate.texi (getdate): Update name.
29799         * NEWS: Mention the change.
29800
29801 2010-09-29  Bruno Haible  <bruno@clisp.org>
29802
29803         Separate the module 'waitpid' from the module 'sys_wait'.
29804         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
29805         present.
29806         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
29807         gl_MODULE_INDICATOR_FOR_TESTS.
29808         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
29809         * modules/sys_wait (Depends-on): Remove waitpid.
29810         (Makefile.am): Substitute GNULIB_WAITPID.
29811         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
29812         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
29813         signature only if the 'waitpid' module is present.
29814         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
29815         * NEWS: Mention the change.
29816         * modules/grantpt (Depends-on): Add waitpid.
29817         * modules/wait-process (Depends-on): Likewise.
29818
29819 2010-09-29  Bruno Haible  <bruno@clisp.org>
29820
29821         More tests for module 'sys_wait'.
29822         * modules/sys_wait-c++-tests: New file.
29823         * tests/test-sys_wait-c++.cc: New file.
29824         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
29825         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29826
29827 2010-09-29  Bruno Haible  <bruno@clisp.org>
29828
29829         New module 'waitpid'.
29830         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
29831         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
29832         Don't include <process.h>.
29833         (waitpid): Declare only, using modern idiom.
29834         * m4/waitpid.m4: New file.
29835         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
29836         * modules/waitpid: New file.
29837         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
29838         (Makefile.am): Update.
29839         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29840
29841 2010-09-28  Bruno Haible  <bruno@clisp.org>
29842
29843         poll: Assume ANSI C.
29844         * lib/poll.c (poll): Use an ANSI C declaration.
29845
29846 2010-09-28  Bruno Haible  <bruno@clisp.org>
29847
29848         poll-h: Create poll.h on all platforms.
29849         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
29850         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
29851         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
29852         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
29853         (gl_REPLACE_POLL_H): Don't set POLL_H.
29854         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
29855         * modules/poll-h (Depends-on): Add include_next.
29856         (Makefile.am): Create poll.h unconditionally. Substitute also
29857         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
29858
29859 2010-09-28  Bruno Haible  <bruno@clisp.org>
29860
29861         Tests for module 'poll-h'.
29862         * modules/poll-h-c++-tests: New file.
29863         * tests/test-poll-h-c++.cc: New file.
29864
29865         Tests for module 'poll-h'.
29866         * modules/poll-h-tests: New file.
29867         * tests/test-poll-h.c: New file.
29868
29869 2010-09-28  Bruno Haible  <bruno@clisp.org>
29870
29871         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
29872         * modules/poll-h (Depends-on): Add 'extensions'.
29873
29874 2010-09-28  Bruno Haible  <bruno@clisp.org>
29875
29876         New module 'poll-h'.
29877         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
29878         (poll): Use modern idiom.
29879         * modules/poll-h: New file.
29880         * modules/poll (Files): Remove lib/poll.in.h.
29881         (Depends-on): Add poll-h.
29882         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
29883         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
29884         * m4/poll_h.m4: New file.
29885         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
29886         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
29887         and invoke gl_REPLACE_POLL_H.
29888         * lib/poll.c: Use common idiom.
29889         * tests/test-poll.c: Likewise.
29890         * doc/posix-headers/poll.texi: Mention the poll-h module.
29891         Suggested by Eric Blake.
29892
29893 2010-09-26  Bruno Haible  <bruno@clisp.org>
29894
29895         sys_wait: Implement WSTOPSIG.
29896         * lib/sys_wait.in.h (WSTOPSIG): New macro.
29897         Reported by Simon Josefsson.
29898
29899 2010-09-26  Simon Josefsson  <simon@josefsson.org>
29900
29901         stdlib, sys_wait: Avoid compilation error on mingw.
29902         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
29903
29904 2010-09-26  Bruno Haible  <bruno@clisp.org>
29905
29906         stdlib tests: Avoid code duplication.
29907         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
29908         * modules/sys_wait-tests (Files): Likewise.
29909         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
29910         * tests/test-stdlib.c: Include test-sys_wait.h.
29911         (main): Invoke test_sys_wait_macros.
29912         * tests/test-sys_wait.c: Include test-sys_wait.h.
29913         (main): Invoke test_sys_wait_macros.
29914
29915 2010-09-25  Simon Josefsson  <simon@josefsson.org>
29916
29917         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
29918         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
29919         sure Windows sockets are working before calling getaddrinfo.
29920         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
29921         * doc/gnulib.texi (Windows sockets): Fix typo.
29922
29923 2010-09-25  Bruno Haible  <bruno@clisp.org>
29924
29925         Tests for module 'regex-quote'.
29926         * modules/regex-quote-tests: New file.
29927         * tests/test-regex-quote.c: New file.
29928
29929         New module 'regex-quote'.
29930         * lib/regex-quote.h: New file.
29931         * lib/regex-quote.c: New file.
29932         * modules/regex-quote: New file.
29933         Suggested by Reuben Thomas <rrt@sc3d.org>.
29934
29935 2010-09-24  Bruno Haible  <bruno@clisp.org>
29936
29937         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
29938         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
29939
29940 2010-09-23  Bruno Haible  <bruno@clisp.org>
29941
29942         setenv: Relax license.
29943         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
29944         Blake.
29945         Requested by Eric Blake.
29946
29947 2010-09-22  Bruno Haible  <bruno@clisp.org>
29948
29949         termios: Relax license.
29950         * modules/termios (License): Change to LGPLv2+.
29951         Requested by Eric Blake.
29952
29953 2010-09-22  Bruno Haible  <bruno@clisp.org>
29954
29955         threadlib: Allow the package to change the default to 'no'.
29956         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
29957         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
29958         Reported by Paul Eggert.
29959
29960 2010-09-22  Pádraig Brady  <P@draigbrady.com>
29961             Bruno Haible  <bruno@clisp.org>
29962
29963         Fix endless loop in mbmemcasecoll.
29964         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
29965         byte.
29966         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
29967
29968 2010-09-22  Bruno Haible  <bruno@clisp.org>
29969
29970         Tests for module 'memcoll'.
29971         * modules/memcoll-tests: New file.
29972         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
29973
29974         memcoll, xmemcoll: Clarify size vs. length.
29975         * modules/memcoll.c (memcoll0): Clarify specification.
29976         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
29977         passed to collate_error.
29978
29979 2010-09-22  Bruno Haible  <bruno@clisp.org>
29980
29981         Tests for module 'memcasecmp'.
29982         * modules/memcasecmp-tests: New file.
29983         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
29984
29985 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
29986
29987         * lib/pthread.in.h: Add split double-inclusion guard, and include
29988         system <pthread.h> if there is one.  Use @@-style as in other
29989         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
29990         pthread.h doesn't.
29991         (pthread_mutexattr_destroy, pthread_mutexattr_init):
29992         (pthread_mutexattr_settype, pthread_mutex_trylock):
29993         New static inline functions, if there's no system <pthread.h>.
29994         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
29995         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
29996         Approximate with mutexes if the system lacks spinlocks, as in
29997         MacOS.
29998         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
29999         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
30000         @@-style.  Check for spinlocks separately.
30001         (gl_PTHREAD_DEFAULTS): New macro.
30002         * modules/pthread: Redo to use a more typical style for in.h files.
30003
30004 2010-09-21  Eric Blake  <eblake@redhat.com>
30005
30006         net_if: enhance tests
30007         * tests/test-net_if.c (main): Move signature checks earlier.
30008         Print failures to stderr.
30009         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
30010         Document the bug that we do not yet fix.
30011
30012 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
30013
30014         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
30015         about gnulib, not GSS.
30016
30017 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
30018
30019         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
30020         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
30021         for Emacs.
30022         * build-aux/pmccabe2html: Make Makefile.am example code more
30023         cut-and-paste friendly.
30024
30025 2010-09-21  Simon Josefsson  <simon@josefsson.org>
30026
30027         * tests/test-net_if.c: New file.
30028         * modules/net_if-tests: New file.
30029
30030 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
30031
30032         pthread: add pthread_spin_destroy
30033         * lib/pthread.in.h (pthread_spin_destroy): New function.
30034
30035 2010-09-19  Bruno Haible  <bruno@clisp.org>
30036
30037         gnulib-tool: Fix --help output.
30038         * gnulib-tool (func_usage): Fix help message.
30039         Reported by Reuben Thomas <rrt@sc3d.org>.
30040
30041 2010-09-18  Jim Meyering  <meyering@redhat.com>
30042
30043         maint.mk: avoid unexpanded \n in two diagnostics
30044         * top/maint.mk (sc_prohibit_always_true_header_tests):
30045         Don't use a literal \n in a halt=... assignment.  It would not be
30046         expanded, and the two \n bytes would appear in the diagnostic output
30047         rather than the desired newline.  Use halt=$$(printf ... instead.
30048         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
30049
30050 2010-09-18  Bruno Haible  <bruno@clisp.org>
30051
30052         netinet_in: Doc tweak.
30053         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
30054         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30055
30056 2010-09-18  Jim Meyering  <meyering@redhat.com>
30057
30058         init.sh: correct an outdated comment
30059         * tests/init.sh (create_exe_shims_):  s/function/alias/
30060
30061         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
30062         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
30063         a file named "*.exe" is removed between the glob expansion and the
30064         processing of that oddly named file.
30065
30066 2010-09-17  Eric Blake  <eblake@redhat.com>
30067
30068         mirbsd: add some more support
30069         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
30070         in BSD family.
30071         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
30072         devices as OpenBSD.
30073         * m4/host-os.m4 (mirbsd): Add MirBSD.
30074
30075         tests: fix unportable assumption on sys/wait.h
30076         * tests/test-sys_wait.c (main): Relax test.
30077         * tests/test-stdlib.c (main): Likewise.
30078
30079         init.sh: accommodate directory with no .exes
30080         * tests/init.sh: Accomodate directory containing only scripts.
30081
30082         tests: avoid compiler warning
30083         * tests/test-stdlib.c (main): Use the variable.
30084
30085         fdutimens, fdutimensat: update signature, again
30086         * lib/utimens.h (gl_futimens): Delete, and move signature...
30087         (fdutimens): ...here.
30088         (fdutimensat): Rearrange signature.
30089         (lutimensat): Rename variable for clarity.
30090         * lib/fdutimensat.c (fdutimensat): Update signature.
30091         * lib/utimens.c (fdutimens): Likewise.
30092         (gl_futimens): Delete.
30093         (utimens, lutimens): Update callers.
30094         * lib/futimens.c (futimens): Likewise.
30095         * tests/test-fdutimensat.c: Likewise.
30096         * tests/test-utimens.c: Likewise.
30097         * tests/test-futimens.h: Update comment.
30098         * NEWS: Mention this.
30099         Suggested by Paul Eggert.
30100
30101 2010-09-17  Bruno Haible  <bruno@clisp.org>
30102
30103         Take over the maintenance of some older macros from Autoconf.
30104         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
30105         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
30106         GNU Autoconf.
30107         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
30108         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
30109
30110 2010-09-17  Eric Blake  <eblake@redhat.com>
30111
30112         fdutimensat: drop atflag validation
30113         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
30114         with valid fd, to close a race scenario where futimens is
30115         unsupported and FILE was replaced by a symlink.
30116         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
30117         accordingly.
30118         Suggested by Paul Eggert.
30119
30120 2010-09-16  Bruno Haible  <bruno@clisp.org>
30121
30122         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
30123         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
30124
30125 2010-09-16  Bruno Haible  <bruno@clisp.org>
30126
30127         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
30128         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
30129         login_tty exists.
30130         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30131
30132 2010-09-16  Bruno Haible  <bruno@clisp.org>
30133
30134         login_tty: Make the replacement code work on BSD systems.
30135         * lib/login_tty.c: Include <sys/ioctl.h>.
30136         (login_tty): Use ioctl TIOCSCTTY when available.
30137         * modules/login_tty (Depends-on): Add sys_ioctl.
30138         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30139
30140 2010-09-16  Bruno Haible  <bruno@clisp.org>
30141
30142         login_tty: Stricter unit test.
30143         * modules/login_tty-tests (Depends-on): Add tcgetsid.
30144         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
30145         and tcgetsid() after login_tty.
30146         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30147
30148 2010-09-16  Bruno Haible  <bruno@clisp.org>
30149
30150         New module 'tcgetsid'.
30151         * lib/tcgetsid.c: New file.
30152         * m4/tcgetsid.m4: New file.
30153         * modules/tcgetsid: New file.
30154         * modules/termios (Depends-on): Add c++defs, warn-on-use.
30155         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
30156         GNULIB_TCGETSID, HAVE_TCGETSID.
30157         * lib/termios.in.h: Include <sys/types.h>.
30158         (tcgetsid): New declaration.
30159         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
30160         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
30161         * doc/posix-functions/tcgetsid.texi: Mention the new module.
30162         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
30163
30164 2010-09-16  Bruno Haible  <bruno@clisp.org>
30165
30166         Tests for module 'termios'.
30167         * modules/termios-c++-tests: New file.
30168         * modules/termios-tests: New file.
30169         * tests/test-termios-c++.cc: New file.
30170         * tests/test-termios.c: New file.
30171
30172         New module 'termios'.
30173         * modules/termios: New file.
30174         * lib/termios.in.h: New file.
30175         * m4/termios_h.m4: New file.
30176         * doc/posix-headers/termios.texi: Mention the new module.
30177
30178 2010-09-16  Eric Blake  <eblake@redhat.com>
30179
30180         fdutimensat: add an atflag parameter
30181         * lib/fdutimensat.c (fdutimensat): Add new parameter.
30182         * lib/utimens.h (fdutimensat): Update prototype.
30183         * tests/test-fdutimensat.c: Adjust test to match.
30184         * NEWS: Document the change.
30185         Suggested by Paul Eggert.
30186
30187 2010-09-16  Bruno Haible  <bruno@clisp.org>
30188
30189         Fix typos in comments.
30190         * lib/striconveh.h: Fix typo in comment.
30191         * lib/login_tty.c (login_tty): Likewise.
30192
30193 2010-09-15  Bruno Haible  <bruno@clisp.org>
30194
30195         stdlib: clarify MirBSD WEXITSTATUS bug
30196         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
30197         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
30198
30199 2010-09-15  Eric Blake  <eblake@redhat.com>
30200
30201         stdlib: work around MirBSD WEXITSTATUS bug
30202         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
30203         * modules/stdlib (Depends-on): Add sys_wait.
30204         * tests/test-sys_wait.c (main): Enhance test.
30205         * tests/test-stdlib.c (main): Likewise.
30206         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
30207
30208         docs: mention MacOS issue with WEXITSTATUS(constant)
30209         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
30210         issue.
30211         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
30212
30213         strnlen: add tests
30214         * modules/strnlen-tests: New file.
30215         * tests/test-strnlen.c: Likewise.
30216
30217 2010-09-14  Bruno Haible  <bruno@clisp.org>
30218
30219         unistr/base: Avoid link errors when module 'libunistring' is also used.
30220         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
30221         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
30222         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
30223         Declare also when HAVE_LIBUNISTRING is set.
30224         Reported by Pádraig Brady <P@draigbrady.com>.
30225
30226 2010-09-14  Eric Blake  <eblake@redhat.com>
30227
30228         test-rawmemchr: make more robust
30229         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
30230         (Depends-on, configure.ac): Add needed prerequisites to use it.
30231         * modules/memchr-tests (Files, Depends-on, configure.ac):
30232         Likewise, to avoid implicit reliance on memchr module prereqs.
30233         * tests/test-memchr.c (main): Ensure proper masking.
30234         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
30235         reads.
30236
30237         memchr: detect glibc Alpha bug
30238         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
30239         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
30240         Alpha.
30241         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
30242         * tests/test-memchr.c (main): Enhance test.
30243         Reported by Nelson H. F. Beebe.
30244
30245 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
30246
30247         fts, getcwd, glob: audit for dirfd returning -1
30248         * lib/fts.c (opendir): Remove #define; no longer used.
30249         (opendirat): New arg PDIR_FD.  All callers changed.
30250         (fts_build, _opendir2): Use new opendirat to avoid the need for
30251         dirfd, or for checking whether dirfd returns a negative value.
30252         Don't use opendir; always use openat followed by fdopendir.
30253         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
30254         it.
30255         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
30256         returns -1 here.
30257         * modules/fts (Depends-on): Remove dirfd.
30258         * modules/getcwd (Depends-on): Likewise.
30259
30260 2010-09-13  Eric Blake  <eblake@redhat.com>
30261
30262         float: fix broken MirBSD header
30263         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
30264         * doc/posix-headers/float.texi (float.h): Document it.
30265
30266 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
30267
30268         fts: use O_NOFOLLOW to avoid race condition when opening a directory
30269         * lib/fts.c (opendirat): New arg extra_flags.
30270         (__opendir2): Use it to avoid following symlinks when opening
30271         a directory, if symlinks are not supposed to be followed.  See
30272         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
30273
30274         fdopendir: preserve argument fd before returning
30275         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
30276         (fdopendir_with_dup, fd_clone_opendir): New static functions.
30277         (fdopendir): Use them, arranging for FD to be open to the same
30278         directory that it was when it started.  (It might be temporarily
30279         closed while fdopendir is running, so this not thread- or
30280         signal-safe.)  Be careful to do the right thing even when file
30281         descriptors are scarce and dup fails with errno == EMFILE.  See
30282         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
30283
30284 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
30285
30286         regex: Pass the system regex if its only problem is 32-bit regoff_t.
30287         * NEWS: Document change.
30288         * m4/regex.m4: Disable test for regoff_t size.
30289
30290 2010-09-13  Jim Meyering  <meyering@redhat.com>
30291
30292         fts: don't operate on an invalid file descriptor after failed dup
30293         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
30294         negative file descriptor.
30295
30296 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
30297
30298         savedir: add streamsavedir, deprecate fdsavedir
30299         * NEWS: Mention deprecation of fdsavedir.
30300         * lib/savedir.c (streamsavedir): New extern function, whose name
30301         ends in "savedir" to be consistent with the others.  This differs
30302         from savedirstream in that it doesn't close its argument.  The
30303         next version of GNU tar will use this instead of fdsavedir, to
30304         avoid some race conditions and conserve file descriptors.
30305         (savedirstream): Reimplement as a wrapper around streamsavedir.
30306         (fdsavedir): Add a comment deprecating this function.  As far as
30307         I know, only GNU tar used it, and GNU tar doesn't need it any more.
30308         * lib/savedir.h (streamsavedir): New decl.
30309         (fdsavedir): Add a comment deprecating this.
30310
30311 2010-09-10  Bruno Haible  <bruno@clisp.org>
30312
30313         langinfo: Fix last commit.
30314         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
30315         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
30316         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30317
30318 2010-09-10  Bruno Haible  <bruno@clisp.org>
30319
30320         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
30321         * lib/progreloc.c (O_EXEC): Define fallback.
30322
30323 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
30324
30325         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
30326         * NEWS: Document recent changes to fcntl-h.
30327         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
30328         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
30329         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
30330         Similarly for O_SEARCH; this last was already true, but not documented.
30331         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
30332         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
30333         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
30334         Likewise.
30335         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
30336         is zero, not whether it is defined.
30337         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
30338         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
30339         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
30340
30341 2010-09-10  Bruno Haible  <bruno@clisp.org>
30342
30343         langinfo, nl_langinfo: Fix for IRIX 5.3.
30344         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
30345         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
30346         HAVE_LANGINFO_YESEXPR.
30347         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
30348         HAVE_LANGINFO_YESEXPR.
30349         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
30350         HAVE_LANGINFO_T_FMT_AMPM is 0.
30351         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
30352         HAVE_LANGINFO_YESEXPR is 0.
30353         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
30354         NOEXPR.
30355         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
30356         * doc/posix-functions/nl_langinfo.texi: Likewise.
30357         Reported by Eric Blake.
30358
30359 2010-09-10  Bruno Haible  <bruno@clisp.org>
30360
30361         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
30362         * doc/glibc-functions/login_tty.texi: Mention the include file problem
30363         on FreeBSD 8.0 and OpenBSD 4.6.
30364         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
30365         * m4/pty_h.m4 (gl_PTY_H): Likewise.
30366         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
30367         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
30368         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
30369         ac_includes_default.
30370         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30371
30372 2010-09-09  Eric Blake  <eblake@redhat.com>
30373
30374         strsignal: work around NetBSD bug
30375         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
30376         * lib/string.in.h (includes): Likewise.
30377         * doc/posix-functions/strsignal.texi (strsignal): Document the
30378         bug.
30379         Reported by Nelson H. F. Beebe.
30380
30381         gnulib-tool: work with NetBSD /bin/sh
30382         * gnulib-tool (func_cache_var, func_cache_lookup_module)
30383         (func_get_description, func_get_comment, func_get_status)
30384         (func_get_notice, func_get_applicability, func_get_filelist)
30385         (func_get_dependencies, func_get_autoconf_early_snippet)
30386         (func_get_autoconf_snippet, func_get_automake_snippet)
30387         (func_get_include_directive, func_get_link_directive)
30388         (func_get_license, func_get_maintainer, func_import): Avoid
30389         shell syntax errors from parsing syntax extensions.
30390
30391 2010-09-09  Bruno Haible  <bruno@clisp.org>
30392
30393         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30394         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
30395         a reliable way to determine whether the 'alias' command works.
30396
30397 2010-09-08  Jim Meyering  <meyering@redhat.com>
30398
30399         init.sh: penalize a set-x-impaired shell; don't disqualify it
30400         * tests/init.sh: Too many shells corrupt application stderr when
30401         you set -x, so we can't afford to disqualify them, since at least
30402         on Irix-6.5, that would disqualify all bourne shells.
30403         Instead, use a two-pass approach.
30404         On the first pass, try to find a shell that meets the stricter
30405         condition that set -x does not corrupt stderr.
30406         If no shell meets the stricter condition, retest each candidate
30407         shell, but without that extra condition.  Finally, when
30408         VERBOSE=yes is requested and set -x might cause trouble, simply
30409         issue a warning and refrain from enabling debug output.
30410
30411 2010-09-08  Eric Blake  <eblake@redhat.com>
30412
30413         unsetenv: fix OpenBSD bug
30414         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
30415         * doc/posix-functions/unsetenv.texi (unsetenv): Update
30416         documentation.
30417         Reported by Jim Meyering.
30418
30419         strtod: work around IRIX 6.5 bug
30420         * lib/strtod.c (strtod): Reparse number on shorter string if
30421         exponent parse was invalid.
30422         * tests/test-strtod.c (main): Add check for "0x1p 2".
30423         Reported by Tom G. Christensen.
30424
30425         getopt: optimize previous patch
30426         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
30427         empty variable.  Speed up awk script.
30428         Reported by Paolo Bonzini.
30429
30430 2010-09-08  Jim Meyering  <meyering@redhat.com>
30431
30432         test.sh: disqualify shells for which set -x corrupts stderr
30433         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
30434         and OpenBSD 4.7.  They make it so with "set -x", environment settings
30435         appear in stderr output.  For example, this command:
30436             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
30437         prints "P=1" on those two systems:
30438
30439 2010-09-08  Bruno Haible  <bruno@clisp.org>
30440
30441         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30442         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
30443         commands, because some shells ignore redirections when there is an
30444         error in the command lookup.
30445         Reported by Eric Blake.
30446
30447 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
30448
30449         * lib/regex.h: Fix a mention of `regex_compile' (should be
30450         `re_compile_pattern').
30451         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
30452         (re_set_registers): Correct name of parameter in comment.
30453
30454         * doc/regex.texi: Add documentation for missing syntax flags.
30455         Remove commented-out documentation of defunct syntax option
30456         RE_NO_EMPTY_ALTS.
30457         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
30458         Add documentation of re_set_registers.
30459         Document trick to re-use a pattern buffer by setting fastmap manually.
30460         Update documentation of struct re_pattern_buffer per public members.
30461         Uncomment documentation of equivalence class operators and
30462         collating symbol operators, since they are now implemented,
30463         Explain leftmost-longest matching in relation to alternatives.
30464         Tidy documentation of substring matching.
30465         Remove POSIX documentation, which is done better in
30466         glibc, and refer the reader there. Keep BSD API documentation, as
30467         that is not readily available elsewhere.
30468
30469 2010-09-07  Eric Blake  <eblake@redhat.com>
30470
30471         getopt: handle POSIXLY_CORRECT set but not exported
30472         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
30473         export state of POSIXLY_CORRECT, due to bash set -o posix.
30474         Reported by Dustin J. Mitchell.
30475
30476 2010-09-05  Bruno Haible  <bruno@clisp.org>
30477
30478         gnulib-tool: Highlight the changed options.
30479         * gnulib-tool (func_usage): Display the --import, --add-import,
30480         --remove-import explanations in bold font.
30481
30482 2010-09-06  Karl Berry  <karl@gnu.org>
30483
30484         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
30485
30486 2010-09-05  Bruno Haible  <bruno@clisp.org>
30487
30488         uniwidth/width: Update comment.
30489         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
30490         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
30491
30492 2010-09-05  Bruno Haible  <bruno@clisp.org>
30493
30494         isinf, isnan: Relax license.
30495         * modules/isinf (License): Change from GPL to LGPL, with consent from
30496         Ben Pfaff.
30497         * modules/isnan (License): Likewise.
30498         Requested by Ludovic Courtès.
30499
30500 2010-09-04  Bruno Haible  <bruno@clisp.org>
30501
30502         gnulib-tool: Help migration from --import to --add-import or --update.
30503         * gnulib-tool: Emit a verbose error message when --import is used
30504         without any module name.
30505
30506 2010-09-04  Bruno Haible  <bruno@clisp.org>
30507
30508         Update doc about gnulib-tool.
30509         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
30510         'gnulib-tool --update' in more detail.
30511         Reported by Eric Blake.
30512
30513 2010-09-04  Bruno Haible  <bruno@clisp.org>
30514
30515         gnulib-tool: Change --import. New options --add/remove-import.
30516         * gnulib-tool: New options --add-import, --remove-import.
30517         (func_usage): Document them.
30518         (have_associative): Define always.
30519         (func_import): In import mode, don't merge the specified settings with
30520         the cached settings. Implement remove-import mode.
30521         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
30522         Explain when to use them versus --import.
30523         (Simple update): Use --add-import instead of --import.
30524         * NEWS: Mention the change.
30525
30526 2010-09-04  Bruno Haible  <bruno@clisp.org>
30527
30528         * doc/gnulib-tool.texi (Initial import): Update paragraph about
30529         separate gnulib.mk.
30530
30531 2010-09-04  Bruno Haible  <bruno@clisp.org>
30532
30533         gnulib-tool: Don't talk about CVS any more.
30534         * gnulib-tool (func_usage, func_import): Write "version control"
30535         instead of CVS.
30536
30537 2010-09-04  Jim Meyering  <meyering@redhat.com>
30538
30539         maint.mk: avoid obscure sc_copyright_check failure in coreutils
30540         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
30541         false positives (whose names may be ill-chosen) when searching
30542         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
30543         would cause a false-positive.
30544
30545         avoid coreutils "make distcheck" failure
30546         Coreutils tests with an absolute build directory name that contains
30547         a space.  Not quoting this directory name caused a failure.
30548         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
30549         * tests/test-vc-list-files-cvs.sh: Likewise.
30550
30551 2010-09-04  Bruno Haible  <bruno@clisp.org>
30552
30553         gnulib-tool: Avoid error when run in a package without Makefile.am.
30554         * gnulib-tool: When collecting the m4dirs in a package that does not
30555         have a Makefile.am, eliminate those directories that contain no
30556         gnulib-cache.m4. Fix expression that counts these directories.
30557
30558 2010-09-04  Bruno Haible  <bruno@clisp.org>
30559
30560         update-copyright test: Improve output when perl is missing or too old.
30561         * tests/test-update-copyright.sh: Move test of Perl version down after
30562         the test whether Perl exists. Provide an explanation relating Perl's
30563         error message to Automake's SKIP: message.
30564
30565 2010-09-04  Bruno Haible  <bruno@clisp.org>
30566
30567         Don't augment PATH in TESTS_ENVIRONMENT.
30568         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
30569         set abs_aux_dir instead of augmenting PATH.
30570         * modules/vc-list-files-tests (Makefile.am): Likewise.
30571         * tests/test-update-copyright.sh: Augment PATH here.
30572         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
30573         path_prepend_.
30574         * tests/test-vc-list-files-git.sh: Likewise.
30575
30576 2010-09-04  Jim Meyering  <meyering@redhat.com>
30577
30578         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
30579         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
30580
30581 2010-09-04  Bruno Haible  <bruno@clisp.org>
30582
30583         strdup: Fix compilation error in C++ mode.
30584         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
30585         the macro.
30586
30587 2010-09-04  Bruno Haible  <bruno@clisp.org>
30588
30589         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
30590         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
30591         macro into a function.
30592         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30593
30594 2010-09-04  Bruno Haible  <bruno@clisp.org>
30595
30596         Set PATH_SEPARATOR the same way autoconf does.
30597         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
30598         the value of PATH_SEPARATOR the same way autoconf-generated configure
30599         scripts do.
30600         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
30601         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
30602
30603 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
30604
30605         Set PATH_SEPARATOR the same way autoconf does.
30606         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
30607         the same way autoconf-generated configure scripts do.
30608         * posix-modules: Likewise.
30609
30610 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
30611
30612         hash: fix safe_hasher const typo
30613         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
30614         const; otherwise, there is a type error later.
30615
30616 2010-09-02  Jim Meyering  <meyering@redhat.com>
30617
30618         test-update-copyright.sh: require perl 5.8.0
30619         * tests/test-update-copyright.sh: Require 5.8.0,
30620         which Tom G. Christensen has confirmed is adequate,
30621         while 5.6.1 is not.
30622
30623 2010-09-02  Eric Blake  <eblake@redhat.com>
30624
30625         tests: init.sh improvements for re-exec'ing with zsh
30626         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
30627         -vx through shell re-exec.
30628         Reported by Tom G. Christensen.
30629
30630         wctype: fix typo in previous commit
30631         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
30632         Reported by Ludovic Courtès.
30633
30634 2010-09-02  Jim Meyering  <meyering@redhat.com>
30635
30636         test-update-copyright.sh: skip test if Perl is too old
30637         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
30638         Reported by Tom G. Christensen.
30639
30640 2010-09-02  Bruno Haible  <bruno@clisp.org>
30641
30642         wctype: Avoid compilation error on IRIX 6.5.30.
30643         * lib/wctype.in.h (iswblank): Declare with a replacement if
30644         REPLACE_ISWBLANK is set.
30645         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
30646         declared. Set REPLACE_ISWBLANK.
30647         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
30648         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
30649         * doc/posix-headers/wctype.texi: Likewise.
30650         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30651
30652 2010-09-01  Bruno Haible  <bruno@clisp.org>
30653
30654         New module 'socketlib'.
30655         * modules/socketlib: New file.
30656         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
30657         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
30658         * modules/sockets (Depends-on): Add socketlib.
30659         Suggested by Sam Steingold <sds@gnu.org>.
30660
30661 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
30662
30663         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
30664
30665         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
30666         when one needs search access to a directory but not read access.
30667         On systems where it is available, it works in some cases where
30668         O_RDONLY does not, namely on directories that are searchable but
30669         not readable, and which need only to be searchable.  If O_SEARCH
30670         is not available, fall back to the traditional method of using
30671         O_RDONLY.
30672
30673         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
30674         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
30675         when opening a directory that needs only to be searchable.
30676         * lib/chdir-safer.c (chdir_no_follow): Likewise.
30677         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
30678         * lib/openat-proc.c (openat_proc_name): Likewise.
30679         * lib/openat.c (openat_needs_fchdir): Likewise.
30680         * lib/save-cwd.c (save_cwd): Likewise.
30681         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
30682
30683 2010-08-28  Bruno Haible  <bruno@clisp.org>
30684
30685         New module 'host-cpu-c-abi'.
30686         * modules/host-cpu-c-abi: New file.
30687         * m4/host-cpu-c-abi.m4: New file, based on part of
30688         clisp/src/m4/general.m4.
30689         Requested by Sam Steingold <sds@gnu.org>.
30690
30691 2010-08-31  Eric Blake  <eblake@redhat.com>
30692         and Jim Meyering  <meyering@redhat.com>
30693
30694         hash: factor, and guard against misbehaving hasher function
30695         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
30696         of table->hasher's return value.  Also protect against a hash value
30697         so large that adding it to table->bucket results in a NULL pointer.
30698         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
30699         Use it in place of open-coded check-and-abort.
30700
30701 2010-08-30  Bruno Haible  <bruno@clisp.org>
30702
30703         hash: silence spurious clang warning
30704         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
30705         Reported by Eric Blake.
30706
30707 2010-08-30  Eric Blake  <eblake@redhat.com>
30708
30709         strstr, memmem, strcasestr: avoid leaked shell message
30710         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
30711         FreeBSD.
30712         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30713         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
30714
30715         tests: silence clang warning
30716         * tests/test-malloca.c (do_allocation): Avoid dead store.
30717
30718 2010-08-29  Bruno Haible  <bruno@clisp.org>
30719
30720         gettext: Fix recent mistake.
30721         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
30722
30723 2010-08-29  Bruno Haible  <bruno@clisp.org>
30724
30725         selinux-h: Offer a --without-selinux option.
30726         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
30727         --without-selinux was specified, skip all tests and define
30728         HAVE_SELINUX_SELINUX_H to 0.
30729         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
30730         set LIB_SELINUX to empty.
30731         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
30732         gl_LIBSELINUX. If --without-selinux was specified, replace
30733         selinux/context.h.
30734         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
30735
30736 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30737             Bruno Haible  <bruno@clisp.org>
30738
30739         Make the module 'realloc-gnu' work again on AIX and OSF/1.
30740         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
30741         of HAVE_REALLOC.
30742         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
30743         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
30744         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
30745         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30746
30747 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30748             Bruno Haible  <bruno@clisp.org>
30749
30750         Make the module 'calloc-gnu' work again on AIX and OSF/1.
30751         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
30752         HAVE_CALLOC.
30753         * lib/xmalloc.c: Update accordingly.
30754         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
30755         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
30756         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
30757
30758 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30759             Bruno Haible  <bruno@clisp.org>
30760
30761         Make the module 'malloc-gnu' work again on AIX and OSF/1.
30762         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
30763         HAVE_MALLOC.
30764         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
30765         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
30766         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30767
30768 2010-08-29  Bruno Haible  <bruno@clisp.org>
30769
30770         Update modules list.
30771         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
30772         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
30773         (String handling <string.h>): Add astrxfrm.
30774         (File system functions): Add readlinkat.
30775
30776 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30777
30778         Tests for module 'realloc-gnu'.
30779         * modules/realloc-gnu-tests: New file.
30780         * tests/test-realloc-gnu.c: New file.
30781
30782         Tests for module 'calloc-gnu'.
30783         * modules/calloc-gnu-tests: New file.
30784         * tests/test-calloc-gnu.c: New file.
30785
30786         Tests for module 'malloc-gnu'.
30787         * modules/malloc-gnu-tests: New file.
30788         * tests/test-malloc-gnu.c: New file.
30789
30790 2010-08-28  Bruno Haible  <bruno@clisp.org>
30791
30792         Rename module 'realloc' -> 'realloc-gnu'.
30793         * modules/realloc-gnu: New file, copied from modules/realloc.
30794         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
30795         obsolete.
30796         * modules/mgetgroups (Depends-on): Update.
30797         * doc/posix-functions/realloc.texi: Update.
30798         * NEWS: Mention the change.
30799
30800         Rename module 'calloc' -> 'calloc-gnu'.
30801         * modules/calloc-gnu: New file, copied from modules/calloc.
30802         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
30803         obsolete.
30804         * doc/posix-functions/calloc.texi: Update.
30805         * NEWS: Mention the change.
30806
30807         Rename module 'malloc' -> 'malloc-gnu'.
30808         * modules/malloc-gnu: New file, copied from modules/malloc.
30809         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
30810         obsolete.
30811         * modules/argp (Depends-on): Update.
30812         * modules/regex (Depends-on): Update.
30813         * doc/posix-functions/malloc.texi: Update.
30814         * NEWS: Mention the change.
30815
30816 2010-08-28  Eric Blake  <eblake@redhat.com>
30817
30818         pread, pwrite: add missing dependency
30819         * modules/pread (Depends-on): Add extensions.
30820         * modules/pwrite (Depends-on): Likewise.
30821
30822 2010-08-28  Bruno Haible  <bruno@clisp.org>
30823
30824         unistr/u*-strchr: Fix tests dependencies.
30825         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
30826         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
30827         Reported by Ian Beckwith <ianb@erislabs.net>.
30828
30829 2010-08-28  Bruno Haible  <bruno@clisp.org>
30830
30831         read-file: Don't occupy too much unused memory.
30832         * lib/read-file.c (fread_file): Shrink the buffer at the end.
30833
30834 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
30835             Eric Blake  <eblake@redhat.com>
30836             Bruno Haible  <bruno@clisp.org>
30837
30838         read-file: Avoid memory reallocations with regular files.
30839         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
30840         (fread_file): With regular files, use the remaining length as the
30841         initial buffer size.  Check against overflow.
30842         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
30843         sys_stat.
30844
30845 2010-08-28  Bruno Haible  <bruno@clisp.org>
30846
30847         ftello: Relax license.
30848         * modules/ftello (License): Relax to LGPLv2+.
30849         Reported by Eric Blake.
30850
30851 2010-08-28  Bruno Haible  <bruno@clisp.org>
30852
30853         Avoid relocwrapper link errors due to gnulib replacement functions.
30854         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
30855         function.
30856         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30857
30858 2010-08-28  Bruno Haible  <bruno@clisp.org>
30859
30860         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
30861         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
30862         defined.
30863         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
30864         Suggested by Eric Blake.
30865
30866 2010-08-28  Bruno Haible  <bruno@clisp.org>
30867
30868         sys_socket, netdb: Ensure socklen_t gets defined.
30869         * modules/sys_socket (Depends-on): Add socklen.
30870         * modules/netdb (Depends-on): Likewise.
30871         * modules/getaddrinfo (Depends-on): Remove socklen.
30872         * modules/getsockopt (Depends-on): Likewise.
30873         * modules/setsockopt (Depends-on): Likewise.
30874         * tests/test-sys_socket.c: Check that socklen_t is defined.
30875         * tests/test-netdb.c: Likewise.
30876         * m4/socklen.m4: Update comments.
30877         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30878
30879 2010-08-27  Eric Blake  <eblake@redhat.com>
30880
30881         login_tty: add missing dependency
30882         * modules/login_tty (Depends-on): Add pty.
30883
30884 2010-08-26  Eric Blake  <eblake@redhat.com>
30885
30886         lib-symbol-versions: fix m4 quoting
30887         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
30888         format for AC_LINK_IFELSE.
30889
30890         glob: fix compile test
30891         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
30892
30893         btowc: fix missing file
30894         * modules/btowc (Files): Also ship locale-fr.m4.
30895
30896         lseek: fix link test
30897         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
30898         AC_LINK_IFELSE.
30899
30900         include_next: silence autoconf 2.68 warning
30901         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
30902         AC_COMPILE_IFELSE as special.
30903         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
30904         autoconf < 2.68.
30905
30906         acl: fix compilation test
30907         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
30908         AC_COMPILE_IFELSE.
30909
30910 2010-08-26  Bruno Haible  <bruno@clisp.org>
30911
30912         Modernize AC_TRY_RUN invocations.
30913         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
30914         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
30915         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
30916         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
30917         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
30918         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
30919         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
30920         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
30921         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30922         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30923         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
30924         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
30925         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
30926         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30927         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
30928         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
30929         gl_MBRLEN_NUL_RETVAL): Likewise.
30930         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
30931         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
30932         Likewise.
30933         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
30934         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
30935         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
30936         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
30937         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
30938         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
30939         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
30940         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
30941         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
30942         Likewise.
30943         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
30944         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
30945         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
30946         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30947         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30948         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
30949         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
30950         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
30951         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
30952         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30953
30954 2010-08-26  Bruno Haible  <bruno@clisp.org>
30955
30956         Modernize AC_TRY_LINK invocations.
30957         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
30958         AC_TRY_LINK.
30959         * m4/argp.m4 (gl_ARGP): Likewise.
30960         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
30961         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30962         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
30963         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30964         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30965         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
30966         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
30967         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
30968         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30969         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
30970         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30971         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
30972         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
30973         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30974         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
30975         * m4/hostent.m4 (gl_HOSTENT): Likewise.
30976         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30977         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
30978         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
30979         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
30980         Likewise.
30981         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
30982         Likewise.
30983         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
30984         Likewise.
30985         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
30986         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
30987         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
30988         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
30989         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
30990         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
30991         * m4/servent.m4 (gl_SERVENT): Likewise.
30992         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
30993         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
30994         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
30995         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
30996         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30997         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
30998         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
30999         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31000         * modules/tsearch-tests (configure.ac): Likewise.
31001
31002 2010-08-26  Bruno Haible  <bruno@clisp.org>
31003
31004         Modernize AC_TRY_COMPILE invocations.
31005         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
31006         AC_TRY_COMPILE.
31007         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
31008         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
31009         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
31010         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
31011         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
31012         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
31013         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31014         * m4/lock.m4 (gl_LOCK): Likewise.
31015         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
31016         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
31017         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
31018         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
31019         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
31020         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
31021         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
31022         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
31023         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
31024         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
31025         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
31026         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
31027         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
31028         extraneous semicolon.
31029
31030 2010-08-26  Jim Meyering  <meyering@redhat.com>
31031
31032         stat-time: relax license LGPL
31033         * modules/stat-time (License): Change from GPL to LGPL,
31034         with consent from all contributors, for use in libguile.
31035         Requested by Ludovic Courtès.
31036
31037 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
31038
31039         poll: return immediately on POLLHUP.
31040         * lib/poll.c (poll): Always set timeout before wait_timeout is
31041         computed.
31042
31043 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31044
31045         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
31046         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
31047         rmdir ("dir/.//"), unlinkat.
31048
31049 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
31050
31051         stdbool: avoid spurious failure with modern xlc
31052         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
31053
31054 2010-08-24  Bruno Haible  <bruno@clisp.org>
31055
31056         getloadavg: simplify code
31057         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
31058         gl_have_func. Update comments.
31059
31060 2010-08-24  Eric Blake  <eblake@redhat.com>
31061
31062         getloadavg: don't define SVR4 on cygwin
31063         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
31064         only define SVR4 when -lkvm is required.
31065         Reported by Yaakov Selkowitz.
31066
31067 2010-08-24  Bruno Haible  <bruno@clisp.org>
31068
31069         priv-set: fix comment
31070         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
31071
31072 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
31073
31074         priv-set: fix comments
31075         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
31076         to match code, as suggested by David Bartley in:
31077         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
31078
31079 2010-08-23  Eric Blake  <eblake@redhat.com>
31080
31081         stdbool: avoid rejecting clang
31082         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
31083         * tests/test-stdbool.c: Enable more tests if using the system
31084         <stdbool.h> instead of the gnulib replacement.
31085         (main): Move xlc bug test to a runtime test for all compilers.
31086         Reported by Anders Kaseorg.
31087
31088         argz: fix shell quoting issue
31089         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
31090         Reported by Charles Wilson.
31091
31092 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
31093             Erik Faye-Lund <kusmabite@gmail.com>
31094
31095         poll, select: handle ERROR_BROKEN_PIPE.
31096         * lib/poll.c (win32_compute_revents): Return POLLHUP when
31097         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
31098         * lib/select.c (win32_compute_revents): Do not mark a pipe
31099         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
31100
31101 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
31102
31103         fts: allow compilation with C++
31104         * lib/fts_.h: Specify extern "C" linkage with C++.
31105
31106 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31107
31108         Fix gnulib-tool sed script de-commentation for AIX sed.
31109         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
31110         sed.
31111
31112 2010-08-17  Eric Blake  <eblake@redhat.com>
31113
31114         test-stddef: test for (some) offsetof bugs
31115         * tests/test-stddef.c: Enhance test to ensure correct type of
31116         offsetof.
31117         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
31118         that we are not fixing at this time.
31119
31120 2010-08-15  Bruno Haible  <bruno@clisp.org>
31121
31122         stpncpy: Allow stpncpy to be defined as a macro.
31123         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
31124         if it's already correctly declared.
31125         * lib/string.in.h (stpncpy): Undefine before redefining.
31126         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
31127
31128 2010-08-14  Bruno Haible  <bruno@clisp.org>
31129
31130         Rename module 'memxfrm' to 'amemxfrm'.
31131         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
31132         (amemxfrm): Renamed from memxfrm.
31133         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
31134         (amemxfrm): Renamed from memxfrm.
31135         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
31136         * NEWS: Mention the change.
31137         * MODULES.html.sh (String handling <string.h>): Update.
31138         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
31139         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
31140         * lib/unicase/u16-casexfrm.c: Likewise.
31141         * lib/unicase/u32-casexfrm.c: Likewise.
31142         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
31143         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
31144         * lib/uninorm/u16-normxfrm.c: Likewise.
31145         * lib/uninorm/u32-normxfrm.c: Likewise.
31146         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
31147         memxfrm.
31148         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
31149         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
31150         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
31151         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
31152         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
31153         Suggested by Paul Eggert.
31154
31155 2010-08-14  Bruno Haible  <bruno@clisp.org>
31156
31157         Tests for module 'astrxfrm'.
31158         * modules/astrxfrm-tests: New file.
31159         * tests/test-astrxfrm.c: New file.
31160
31161         New module 'astrxfrm'.
31162         * lib/astrxfrm.h: New file.
31163         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
31164         * modules/astrxfrm: New file.
31165
31166 2010-08-14  Reuben Thomas <rrt@sc3d.org>
31167
31168         regex: Tweak doc.
31169         * doc/regex.texi (Overview): Don't mention regex.c.
31170         (GNU Regular Expression Compiling): Likewise.
31171         (Match-end-of-line Operator): Mention 'not_eol'.
31172
31173 2010-08-14  Brian Gough  <bjg@gnu.org>
31174             Bruno Haible  <bruno@clisp.org>
31175
31176         git-merge-changelog: add doc relating to use with bzr and hg.
31177         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
31178
31179 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
31180
31181         pthread: fix pthread.h creation for srcdir != builddir
31182         * modules/pthread (Makefile.am): Fix the rule to work also in a
31183         non-srcdir build.
31184
31185 2010-08-13  Karl Berry  <karl@gnu.org>
31186
31187         * doc/regex.texi (Predefined Syntaxes): @smallexample.
31188         * doc/posix-*/*: force line break before @url of POSIX
31189         specifications.
31190         Suggested by Werner Lemberg.
31191
31192 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
31193
31194         strtod: fix const diagnostic
31195         * lib/strtod.c (strtod): Don't assign const char * to char *,
31196         as this elicits a warning from GCC when warnings are enabled.
31197
31198 2010-08-10  Pádraig Brady <P@draigbrady.com>
31199         and Eric Blake  <eblake@redhat.com>
31200
31201         copy-acl: ignore ENOTSUP on HP-UX
31202         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
31203         so that it is available for HP-UX.
31204         * lib/copy-acl.c (qcopy_acl): Use it.
31205         Reported by Patrick M. Callahan.
31206
31207 2010-08-10  Eric Blake  <eblake@redhat.com>
31208
31209         open, chown: relax license
31210         * modules/open (License): Change to LGPLv2+, with consent by all
31211         authors, for use in augeas.
31212         * modules/chown (License): Likewise.
31213         * modules/lchown (Likewise): Likewise.
31214         Requested by Adam Stokes.
31215
31216 2010-08-09  Karl Berry  <karl@gnu.org>
31217
31218         * build-aux/ar-lib: new file, import from Automake.
31219         * config/srclist.txt: autocheck for updates.
31220
31221 2010-08-09  Eric Blake  <eblake@redhat.com>
31222
31223         readlinkat: adjust client modules
31224         * modules/areadlinkat (Depends-on): Use readlinkat, not
31225         symlinkat.
31226         * modules/areadlinkat-with-size (Depends-on): Likewise.
31227
31228         mknod: be more vocal about danger of running tests as root
31229         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
31230         root, since that is just asking for problems.
31231         Suggested by Bruno Haible, based on a report by Rainer Tammer.
31232
31233         readlinkat: split into its own module
31234         * modules/symlinkat: Split readlinkat...
31235         * modules/readlinkat: ...into separate module.
31236         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
31237         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
31238         * lib/symlinkat.c (readlinkat): Move...
31239         * lib/readlinkat.c: ...into new file.
31240         * modules/symlinkat-tests: Split readlinkat test...
31241         * modules/readlinkat-tests: ...into separate module.
31242         * tests/test-symlinkat.c: Split...
31243         * tests/test-readlinkat.c: ...into new file.
31244         * NEWS: Document the split.
31245         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
31246         * lib/unistd.in.h (readlinkat): Likewise.
31247         Suggested by Bruno Haible.
31248
31249 2010-08-08  Bruno Haible  <bruno@clisp.org>
31250
31251         memxfrm: Speed up.
31252         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
31253         that usually only one call to strxfrm is necessary for each string
31254         part.
31255         Reported by Paul Eggert <eggert@cs.ucla.edu>.
31256
31257 2010-08-07  Karl Berry  <karl@gnu.org>
31258
31259         * doc/posix-headers/limits.texi,
31260         * doc/posix-functions/malloc.texi,
31261         * doc/posix-functions/strsignal.texi: missing @item.
31262         * doc/ld-version-script.texi: spurious leading i.
31263         * doc/regex.texi (Interval Operators): no commas inside @var.
31264
31265 2010-08-01  Bruno Haible  <bruno@clisp.org>
31266
31267         Integrate the regex documentation.
31268         * doc/gnulib.texi: Define 'cn' index.
31269         (Regular expressions): New a chapter that includes regex.texi and
31270         regexprops-generic.texi.
31271         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
31272         syntax.
31273
31274         Whitespace cleanup.
31275         * doc/regex.texi: Remove trailing spaces.
31276
31277         Add regex documentation.
31278         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
31279         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
31280         Written by Kathy A. Hargreaves and Karl Berry.
31281
31282 2010-08-01  Bruno Haible  <bruno@clisp.org>
31283
31284         link: Update documentation.
31285         * doc/posix-functions/link.texi: Update regarding Solaris.
31286
31287 2010-07-31  Bruno Haible  <bruno@clisp.org>
31288
31289         Update modules list.
31290         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
31291         (String handling <string.h>): Add memcmp2, memxfrm.
31292         (Container data structures): Add xlist, xsublist, xoset.
31293         (Core language properties): Add alignof, unused-parameter.
31294         (Process control, Numeric conversion functions <stdlib.h>): Renamed
31295         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
31296         (Unibyte characters <ctype.h>): New section.
31297         (String handling <string.h>): New section.
31298         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
31299         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
31300         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
31301         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
31302         tan, tanh, tanl, y0, y1, yn.
31303         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
31304         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
31305         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
31306         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
31307         unlockpt, vdprintf, vdprintf-posix.
31308         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
31309         (File system functions): Add concat-filename, sys_file, sys_ioctl,
31310         xconcat-filename.
31311         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
31312         getdtablesize, pipe2, pipe2-safer.
31313         (Security): New section.
31314         (Networking functions): Add accept4.
31315         (Signal handling): Add sigpipe.
31316         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
31317         mbmemcasecoll.
31318         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
31319         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
31320         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
31321         pipe-filter-ii.
31322         (Misc): Add argp-version-etc, login_tty, parse-duration.
31323
31324 2010-07-31  Bruno Haible  <bruno@clisp.org>
31325
31326         Improve doc in MODULES.html.
31327         * modules/linkat (Description): Add the word "function".
31328         * modules/mkfifo (Description): Likewise.
31329         * modules/mknod (Description): Likewise.
31330         * modules/remove (Description): Likewise.
31331         * modules/renameat (Description): Likewise.
31332         * modules/stat (Description): Likewise.
31333         * modules/symlink (Description): Likewise.
31334         * modules/unlink (Description): Likewise.
31335
31336 2010-07-31  Bruno Haible  <bruno@clisp.org>
31337
31338         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
31339         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
31340         option --enable/disable-c++ instead of --enable/disable-cxx.
31341         * NEWS: Mention the change.
31342
31343 2010-07-31  Bruno Haible  <bruno@clisp.org>
31344
31345         readlink, areadlink: Relax test a bit.
31346         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
31347         alternative to ENOTDIR.
31348         * tests/test-areadlink.h (test_areadlink): Likewise.
31349         Reported by Rainer Tammer.
31350
31351 2010-07-31  Bruno Haible  <bruno@clisp.org>
31352
31353         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
31354         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
31355         character, perform the search using U_STRCHR.
31356         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
31357         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
31358         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
31359         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
31360         Suggested by Paolo Bonzini.
31361
31362 2010-07-31  Bruno Haible  <bruno@clisp.org>
31363
31364         unistr/u*-strstr: Fix dependencies.
31365         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
31366         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
31367         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
31368
31369 2010-07-31  Bruno Haible  <bruno@clisp.org>
31370
31371         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
31372         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
31373         the beginning of the loop.
31374         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
31375         cases in 'switch' statement.
31376
31377         unistr/u8-strchr: Fix several bugs.
31378         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
31379         the string. When not found, return NULL, not a pointer near the end.
31380
31381         More tests for unistr/u8-strchr.
31382         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
31383         that the function does not read past the first occurrence of the byte
31384         being searched.
31385         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
31386         * tests/unistr/test-u16-strchr.c (main): New function.
31387         * tests/unistr/test-u32-strchr.c (main): New function.
31388
31389 2010-07-31  Bruno Haible  <bruno@clisp.org>
31390
31391         posix-modules: Ignore backup files of documentation files.
31392         * posix-modules: grep only through files named *.texi.
31393
31394 2010-07-31  Bruno Haible  <bruno@clisp.org>
31395
31396         symlinkat: Fix documentation.
31397         * doc/posix-functions/readlinkat.texi: Fix module name.
31398
31399 2010-07-31  Bruno Haible  <bruno@clisp.org>
31400
31401         fchownat: Replace also when chown has the trailing slash bug.
31402         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
31403         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
31404         introduced on 2010-04-10.
31405         Reported by Rainer Tammer.
31406
31407 2010-07-31  Bruno Haible  <bruno@clisp.org>
31408
31409         linkat: Work around AIX 7.1 bug.
31410         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
31411         whether linkat handles trailing slash correctly. If not, replace linkat
31412         and define LINKAT_TRAILING_SLASH_BUG.
31413         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
31414         check whether (fd1,file1) points to a directory if file1 or file2 ends
31415         in a slash. Code taken from lib/link.c.
31416         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
31417         Reported by Rainer Tammer.
31418
31419 2010-07-31  Bruno Haible  <bruno@clisp.org>
31420
31421         Correctly determine whether pow is available in libc on AIX 7 with xlc.
31422         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
31423         This disables an xlc optimization that was causing wrong test results.
31424         Reported by Rainer Tammer.
31425
31426 2010-07-31  Bruno Haible  <bruno@clisp.org>
31427
31428         iconv: Work around AIX 6.1..7.1 bug.
31429         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
31430         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
31431         cross-compiling, guess no on all versions of AIX.
31432         Reported by Rainer Tammer.
31433
31434 2010-07-31  Bruno Haible  <bruno@clisp.org>
31435
31436         readlink: Relax test a bit.
31437         * tests/test-readlink.h (test_readlink): Allow different errno value
31438         when readlink is called with a file name that ends in / and refers to
31439         a file.
31440         Suggested by Eric Blake.
31441         Reported by Rainer Tammer.
31442
31443 2010-07-31  Bruno Haible  <bruno@clisp.org>
31444
31445         copysign: Does not require -lm on glibc systems.
31446         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
31447         gl_COMMON_DOUBLE_MATHFUNC.
31448         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
31449
31450 2010-07-31  Bruno Haible  <bruno@clisp.org>
31451
31452         duplocale: Work around AIX 7.1 bug.
31453         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
31454         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
31455         * lib/duplocale.c (rpl_duplocale): Update comment.
31456         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
31457         Reported by Rainer Tammer.
31458
31459 2010-07-30  Bruno Haible  <bruno@clisp.org>
31460
31461         dirfd: Avoid link error on AIX 7.1.
31462         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
31463         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
31464         exist, set REPLACE_DIRFD.
31465         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
31466         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
31467         * doc/posix-functions/dirfd.texi: Update.
31468         Reported by Rainer Tammer.
31469
31470 2010-07-30  Eric Blake  <eblake@redhat.com>
31471
31472         strtod: next round of AIX fixes
31473         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
31474         exponent.
31475         * tests/test-strtod.c (main): Enhance tests.
31476         * doc/posix-functions/strtod.texi (strtod): Document next bug.
31477         Reported by Rainer Tammer.
31478
31479         futimens: fix configure check
31480         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
31481         Reported by Bruno Haible.
31482
31483 2010-07-30  Bruno Haible  <bruno@clisp.org>
31484
31485         getline: Update regarding AIX.
31486         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
31487         Reported by Rainer Tammer.
31488
31489 2010-07-30  Bruno Haible  <bruno@clisp.org>
31490
31491         wcwidth: Drop replacement on AIX 7.
31492         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
31493         AIX 7.
31494         Reported by Rainer Tammer.
31495
31496 2010-07-30  Bruno Haible  <bruno@clisp.org>
31497
31498         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
31499         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
31500         a 'char *'.
31501         Reported by Rainer Tammer.
31502
31503 2010-07-30  Bruno Haible  <bruno@clisp.org>
31504
31505         unlink: Update regarding AIX.
31506         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
31507         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
31508         Reported by Rainer Tammer.
31509
31510 2010-07-30  Bruno Haible  <bruno@clisp.org>
31511
31512         symlink: Update regarding AIX.
31513         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
31514         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
31515         Reported by Rainer Tammer.
31516
31517 2010-07-30  Bruno Haible  <bruno@clisp.org>
31518
31519         strndup: Update regarding AIX.
31520         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
31521         AIX 7.
31522         Reported by Rainer Tammer.
31523
31524 2010-07-30  Bruno Haible  <bruno@clisp.org>
31525
31526         stat: Update regarding AIX.
31527         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
31528         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
31529         Reported by Rainer Tammer.
31530
31531 2010-07-30  Bruno Haible  <bruno@clisp.org>
31532
31533         truncl: Fix autoconf test.
31534         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
31535         whether truncl works.
31536         Reported by Rainer Tammer.
31537
31538 2010-07-30  Bruno Haible  <bruno@clisp.org>
31539
31540         round: Update regarding AIX.
31541         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
31542         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
31543         Reported by Rainer Tammer.
31544
31545 2010-07-30  Bruno Haible  <bruno@clisp.org>
31546
31547         rename: Update regarding AIX.
31548         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
31549         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
31550         Reported by Rainer Tammer.
31551
31552 2010-07-30  Bruno Haible  <bruno@clisp.org>
31553
31554         printf.m4: Update regarding AIX.
31555         * m4/printf.m4: Update comments regarding AIX.
31556         Reported by Rainer Tammer.
31557
31558 2010-07-30  Bruno Haible  <bruno@clisp.org>
31559
31560         iconv: Update regarding AIX.
31561         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
31562         AIX 7.
31563         Reported by Rainer Tammer.
31564
31565 2010-07-30  Bruno Haible  <bruno@clisp.org>
31566
31567         getopt: Update regarding AIX.
31568         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
31569         no on AIX.
31570         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
31571         Reported by Rainer Tammer.
31572
31573 2010-07-30  Bruno Haible  <bruno@clisp.org>
31574
31575         ldexpl; Update regarding AIX.
31576         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
31577         on AIX 7.
31578         Reported by Rainer Tammer.
31579
31580 2010-07-30  Bruno Haible  <bruno@clisp.org>
31581
31582         frexpl: Update regarding AIX.
31583         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
31584         on AIX 7.
31585         Reported by Rainer Tammer.
31586
31587 2010-07-30  Bruno Haible  <bruno@clisp.org>
31588
31589         open, fopen: Update regarding AIX.
31590         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
31591         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
31592         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
31593         * doc/posix-functions/fopen.texi: Likewise.
31594         Reported by Rainer Tammer.
31595
31596 2010-07-30  Bruno Haible  <bruno@clisp.org>
31597
31598         chown: Update doc regarding AIX.
31599         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
31600         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
31601         Reported by Rainer Tammer.
31602
31603 2010-07-30  Eric Blake  <eblake@redhat.com>
31604
31605         strtod: fix bug in replacement function on AIX
31606         * lib/strtod.c (strtod): Special case broken "0x" parse in
31607         underlying strtod.
31608         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
31609         * doc/posix-functions/strtod.texi (strtod): Likewise.
31610         Reported by Rainer Tammer.
31611
31612 2010-07-30  Bruno Haible  <bruno@clisp.org>
31613
31614         mbrlen: Fix cross-compilation guess for AIX.
31615         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
31616         guess. Leftover from 2008-12-22.
31617
31618 2010-07-30  Bruno Haible  <bruno@clisp.org>
31619
31620         mbrtowc: Fix cross-compilation guess for AIX.
31621         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
31622         guess. Leftover from 2008-12-21.
31623
31624 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
31625
31626         init.sh: work around trap limitation of some shells
31627         * tests/init.sh (setup_): Move exit trap outside of shell function.
31628
31629 2010-07-29  Eric Blake  <eblake@redhat.com>
31630
31631         strtod: aid debugging
31632         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
31633         understanding why strtod is rejected.
31634
31635 2010-07-28  Bruno Haible  <bruno@clisp.org>
31636
31637         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
31638         * lib/unistr/u8-chr.c: Include <string.h>.
31639         * tests/unistr/test-u8-chr.c: Likewise.
31640         * tests/unistr/test-u16-chr.c: Likewise.
31641         * tests/unistr/test-u32-chr.c: Likewise.
31642         * tests/unistr/test-u8-strchr.c: Likewise.
31643         * tests/unistr/test-u16-strchr.c: Likewise.
31644         * tests/unistr/test-u32-strchr.c: Likewise.
31645         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
31646         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
31647         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
31648         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
31649
31650 2010-07-28  Bruno Haible  <bruno@clisp.org>
31651
31652         Use spaces for indentation, not tabs.
31653         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31654
31655 2010-07-27  Bruno Haible  <bruno@clisp.org>
31656
31657         mbspcasecmp: Fix function specification.
31658         * lib/string.in.h (mbspcasecmp): Fix specification comment.
31659         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
31660         Reported by Eric Blake <eblake@redhat.com>.
31661
31662 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
31663
31664         timespec: use cast and not conditional, as truncation isn't possible
31665         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
31666         instead of a conditional.  Comment about the situation in more detail.
31667         This undoes most of the 2009-10-29 patch.
31668
31669 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
31670
31671         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
31672         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
31673         * lib/unistr/u8-strchr.c: Likewise.
31674         * modules/unistr/u8-chr: Depend on memchr.
31675
31676         unistr/u*-strchr: add tests
31677         * modules/unistr/u8-strchr-tests: New file.
31678         * modules/unistr/u16-strchr-tests: New file.
31679         * modules/unistr/u32-strchr-tests: New file.
31680         * tests/unistr/test-strchr.h: New file.
31681         * tests/unistr/test-u8-strchr.c: New file.
31682         * tests/unistr/test-u16-strchr.c: New file.
31683         * tests/unistr/test-u32-strchr.c: New file.
31684
31685         unistr/u*-chr: test multibyte sequences more
31686         * tests/unistr/test-chr.h: Do complete testing of the characters in the
31687         test vector.
31688         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
31689         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
31690         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
31691
31692         unistr/u*-chr: test multibyte sequences
31693         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
31694
31695         unistr/u*-chr: prepare for multibyte tests
31696         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
31697         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
31698         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
31699         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
31700         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
31701         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
31702
31703 2010-07-18  Bruno Haible  <bruno@clisp.org>
31704
31705         unistr/u8-strchr: Optimize non-ASCII argument case.
31706         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
31707         because the first byte often matches anyway.
31708         Reported by Pádraig Brady <P@draigbrady.com>.
31709
31710 2010-07-15  Karl Berry  <karl@gnu.org>
31711
31712         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
31713
31714 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
31715
31716         getcwd: on Solaris, work better if ancestors are inaccessible
31717         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
31718         buffer and size, try again with a large buffer.  This works better
31719         on Solaris, since its getcwd succeeds even if the path to the root
31720         is inaccessible, and this is helpful in common cases such as .zfs
31721         hidden directories.  Problem reported by J Chapman Flack in
31722         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
31723         Use system getcwd if it's declared, not merely if it's partly
31724         working; use the partly-working test only to avoid needless effort
31725         if the system getcwd fails.
31726         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
31727         comment that was already obsolete and is now even more obsolete.
31728         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
31729         now might call strdup.
31730
31731 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
31732
31733         pthread: Add enough so that coreutils/src/sort.c compiles.
31734         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
31735         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
31736         gnulib. Include <sched.h> and <time.h>, as per POSIX.
31737         Include <sys/types.h>, in case it defines pthread_t.
31738         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
31739         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
31740         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
31741         (pthread_rwlockattr_t, pthread_spinlock_t):
31742         New typedefs, if HAVE_PTHREAD_T is not defined.
31743         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
31744         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
31745         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
31746         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
31747         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
31748         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
31749         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
31750         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
31751         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
31752         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
31753         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
31754         New macros.
31755         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
31756         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
31757         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
31758         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
31759         (pthread_spin_unlock): New dummy functions.
31760         (pthread_create): Return EAGAIN; don't set errno.
31761         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
31762         require AC_C_INLINE.
31763         * modules/pthread (Depends-on): Add sched, time.
31764         (pthread.h): Use AM_V_GEN.
31765
31766 2010-07-13  Bruno Haible  <bruno@clisp.org>
31767
31768         striconveh: Don't malloc memory if the result buffer is sufficient.
31769         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
31770         buffer if its size is sufficient.
31771         Reported by Ludovic Courtès <ludo@gnu.org>.
31772
31773 2010-07-13  Bruno Haible  <bruno@clisp.org>
31774
31775         strtod: Add safety check.
31776         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
31777
31778 2010-07-12  Bruno Haible  <bruno@clisp.org>
31779
31780         Unify tests that set gl_cv_func_ldexpl_no_libm.
31781         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
31782         gl_FUNC_LDEXPL.
31783         (gl_FUNC_LDEXPL): Invoke it.
31784         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31785
31786 2010-07-12  Bruno Haible  <bruno@clisp.org>
31787
31788         Unify tests that set gl_cv_func_ldexp_no_libm.
31789         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
31790         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
31791         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
31792         (configure.ac): Simply invoke gl_FUNC_LDEXP.
31793         * modules/strtod (Files): Add m4/ldexp.m4.
31794
31795 2010-07-12  Bruno Haible  <bruno@clisp.org>
31796
31797         Unify tests that set gl_cv_func_frexpl_no_libm.
31798         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
31799         gl_FUNC_FREXPL_NO_LIBM.
31800         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
31801         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31802
31803 2010-07-12  Bruno Haible  <bruno@clisp.org>
31804
31805         Unify tests that set gl_cv_func_frexp_no_libm.
31806         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
31807         gl_FUNC_FREXP_NO_LIBM.
31808         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
31809         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31810
31811 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31812
31813         memcoll: clarify sizes versus lengths, document better, and tweak perf
31814         * lib/memcoll.c (strcoll_loop, memcoll0):
31815         Improve quality of descriptive comments.  Name variables
31816         consistently as to whether they are lengths (which do not include
31817         terminating null) versus sizes (which do).
31818         * lib/xmemcoll.c (xmemcoll0): Likewise.
31819         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
31820         returned when s1size == 0; this is easier to compile and saves
31821         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
31822
31823 2010-07-12  Bruno Haible  <bruno@clisp.org>
31824
31825         Tests for module '_Exit'.
31826         * modules/_Exit-tests: New file.
31827         * tests/test-_Exit.sh: New file.
31828         * tests/test-_Exit.c: New file.
31829
31830         New module '_Exit'.
31831         * lib/stdlib.in.h (__attribute__): New macro.
31832         (_Exit): New declaration.
31833         * lib/_Exit.c: New file.
31834         * m4/_Exit.m4: New file.
31835         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
31836         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
31837         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
31838         * modules/_Exit: New file.
31839         * tests/test-stdlib-c++.cc (_Exit): Check signature.
31840         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
31841
31842 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31843
31844         strtod: make it more-accurate typically, and don't require libm
31845         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
31846         Include limits.h.  Don't include string.h.
31847         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
31848         (locale_isspace): New function, so that no casts are needed to
31849         check whether *s is a space.
31850         (ldexp): Provide an unused dummy if not available.
31851         (scale_radix_exp, parse_number, underlying_strtod): New functions.
31852         (strtod): Use them.  This implementation prefers to use the
31853         underlying strtod if available, falling back on our own code
31854         only to fix known bugs.  This is more likely to produce an
31855         accurate result.  Also, it avoids the use of libm functions.
31856         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
31857         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
31858         was absent, but it caused a test failure with coreutils.
31859         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
31860         with libm.
31861         * modules/strtod (Makefile.am, Link): libm is no longer needed.
31862         * modules/strtod-tests (Makefile.am): Likewise.
31863
31864 2010-07-11  Pádraig Brady  <P@draigBrady.com>
31865             Bruno Haible  <bruno@clisp.org>
31866
31867         unistr/u8-strchr: Optimize ASCII argument case.
31868         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
31869
31870 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
31871
31872         (x)memcoll: minor tweaks
31873         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
31874         is after the type that it qualifies.
31875         (memcoll0): Likewise.
31876         * lib/memcoll.h (memcoll0): Likewise.
31877         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
31878         * lib/xmemcoll.h (xmemcoll0): Likewise.
31879         * lib/memcoll.c (memcoll0): Correct the comment.  This function
31880         differs from memcoll in that the NUL byte is part of the argument.
31881         Omit the abort-checks, as performance is a real issue here.  Plus,
31882         the checks were wrong anyway (an off-by-one error).  Omit local
31883         variable 'diff', as it's a bit clearer that way.
31884         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
31885         no longer needed.
31886
31887 2010-07-08  Chen Guo <chenguo4@yahoo.com>
31888
31889         (x)memcoll: speedup when input is known to be NUL delimited
31890         * lib/memcoll.c: Include stdlib.
31891         (memcoll0): New function.
31892         (strcoll_loop): New function, refactored for use in both memcoll
31893         and memcoll0.
31894         * lib/memcoll.h (memcoll0): Add prototype.
31895         * lib/xmemcoll.c (xmemcoll0): New function.
31896         (collate_error): New function, refactored for use in both xmemcoll
31897         and xmemcoll0.
31898         * lib/xmemcoll.h (xmemcoll0): Add prototype.
31899         * m4/memcoll.m4: add inline invocation.
31900
31901 2010-07-06  Pádraig Brady  <P@draigBrady.com>
31902
31903         * build-aux/bootstrap: Remove any local translations
31904         from the translation project synchronization directory,
31905         so that local only translations are not distributed.
31906
31907 2010-07-04  Bruno Haible  <bruno@clisp.org>
31908
31909         fsusage: Clarify which code applies to which platforms.
31910         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
31911         platform.
31912         * lib/fsusage.c (get_fs_usage): Likewise.
31913
31914 2010-07-04  Bruno Haible  <bruno@clisp.org>
31915
31916         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
31917         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
31918         Reported by Martin Lambers <marlam@marlam.de>.
31919
31920 2010-07-04  Jim Meyering  <meyering@redhat.com>
31921
31922         hash: once again explicitly disallow insertion of NULL
31923         * lib/hash.c (hash_insert0): Reinstate just-removed test:
31924         inserting a NULL pointer cannot work with these functions.
31925         Add a comment with details.
31926         This reverts part of the 2010-07-01 commit, 5bef1a35
31927         "hash: extend module to deal with non-pointer keys".
31928
31929 2010-07-01  Bruno Haible  <bruno@clisp.org>
31930
31931         stdbool: Update doc.
31932         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
31933         Info from Christian Weisgerber <naddy@mips.inka.de>.
31934
31935 2010-07-01  Jim Meyering  <meyering@redhat.com>
31936
31937         hash: extend module to deal with non-pointer keys
31938         * lib/hash.c (hash_insert0): New interface, much like hash_insert
31939         but that allows insertion of non-pointer entries.
31940         Do not disallow an ENTRY value of NULL.
31941         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
31942         * lib/hash.h (hash_insert0): Declare.
31943
31944 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
31945
31946         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
31947         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
31948         not present (i.e. with autoconf 2.59 and when using gettextize, not
31949         gnulib), require AC_GNU_SOURCE instead.
31950
31951 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
31952
31953         idpriv-drop: Fix tests.
31954         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
31955         not to the test-idpriv-droptemp program.
31956
31957 2010-06-29  Bruno Haible  <bruno@clisp.org>
31958
31959         string: Fix syntax error with g++ 2.96.
31960         * lib/string.in.h (__pure__): Remove definition.
31961         (_GL_ATTRIBUTE_PURE): New macro.
31962         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
31963         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
31964         Reported by Christian Weisgerber <naddy@mips.inka.de>.
31965
31966 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
31967
31968         unitypes: Fix bug introduced on 2010-05-18.
31969         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
31970
31971 2010-06-22  Eric Blake  <eblake@redhat.com>
31972
31973         memmem: slight optimization
31974         * lib/str-two-way.h (critical_factorization): Update comments.
31975         Reduce work during factorization phase.
31976         Reported by Carlos Bueno <carlos@bueno.org>.
31977
31978 2010-06-21  Bruno Haible  <bruno@clisp.org>
31979
31980         Fix HAVE_CALLOC_POSIX misnomer.
31981         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
31982         !HAVE_CALLOC_POSIX.
31983         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
31984         HAVE_CALLOC_POSIX.
31985         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
31986         instead of HAVE_CALLOC_POSIX.
31987         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
31988         HAVE_CALLOC_POSIX.
31989
31990         Use modern idiom for calloc() replacement.
31991         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
31992         AC_FUNC_CALLOC.
31993         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
31994         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
31995         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31996         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
31997         (gl_REPLACE_CALLOC): New macro.
31998
31999 2010-06-21  Bruno Haible  <bruno@clisp.org>
32000
32001         Fix HAVE_REALLOC_POSIX misnomer.
32002         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
32003         !HAVE_REALLOC_POSIX.
32004         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
32005         HAVE_REALLOC_POSIX.
32006         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
32007         instead of HAVE_REALLOC_POSIX.
32008         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
32009         HAVE_REALLOC_POSIX.
32010
32011         Use modern idiom for realloc() replacement.
32012         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
32013         AC_FUNC_REALLOC.
32014         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
32015         Autoconf's AC_FUNC_REALLOC.
32016         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32017         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
32018         (gl_REPLACE_REALLOC): New macro.
32019         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
32020
32021 2010-06-21  Bruno Haible  <bruno@clisp.org>
32022
32023         Fix HAVE_MALLOC_POSIX misnomer.
32024         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
32025         !HAVE_MALLOC_POSIX.
32026         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
32027         HAVE_MALLOC_POSIX.
32028         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
32029         instead of HAVE_MALLOC_POSIX.
32030         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
32031         HAVE_MALLOC_POSIX.
32032
32033         Use modern idiom for malloc() replacement.
32034         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
32035         AC_FUNC_MALLOC.
32036         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
32037         Autoconf's AC_FUNC_MALLOC.
32038         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32039         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
32040         (gl_REPLACE_MALLOC): New macro.
32041         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
32042
32043 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
32044
32045         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
32046         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
32047         This macro takes 3 arguments, not 4.
32048
32049 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
32050
32051         ipv6: fix detection under mingw
32052         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
32053         in6_addr.
32054
32055 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
32056
32057         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
32058         that strtod() works when cross-compiling to a glibc version known
32059         to work.
32060
32061 2010-06-15  Bruno Haible  <bruno@clisp.org>
32062
32063         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
32064
32065 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
32066
32067         select: Correct timeout.
32068         * lib/select.c (rpl_select): Compute wait_timeout correctly.
32069
32070 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
32071
32072         git-version-gen: init shell var to avoid env var influence
32073         * build-aux/git-version-gen (v): Init shell var to empty.
32074
32075 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
32076
32077         priv-set: Don't assume that priv.h exists merely because getppriv does.
32078         See Jan Andersen's bug report about AIX 5L in
32079         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
32080         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
32081         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
32082         * lib/priv-set.h: Likewise.
32083         * tests/test-priv-set.c: Likewise.
32084
32085 2010-06-13  Bruno Haible  <bruno@clisp.org>
32086
32087         relocatable: Make it easier to test whether to install wrappers.
32088         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
32089         RELOCATABLE_VIA_WRAPPER.
32090
32091 2010-06-13  Bruno Haible  <bruno@clisp.org>
32092
32093         gnulib-tool: Display specified modules and dependencies differently.
32094         * gnulib-tool (func_show_module_list): New function.
32095         (func_import, func_create_testdir): Invoke it.
32096         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
32097
32098 2010-06-13  Bruno Haible  <bruno@clisp.org>
32099
32100         gnulib-tool: Align code of func_import and func_create_testdir.
32101         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
32102         specified_modules.
32103
32104 2010-06-12  Jim Meyering  <meyering@redhat.com>
32105
32106         test-inttostr: avoid spurious failure on Solaris 9
32107         * tests/test-inttostr.c (main): Skip the test when snprintf fails
32108         to accept "%ju".  Reported by Bruno Haible.
32109
32110 2010-06-11  Jim Meyering  <meyering@redhat.com>
32111
32112         test-sys_socket: mark variables as used more readably
32113         * tests/test-sys_socket.c (main): Mark otherwise unused variables
32114         as "used" explicitly via (void) statement casts.  This is more
32115         readable than using them in an artificial return expression.
32116         Suggestion from Bruno Haible.
32117
32118 2010-06-11  Bruno Haible  <bruno@clisp.org>
32119
32120         Avoid some more warnings from "gcc -Wwrite-strings".
32121         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
32122         to 'const char *'.
32123         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
32124         * tests/test-c-strcasestr.c (main): Likewise.
32125         * tests/test-mbscasestr1.c (main): Likewise.
32126         * tests/test-mbscasestr2.c (main): Likewise.
32127         * tests/test-memmem.c (main): Likewise.
32128         * tests/test-strstr.c (main): Likewise.
32129         * tests/test-strcasestr.c (main): Likewise.
32130
32131 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32132
32133         init.sh: change framework_failure_ to fail with status 99, not 1
32134         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
32135         automake's parallel-tests rule that this is an unexpected failure,
32136         even if the test is listed in XFAIL_TESTS.
32137
32138 2010-06-11  Jim Meyering  <meyering@redhat.com>
32139
32140         test-inttostr: avoid warnings about 4-6KB literal strings
32141         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
32142         Include "macros.h", for its definition of ASSERT.
32143         (CK): s/assert/ASSERT/
32144         * modules/inttostr-tests (Files): Add macros.h.
32145
32146         init.sh: don't use $ME_ or skip_ before they are defined
32147         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
32148         their first uses.  Also hoist their companions: warn_, fail_,
32149         framework_failure_, $stderr_fileno.  Prompted by a patch from
32150         Stefano Lattarini.
32151
32152         test-sys_socket: avoid set-but-not-used warnings from gcc
32153         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
32154         avoid warning about set-but-not-used variables.
32155
32156         test-xvasprintf: avoid 'const' discard warnings
32157         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
32158         "const" when assigning from literal strings.
32159         (test_xasprintf): Add "void" in function argument list to placate
32160         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
32161
32162         tests: avoid compilation warnings in argmatch and exclude tests...
32163         in packages that define ARGMATCH_DIE_DECL, like coreutils.
32164         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
32165         Since it always exits, declare with the "noreturn" attribute.
32166         * tests/test-argmatch.c: Likewise.
32167
32168         tests: avoid 'const' discard warnings in mbsstr tests
32169         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
32170         * tests/test-mbsstr2.c (main): Likewise.
32171
32172         test-verify: avoid warning from gcc's -Wmissing-declarations
32173         * tests/test-verify.c (function): Declare to be static.
32174
32175         test-inttostr.c: include <string.h> for use of strcmp
32176         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
32177
32178         test-linkat: avoid failed assertion on "other" architectures
32179         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
32180         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
32181         sparc: https://bugs.launchpad.net/bugs/591968
32182
32183 2010-06-11  Jim Meyering  <meyering@redhat.com>
32184
32185         printf.m4: avoid autoconf's "Expanded Before Required" warning
32186         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
32187         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
32188         autoconf warning.
32189
32190 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
32191
32192         Replacement header templates are now named with ".in", not "_".
32193         * doc/gnulib-intro.texi: Correct.
32194
32195 2010-06-10  Jim Meyering  <meyering@redhat.com>
32196
32197         inttostr-tests: depend on snprintf, not snprintf-posix
32198         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
32199         snprintf-posix, to avoid this aclocal failure:
32200           missing file gnulib-tests/vasnprintf.c
32201           configure.ac:45: error: expected source file, required through \
32202           AC_LIBSOURCES, not found
32203
32204 2010-06-10  Jim Meyering  <meyering@redhat.com>
32205
32206         inttostr: add a new function, inttostr, and tests
32207         The namesake function was not available.  The existence of the
32208         template file, inttostr.c makes its addition nontrivial.
32209         * lib/anytostr.c: Rename from inttostr.c.
32210         (anytostr): Rename from inttostr.
32211         * lib/inttostr.c: New file.
32212         * modules/inttostr (Files): Add anytostr.c.
32213         (Makefile.am): Set lib_SOURCES instead of ...
32214         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
32215         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
32216         * lib/offtostr.c: Likewise.
32217         * lib/uinttostr.c: Likewise.
32218         * lib/umaxtostr.c: Likewise.
32219         * modules/inttostr-tests: New file.
32220         * tests/test-inttostr.c: New file.  Test these functions.
32221
32222 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
32223             Bruno Haible  <bruno@clisp.org>
32224
32225         Add "Extending Gnulib" chapter to manual.
32226         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
32227         chapter.
32228         (Extending Gnulib): New chapter.
32229         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
32230         chapter.
32231
32232 2010-06-09  Bruno Haible  <bruno@clisp.org>
32233
32234         Avoid relocwrapper link errors due to gnulib replacement functions.
32235         * lib/areadlink.c: Use the system's malloc, realloc functions.
32236         (areadlink): Set errno to ENOMEM explicitly.
32237         * modules/areadlink (Depends-on): Remove malloc-posix.
32238         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32239
32240 2010-06-09  Bruno Haible  <bruno@clisp.org>
32241
32242         Avoid relocwrapper link errors due to gnulib replacement functions.
32243         * lib/canonicalize-lgpl.c: Use the system's malloc function.
32244         * lib/malloca.c: Likewise.
32245         * lib/relocatable.c: Likewise.
32246         * lib/progreloc.c: Use the system's malloc, sprintf functions.
32247         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
32248         * lib/setenv.c: Use the system's malloc, realloc functions.
32249         * lib/strerror.c: Use the system's sprintf function.
32250         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32251
32252 2010-06-04  Bruno Haible  <bruno@clisp.org>
32253
32254         Prefer documented low-level autoconf macro names.
32255         * m4/lib-link.m4: Use m4_translit instead of translit.
32256         * m4/environ.m4: Likewise.
32257         * m4/mathfunc.m4: Likewise.
32258         * m4/onceonly.m4: Likewise.
32259         * m4/stdint.m4: Likewise.
32260         Suggested by Eric Blake.
32261
32262 2010-06-04  Martin Lambers  <marlam@marlam.de>
32263             Bruno Haible  <bruno@clisp.org>
32264
32265         havelib: Allow library names with '+' characters.
32266         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
32267         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
32268
32269 2010-06-09  Bruno Haible  <bruno@clisp.org>
32270
32271         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
32272         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
32273         realloc failed.
32274
32275 2010-06-08  Peter Simons  <simons@cryp.to>
32276
32277         maint.mk: make the news-check rule more configurable
32278         * top/maint.mk (news-check-lines-spec): New variable.
32279         (news-check): Use "sed -n 1,10p" in place of "head".
32280
32281 2010-06-07  Jim Meyering  <meyering@redhat.com>
32282
32283         do-release-commit-and-tag: fix typo in --help
32284         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
32285
32286         regex: avoid new dead-code warning with gcc-4.6.0
32287         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
32288         if-block containing a while-loop.  It's been unused for at least
32289         5 years.
32290
32291 2010-06-05  Bruno Haible  <bruno@clisp.org>
32292
32293         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
32294         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
32295
32296 2010-06-04  Bruno Haible  <bruno@clisp.org>
32297
32298         Update to GNU gettext 0.18.1.
32299         * modules/gettext (configure.ac): Require gettext infrastructure from
32300         version 0.18.1.
32301
32302 2010-06-03  Bruno Haible  <bruno@clisp.org>
32303
32304         Don't use AC_LIBOBJ with file names in subdirectories.
32305         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
32306         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
32307         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
32308         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
32309         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
32310         gl_LIBUNISTRING_LIBSOURCE.
32311         (Makefile.am): Augment lib_SOURCES here, conditionally.
32312         * NEWS: Drop requirement for Automake option 'subdir-objects'.
32313
32314 2010-06-03  Bruno Haible  <bruno@clisp.org>
32315
32316         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
32317         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
32318         expansion does not end with a newline.
32319         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
32320         unnecessary newline.
32321
32322 2010-06-03  Bruno Haible  <bruno@clisp.org>
32323
32324         Reduce dependencies.
32325         * tests/test-quotearg.h: New file, extracted from
32326         tests/test-quotearg.c.
32327         * tests/test-quotearg-simple.c: New file, extracted from
32328         tests/test-quotearg.c.
32329         * tests/test-quotearg.c: Don't include <ctype.h>.
32330         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
32331         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
32332         use_quote_double_quotes, use_quotearg_colon): Moved to
32333         tests/test-quotearg.h.
32334         (results_g, flag_results, custom_quotes, custom_results): Moved
32335         to tests/test-quotearg-simple.c.
32336         (main): Moved the part that does not depend on gettext to
32337         tests/test-quotearg-simple.c. Return 77 if the test cannot be
32338         performed.
32339         * modules/quotearg-simple: New file.
32340         * modules/quotearg-simple-tests: New file.
32341         * modules/quotearg (Depends-on): Add quotearg-simple.
32342         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
32343         (Files): Add tests/test-quotearg.h.
32344         Reported by Paolo Bonzini.
32345
32346 2010-06-03  Bruno Haible  <bruno@clisp.org>
32347
32348         Reduce dependencies.
32349         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
32350
32351 2010-06-03  Bruno Haible  <bruno@clisp.org>
32352
32353         time: Undefine more broken macros.
32354         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
32355         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
32356         Reported by Eric Blake.
32357
32358 2010-06-03  Bruno Haible  <bruno@clisp.org>
32359
32360         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
32361         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
32362         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
32363         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
32364         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
32365         Reported by Ludovic Courtès <ludo@gnu.org>.
32366
32367 2010-06-02  Eric Blake  <eblake@redhat.com>
32368
32369         time: work with mingw + pthreads-win32 library
32370         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
32371         if timespec is defined only in pthread.h.
32372         * modules/time (Makefile.am): Substitute it.
32373         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
32374         <pthread.h>, when needed.
32375         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
32376         from the library.
32377
32378 2010-05-31  Bruno Haible  <bruno@clisp.org>
32379
32380         Avoid expanding two macros in the wrong order.
32381         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
32382         gl_LIBUNISTRING if it is defined.
32383         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
32384         autoconf >= 2.64.
32385         Reported by Ludovic Courtès <ludo@gnu.org>.
32386
32387 2010-05-27  Jim Meyering  <meyering@redhat.com>
32388
32389         maint.mk: also prohibit "#undef" of always-defined symbols
32390         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
32391         Allow more than one space before the symbol name.
32392         (sc_prohibit_always-defined_macros): Use grep's -E, now that
32393         the regexp uses alternation.
32394
32395 2010-05-26  Eric Blake  <eblake@redhat.com>
32396
32397         maint.mk: avoid echo -e
32398         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
32399         Convert all uses of echo -* to printf.
32400         Reported by Matthias Bolte.
32401
32402 2010-05-25  Bruno Haible  <bruno@clisp.org>
32403
32404         Update to GNU gettext 0.18, part 2.
32405         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
32406         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
32407
32408 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32409
32410         Add missing include in test-pwrite.c.
32411         * tests/test-pwrite.c: Include string.h, for strcmp.
32412
32413 2010-05-24  Bruno Haible  <bruno@clisp.org>
32414
32415         * NEWS: Mention requirement for Automake option 'subdir-objects'.
32416
32417 2010-05-24  Bruno Haible  <bruno@clisp.org>
32418
32419         Don't use conversion with transliteration in u{8,16,32}_strcoll.
32420         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
32421         iconveh_error argument.
32422         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
32423         U_STRCONV_TO_LOCALE.
32424         * lib/unistr/u16-strcoll.c: Likewise.
32425         * lib/unistr/u32-strcoll.c: Likewise.
32426         * modules/unistr/u8-strcoll (Depends-on): Add
32427         uniconv/u8-strconv-to-enc, localcharset. Remove
32428         uniconv/u8-strconv-to-locale.
32429         (configure.ac): Bump version number.
32430         * modules/unistr/u16-strcoll (Depends-on): Add
32431         uniconv/u16-strconv-to-enc, localcharset. Remove
32432         uniconv/u16-strconv-to-locale.
32433         (configure.ac): Bump version number.
32434         * modules/unistr/u32-strcoll (Depends-on): Add
32435         uniconv/u32-strconv-to-enc, localcharset. Remove
32436         uniconv/u32-strconv-to-locale.
32437         (configure.ac): Bump version number.
32438
32439 2010-05-24  Bruno Haible  <bruno@clisp.org>
32440
32441         Avoid a test failure on NetBSD 5.0.
32442         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
32443         an iconv() bug.
32444
32445 2010-05-24  Bruno Haible  <bruno@clisp.org>
32446
32447         Adjust #include directive style.
32448         * modules/regex (Includes): Recommend to write <regex.h>.
32449
32450 2010-05-24  Bruno Haible  <bruno@clisp.org>
32451
32452         regex: Don't require alloca.
32453         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
32454         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
32455         only inside if (0).
32456
32457 2010-05-23  Jim Meyering  <meyering@redhat.com>
32458
32459         test-renameat.c: include <sys/stat.h>
32460         * tests/test-renameat.c: Include <sys/stat.h>; required for
32461         definition of S_IS* macros.
32462
32463 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
32464
32465         Update maintainer documentation for 'relocatable-prog' module.
32466         * doc/relocatable-maint.texi: Update.
32467         Comments by Bruno Haible.
32468
32469 2010-05-23  Bruno Haible  <bruno@clisp.org>
32470
32471         git-merge-changelog: Enable --split-merged-entry by default.
32472         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
32473         (usage): Don't mention this option any more.
32474         Reported by Ralf Wildenhues.
32475
32476 2010-05-23  Jim Meyering  <meyering@redhat.com>
32477
32478         test-pwrite: do not leave behind a test file named "out"
32479         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
32480         The trivial-looking use of init.sh is really necessary.
32481         It ensures that the temporary file, "out", is created in
32482         a temporary directory, and removed upon termination.
32483         * tests/test-pwrite.sh: Re-add file.
32484         * modules/pwrite-tests: Reference it.
32485
32486 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32487
32488         Fix output redirection buglet in init.sh.
32489         * tests/init.sh: Fix redirection of stderr.
32490
32491 2010-05-20  Simon Josefsson  <simon@josefsson.org>
32492
32493         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
32494
32495 2010-05-17  Simon Josefsson  <simon@josefsson.org>
32496
32497         * modules/valgrind-tests: New file.
32498         * m4/valgrind-tests.m4: New file.
32499         * doc/valgrind-tests.texi: New file.
32500         * doc/gnulib.texi (Running self-tests under valgrind): New
32501         section.
32502
32503 2010-05-19  Bruno Haible  <bruno@clisp.org>
32504
32505         Clean up dead code in recent commit.
32506         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
32507         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
32508         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
32509         Suggested by Paolo Bonzini.
32510
32511 2010-05-19  Bruno Haible  <bruno@clisp.org>
32512
32513         Avoid valgrind error reports from libunistring.
32514         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
32515         * modules/libunistring (Files): Add it.
32516         * modules/libunistring-optional (Files): Likewise.
32517
32518 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
32519             Bruno Haible  <bruno@clisp.org>
32520
32521         New module 'libunistring-optional'.
32522         * modules/libunistring-optional: New file.
32523         * m4/libunistring-base.m4: New file.
32524         * m4/libunistring-optional.m4: New file.
32525         * lib/unicase.in.h: Renamed from lib/unicase.h.
32526         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
32527         * lib/unictype.in.h: Renamed from lib/unictype.h.
32528         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
32529         * lib/uniname.in.h: Renamed from lib/uniname.h.
32530         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
32531         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
32532         * lib/unistr.in.h: Renamed from lib/unistr.h.
32533         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
32534         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
32535         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
32536         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
32537         gl_LIBUNISTRING. If the library was found, determine the installed
32538         version and set LIBUNISTRING_VERSION.
32539         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
32540         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
32541         handle a configuration option --with-included-libunistring.
32542         * modules/libunistring (Files): Add m4/absolute-header.m4.
32543         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
32544         Add m4/libunistring-base.m4.
32545         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32546         (Makefile.am): Build unicase.h from unicase.in.h.
32547         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
32548         Add m4/libunistring-base.m4.
32549         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32550         (Makefile.am): Build uniconv.h from uniconv.in.h.
32551         * modules/unictype/base (Files): Use unictype.in.h instead of
32552         unictype.h. Add m4/libunistring-base.m4.
32553         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32554         (Makefile.am): Build unictype.h from unictype.in.h.
32555         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
32556         Add m4/libunistring-base.m4.
32557         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32558         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
32559         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
32560         Add m4/libunistring-base.m4.
32561         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32562         (Makefile.am): Build uniname.h from uniname.in.h.
32563         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
32564         Add m4/libunistring-base.m4.
32565         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32566         (Makefile.am): Build uninorm.h from uninorm.in.h.
32567         * modules/unistdio/base (Files): Use unistdio.in.h instead of
32568         unistdio.h. Add m4/libunistring-base.m4.
32569         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32570         (Makefile.am): Build unistdio.h from unistdio.in.h.
32571         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
32572         Add m4/libunistring-base.m4.
32573         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32574         (Makefile.am): Build unistr.h from unistr.in.h.
32575         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
32576         Add m4/libunistring-base.m4.
32577         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32578         (Makefile.am): Build unitypes.h from unitypes.in.h.
32579         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
32580         Add m4/libunistring-base.m4.
32581         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32582         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
32583         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
32584         uniwidth.h. Add m4/libunistring-base.m4.
32585         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32586         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
32587         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
32588         instead of augmenting lib_SOURCES.
32589         * modules/unicase/empty-suffix-context: Likewise.
32590         * modules/unicase/locale-language: Likewise.
32591         * modules/unicase/tolower: Likewise.
32592         * modules/unicase/totitle: Likewise.
32593         * modules/unicase/toupper: Likewise.
32594         * modules/unicase/u8-casecmp: Likewise.
32595         * modules/unicase/u8-casecoll: Likewise.
32596         * modules/unicase/u8-casefold: Likewise.
32597         * modules/unicase/u8-casexfrm: Likewise.
32598         * modules/unicase/u8-ct-casefold: Likewise.
32599         * modules/unicase/u8-ct-tolower: Likewise.
32600         * modules/unicase/u8-ct-totitle: Likewise.
32601         * modules/unicase/u8-ct-toupper: Likewise.
32602         * modules/unicase/u8-is-cased: Likewise.
32603         * modules/unicase/u8-is-casefolded: Likewise.
32604         * modules/unicase/u8-is-lowercase: Likewise.
32605         * modules/unicase/u8-is-titlecase: Likewise.
32606         * modules/unicase/u8-is-uppercase: Likewise.
32607         * modules/unicase/u8-prefix-context: Likewise.
32608         * modules/unicase/u8-suffix-context: Likewise.
32609         * modules/unicase/u8-tolower: Likewise.
32610         * modules/unicase/u8-totitle: Likewise.
32611         * modules/unicase/u8-toupper: Likewise.
32612         * modules/unicase/u16-casecmp: Likewise.
32613         * modules/unicase/u16-casecoll: Likewise.
32614         * modules/unicase/u16-casefold: Likewise.
32615         * modules/unicase/u16-casexfrm: Likewise.
32616         * modules/unicase/u16-ct-casefold: Likewise.
32617         * modules/unicase/u16-ct-tolower: Likewise.
32618         * modules/unicase/u16-ct-totitle: Likewise.
32619         * modules/unicase/u16-ct-toupper: Likewise.
32620         * modules/unicase/u16-is-cased: Likewise.
32621         * modules/unicase/u16-is-casefolded: Likewise.
32622         * modules/unicase/u16-is-lowercase: Likewise.
32623         * modules/unicase/u16-is-titlecase: Likewise.
32624         * modules/unicase/u16-is-uppercase: Likewise.
32625         * modules/unicase/u16-prefix-context: Likewise.
32626         * modules/unicase/u16-suffix-context: Likewise.
32627         * modules/unicase/u16-tolower: Likewise.
32628         * modules/unicase/u16-totitle: Likewise.
32629         * modules/unicase/u16-toupper: Likewise.
32630         * modules/unicase/u32-casecmp: Likewise.
32631         * modules/unicase/u32-casecoll: Likewise.
32632         * modules/unicase/u32-casefold: Likewise.
32633         * modules/unicase/u32-casexfrm: Likewise.
32634         * modules/unicase/u32-ct-casefold: Likewise.
32635         * modules/unicase/u32-ct-tolower: Likewise.
32636         * modules/unicase/u32-ct-totitle: Likewise.
32637         * modules/unicase/u32-ct-toupper: Likewise.
32638         * modules/unicase/u32-is-cased: Likewise.
32639         * modules/unicase/u32-is-casefolded: Likewise.
32640         * modules/unicase/u32-is-lowercase: Likewise.
32641         * modules/unicase/u32-is-titlecase: Likewise.
32642         * modules/unicase/u32-is-uppercase: Likewise.
32643         * modules/unicase/u32-prefix-context: Likewise.
32644         * modules/unicase/u32-suffix-context: Likewise.
32645         * modules/unicase/u32-tolower: Likewise.
32646         * modules/unicase/u32-totitle: Likewise.
32647         * modules/unicase/u32-toupper: Likewise.
32648         * modules/unicase/ulc-casecmp: Likewise.
32649         * modules/unicase/ulc-casecoll: Likewise.
32650         * modules/unicase/ulc-casexfrm: Likewise.
32651         * modules/uniconv/u8-conv-from-enc: Likewise.
32652         * modules/uniconv/u8-conv-to-enc: Likewise.
32653         * modules/uniconv/u8-strconv-from-enc: Likewise.
32654         * modules/uniconv/u8-strconv-from-locale: Likewise.
32655         * modules/uniconv/u8-strconv-to-enc: Likewise.
32656         * modules/uniconv/u8-strconv-to-locale: Likewise.
32657         * modules/uniconv/u16-conv-from-enc: Likewise.
32658         * modules/uniconv/u16-conv-to-enc: Likewise.
32659         * modules/uniconv/u16-strconv-from-enc: Likewise.
32660         * modules/uniconv/u16-strconv-from-locale: Likewise.
32661         * modules/uniconv/u16-strconv-to-enc: Likewise.
32662         * modules/uniconv/u16-strconv-to-locale: Likewise.
32663         * modules/uniconv/u32-conv-from-enc: Likewise.
32664         * modules/uniconv/u32-conv-to-enc: Likewise.
32665         * modules/uniconv/u32-strconv-from-enc: Likewise.
32666         * modules/uniconv/u32-strconv-from-locale: Likewise.
32667         * modules/uniconv/u32-strconv-to-enc: Likewise.
32668         * modules/uniconv/u32-strconv-to-locale: Likewise.
32669         * modules/unictype/bidicategory-byname: Likewise.
32670         * modules/unictype/bidicategory-name: Likewise.
32671         * modules/unictype/bidicategory-of: Likewise.
32672         * modules/unictype/bidicategory-test: Likewise.
32673         * modules/unictype/block-list: Likewise.
32674         * modules/unictype/block-test: Likewise.
32675         * modules/unictype/category-C: Likewise.
32676         * modules/unictype/category-Cc: Likewise.
32677         * modules/unictype/category-Cf: Likewise.
32678         * modules/unictype/category-Cn: Likewise.
32679         * modules/unictype/category-Co: Likewise.
32680         * modules/unictype/category-Cs: Likewise.
32681         * modules/unictype/category-L: Likewise.
32682         * modules/unictype/category-Ll: Likewise.
32683         * modules/unictype/category-Lm: Likewise.
32684         * modules/unictype/category-Lo: Likewise.
32685         * modules/unictype/category-Lt: Likewise.
32686         * modules/unictype/category-Lu: Likewise.
32687         * modules/unictype/category-M: Likewise.
32688         * modules/unictype/category-Mc: Likewise.
32689         * modules/unictype/category-Me: Likewise.
32690         * modules/unictype/category-Mn: Likewise.
32691         * modules/unictype/category-N: Likewise.
32692         * modules/unictype/category-Nd: Likewise.
32693         * modules/unictype/category-Nl: Likewise.
32694         * modules/unictype/category-No: Likewise.
32695         * modules/unictype/category-P: Likewise.
32696         * modules/unictype/category-Pc: Likewise.
32697         * modules/unictype/category-Pd: Likewise.
32698         * modules/unictype/category-Pe: Likewise.
32699         * modules/unictype/category-Pf: Likewise.
32700         * modules/unictype/category-Pi: Likewise.
32701         * modules/unictype/category-Po: Likewise.
32702         * modules/unictype/category-Ps: Likewise.
32703         * modules/unictype/category-S: Likewise.
32704         * modules/unictype/category-Sc: Likewise.
32705         * modules/unictype/category-Sk: Likewise.
32706         * modules/unictype/category-Sm: Likewise.
32707         * modules/unictype/category-So: Likewise.
32708         * modules/unictype/category-Z: Likewise.
32709         * modules/unictype/category-Zl: Likewise.
32710         * modules/unictype/category-Zp: Likewise.
32711         * modules/unictype/category-Zs: Likewise.
32712         * modules/unictype/category-and: Likewise.
32713         * modules/unictype/category-and-not: Likewise.
32714         * modules/unictype/category-byname: Likewise.
32715         * modules/unictype/category-name: Likewise.
32716         * modules/unictype/category-none: Likewise.
32717         * modules/unictype/category-of: Likewise.
32718         * modules/unictype/category-or: Likewise.
32719         * modules/unictype/category-test: Likewise.
32720         * modules/unictype/combining-class: Likewise.
32721         * modules/unictype/ctype-alnum: Likewise.
32722         * modules/unictype/ctype-alpha: Likewise.
32723         * modules/unictype/ctype-blank: Likewise.
32724         * modules/unictype/ctype-cntrl: Likewise.
32725         * modules/unictype/ctype-digit: Likewise.
32726         * modules/unictype/ctype-graph: Likewise.
32727         * modules/unictype/ctype-lower: Likewise.
32728         * modules/unictype/ctype-print: Likewise.
32729         * modules/unictype/ctype-punct: Likewise.
32730         * modules/unictype/ctype-space: Likewise.
32731         * modules/unictype/ctype-upper: Likewise.
32732         * modules/unictype/ctype-xdigit: Likewise.
32733         * modules/unictype/decimal-digit: Likewise.
32734         * modules/unictype/digit: Likewise.
32735         * modules/unictype/mirror: Likewise.
32736         * modules/unictype/numeric: Likewise.
32737         * modules/unictype/property-alphabetic: Likewise.
32738         * modules/unictype/property-ascii-hex-digit: Likewise.
32739         * modules/unictype/property-bidi-arabic-digit: Likewise.
32740         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
32741         * modules/unictype/property-bidi-block-separator: Likewise.
32742         * modules/unictype/property-bidi-boundary-neutral: Likewise.
32743         * modules/unictype/property-bidi-common-separator: Likewise.
32744         * modules/unictype/property-bidi-control: Likewise.
32745         * modules/unictype/property-bidi-embedding-or-override: Likewise.
32746         * modules/unictype/property-bidi-eur-num-separator: Likewise.
32747         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
32748         * modules/unictype/property-bidi-european-digit: Likewise.
32749         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
32750         * modules/unictype/property-bidi-left-to-right: Likewise.
32751         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
32752         * modules/unictype/property-bidi-other-neutral: Likewise.
32753         * modules/unictype/property-bidi-pdf: Likewise.
32754         * modules/unictype/property-bidi-segment-separator: Likewise.
32755         * modules/unictype/property-bidi-whitespace: Likewise.
32756         * modules/unictype/property-byname: Likewise.
32757         * modules/unictype/property-combining: Likewise.
32758         * modules/unictype/property-composite: Likewise.
32759         * modules/unictype/property-currency-symbol: Likewise.
32760         * modules/unictype/property-dash: Likewise.
32761         * modules/unictype/property-decimal-digit: Likewise.
32762         * modules/unictype/property-default-ignorable-code-point: Likewise.
32763         * modules/unictype/property-deprecated: Likewise.
32764         * modules/unictype/property-diacritic: Likewise.
32765         * modules/unictype/property-extender: Likewise.
32766         * modules/unictype/property-format-control: Likewise.
32767         * modules/unictype/property-grapheme-base: Likewise.
32768         * modules/unictype/property-grapheme-extend: Likewise.
32769         * modules/unictype/property-grapheme-link: Likewise.
32770         * modules/unictype/property-hex-digit: Likewise.
32771         * modules/unictype/property-hyphen: Likewise.
32772         * modules/unictype/property-id-continue: Likewise.
32773         * modules/unictype/property-id-start: Likewise.
32774         * modules/unictype/property-ideographic: Likewise.
32775         * modules/unictype/property-ids-binary-operator: Likewise.
32776         * modules/unictype/property-ids-trinary-operator: Likewise.
32777         * modules/unictype/property-ignorable-control: Likewise.
32778         * modules/unictype/property-iso-control: Likewise.
32779         * modules/unictype/property-join-control: Likewise.
32780         * modules/unictype/property-left-of-pair: Likewise.
32781         * modules/unictype/property-line-separator: Likewise.
32782         * modules/unictype/property-logical-order-exception: Likewise.
32783         * modules/unictype/property-lowercase: Likewise.
32784         * modules/unictype/property-math: Likewise.
32785         * modules/unictype/property-non-break: Likewise.
32786         * modules/unictype/property-not-a-character: Likewise.
32787         * modules/unictype/property-numeric: Likewise.
32788         * modules/unictype/property-other-alphabetic: Likewise.
32789         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
32790         * modules/unictype/property-other-grapheme-extend: Likewise.
32791         * modules/unictype/property-other-id-continue: Likewise.
32792         * modules/unictype/property-other-id-start: Likewise.
32793         * modules/unictype/property-other-lowercase: Likewise.
32794         * modules/unictype/property-other-math: Likewise.
32795         * modules/unictype/property-other-uppercase: Likewise.
32796         * modules/unictype/property-paired-punctuation: Likewise.
32797         * modules/unictype/property-paragraph-separator: Likewise.
32798         * modules/unictype/property-pattern-syntax: Likewise.
32799         * modules/unictype/property-pattern-white-space: Likewise.
32800         * modules/unictype/property-private-use: Likewise.
32801         * modules/unictype/property-punctuation: Likewise.
32802         * modules/unictype/property-quotation-mark: Likewise.
32803         * modules/unictype/property-radical: Likewise.
32804         * modules/unictype/property-sentence-terminal: Likewise.
32805         * modules/unictype/property-soft-dotted: Likewise.
32806         * modules/unictype/property-space: Likewise.
32807         * modules/unictype/property-terminal-punctuation: Likewise.
32808         * modules/unictype/property-test: Likewise.
32809         * modules/unictype/property-titlecase: Likewise.
32810         * modules/unictype/property-unassigned-code-value: Likewise.
32811         * modules/unictype/property-unified-ideograph: Likewise.
32812         * modules/unictype/property-uppercase: Likewise.
32813         * modules/unictype/property-variation-selector: Likewise.
32814         * modules/unictype/property-white-space: Likewise.
32815         * modules/unictype/property-xid-continue: Likewise.
32816         * modules/unictype/property-xid-start: Likewise.
32817         * modules/unictype/property-zero-width: Likewise.
32818         * modules/unictype/scripts: Likewise.
32819         * modules/unictype/syntax-c-ident: Likewise.
32820         * modules/unictype/syntax-c-whitespace: Likewise.
32821         * modules/unictype/syntax-java-ident: Likewise.
32822         * modules/unictype/syntax-java-whitespace: Likewise.
32823         * modules/unilbrk/u8-possible-linebreaks: Likewise.
32824         * modules/unilbrk/u8-width-linebreaks: Likewise.
32825         * modules/unilbrk/u16-possible-linebreaks: Likewise.
32826         * modules/unilbrk/u16-width-linebreaks: Likewise.
32827         * modules/unilbrk/u32-possible-linebreaks: Likewise.
32828         * modules/unilbrk/u32-width-linebreaks: Likewise.
32829         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
32830         * modules/unilbrk/ulc-width-linebreaks: Likewise.
32831         * modules/uniname/uniname: Likewise.
32832         * modules/uninorm/canonical-decomposition: Likewise.
32833         * modules/uninorm/composition: Likewise.
32834         * modules/uninorm/decomposing-form: Likewise.
32835         * modules/uninorm/decomposition: Likewise.
32836         * modules/uninorm/filter: Likewise.
32837         * modules/uninorm/nfc: Likewise.
32838         * modules/uninorm/nfd: Likewise.
32839         * modules/uninorm/nfkc: Likewise.
32840         * modules/uninorm/nfkd: Likewise.
32841         * modules/uninorm/u8-normalize: Likewise.
32842         * modules/uninorm/u8-normcmp: Likewise.
32843         * modules/uninorm/u8-normcoll: Likewise.
32844         * modules/uninorm/u8-normxfrm: Likewise.
32845         * modules/uninorm/u16-normalize: Likewise.
32846         * modules/uninorm/u16-normcmp: Likewise.
32847         * modules/uninorm/u16-normcoll: Likewise.
32848         * modules/uninorm/u16-normxfrm: Likewise.
32849         * modules/uninorm/u32-normalize: Likewise.
32850         * modules/uninorm/u32-normcmp: Likewise.
32851         * modules/uninorm/u32-normcoll: Likewise.
32852         * modules/uninorm/u32-normxfrm: Likewise.
32853         * modules/unistdio/u8-asnprintf: Likewise.
32854         * modules/unistdio/u8-asprintf: Likewise.
32855         * modules/unistdio/u8-snprintf: Likewise.
32856         * modules/unistdio/u8-sprintf: Likewise.
32857         * modules/unistdio/u8-u8-asnprintf: Likewise.
32858         * modules/unistdio/u8-u8-asprintf: Likewise.
32859         * modules/unistdio/u8-u8-snprintf: Likewise.
32860         * modules/unistdio/u8-u8-sprintf: Likewise.
32861         * modules/unistdio/u8-u8-vasnprintf: Likewise.
32862         * modules/unistdio/u8-u8-vasprintf: Likewise.
32863         * modules/unistdio/u8-u8-vsnprintf: Likewise.
32864         * modules/unistdio/u8-u8-vsprintf: Likewise.
32865         * modules/unistdio/u8-vasnprintf: Likewise.
32866         * modules/unistdio/u8-vasprintf: Likewise.
32867         * modules/unistdio/u8-vsnprintf: Likewise.
32868         * modules/unistdio/u8-vsprintf: Likewise.
32869         * modules/unistdio/u16-asnprintf: Likewise.
32870         * modules/unistdio/u16-asprintf: Likewise.
32871         * modules/unistdio/u16-snprintf: Likewise.
32872         * modules/unistdio/u16-sprintf: Likewise.
32873         * modules/unistdio/u16-u16-asnprintf: Likewise.
32874         * modules/unistdio/u16-u16-asprintf: Likewise.
32875         * modules/unistdio/u16-u16-snprintf: Likewise.
32876         * modules/unistdio/u16-u16-sprintf: Likewise.
32877         * modules/unistdio/u16-u16-vasnprintf: Likewise.
32878         * modules/unistdio/u16-u16-vasprintf: Likewise.
32879         * modules/unistdio/u16-u16-vsnprintf: Likewise.
32880         * modules/unistdio/u16-u16-vsprintf: Likewise.
32881         * modules/unistdio/u16-vasnprintf: Likewise.
32882         * modules/unistdio/u16-vasprintf: Likewise.
32883         * modules/unistdio/u16-vsnprintf: Likewise.
32884         * modules/unistdio/u16-vsprintf: Likewise.
32885         * modules/unistdio/u32-asnprintf: Likewise.
32886         * modules/unistdio/u32-asprintf: Likewise.
32887         * modules/unistdio/u32-snprintf: Likewise.
32888         * modules/unistdio/u32-sprintf: Likewise.
32889         * modules/unistdio/u32-u32-asnprintf: Likewise.
32890         * modules/unistdio/u32-u32-asprintf: Likewise.
32891         * modules/unistdio/u32-u32-snprintf: Likewise.
32892         * modules/unistdio/u32-u32-sprintf: Likewise.
32893         * modules/unistdio/u32-u32-vasnprintf: Likewise.
32894         * modules/unistdio/u32-u32-vasprintf: Likewise.
32895         * modules/unistdio/u32-u32-vsnprintf: Likewise.
32896         * modules/unistdio/u32-u32-vsprintf: Likewise.
32897         * modules/unistdio/u32-vasnprintf: Likewise.
32898         * modules/unistdio/u32-vasprintf: Likewise.
32899         * modules/unistdio/u32-vsnprintf: Likewise.
32900         * modules/unistdio/u32-vsprintf: Likewise.
32901         * modules/unistdio/ulc-asnprintf: Likewise.
32902         * modules/unistdio/ulc-asprintf: Likewise.
32903         * modules/unistdio/ulc-fprintf: Likewise.
32904         * modules/unistdio/ulc-snprintf: Likewise.
32905         * modules/unistdio/ulc-sprintf: Likewise.
32906         * modules/unistdio/ulc-vasnprintf: Likewise.
32907         * modules/unistdio/ulc-vasprintf: Likewise.
32908         * modules/unistdio/ulc-vfprintf: Likewise.
32909         * modules/unistdio/ulc-vsnprintf: Likewise.
32910         * modules/unistdio/ulc-vsprintf: Likewise.
32911         * modules/unistr/u8-check: Likewise.
32912         * modules/unistr/u8-chr: Likewise.
32913         * modules/unistr/u8-cmp: Likewise.
32914         * modules/unistr/u8-cmp2: Likewise.
32915         * modules/unistr/u8-cpy: Likewise.
32916         * modules/unistr/u8-cpy-alloc: Likewise.
32917         * modules/unistr/u8-endswith: Likewise.
32918         * modules/unistr/u8-mblen: Likewise.
32919         * modules/unistr/u8-mbsnlen: Likewise.
32920         * modules/unistr/u8-mbtouc: Likewise.
32921         * modules/unistr/u8-mbtouc-unsafe: Likewise.
32922         * modules/unistr/u8-mbtoucr: Likewise.
32923         * modules/unistr/u8-move: Likewise.
32924         * modules/unistr/u8-next: Likewise.
32925         * modules/unistr/u8-prev: Likewise.
32926         * modules/unistr/u8-set: Likewise.
32927         * modules/unistr/u8-startswith: Likewise.
32928         * modules/unistr/u8-stpcpy: Likewise.
32929         * modules/unistr/u8-stpncpy: Likewise.
32930         * modules/unistr/u8-strcat: Likewise.
32931         * modules/unistr/u8-strchr: Likewise.
32932         * modules/unistr/u8-strcmp: Likewise.
32933         * modules/unistr/u8-strcoll: Likewise.
32934         * modules/unistr/u8-strcpy: Likewise.
32935         * modules/unistr/u8-strcspn: Likewise.
32936         * modules/unistr/u8-strdup: Likewise.
32937         * modules/unistr/u8-strlen: Likewise.
32938         * modules/unistr/u8-strmblen: Likewise.
32939         * modules/unistr/u8-strmbtouc: Likewise.
32940         * modules/unistr/u8-strncat: Likewise.
32941         * modules/unistr/u8-strncmp: Likewise.
32942         * modules/unistr/u8-strncpy: Likewise.
32943         * modules/unistr/u8-strnlen: Likewise.
32944         * modules/unistr/u8-strpbrk: Likewise.
32945         * modules/unistr/u8-strrchr: Likewise.
32946         * modules/unistr/u8-strspn: Likewise.
32947         * modules/unistr/u8-strstr: Likewise.
32948         * modules/unistr/u8-strtok: Likewise.
32949         * modules/unistr/u8-to-u16: Likewise.
32950         * modules/unistr/u8-to-u32: Likewise.
32951         * modules/unistr/u8-uctomb: Likewise.
32952         * modules/unistr/u16-check: Likewise.
32953         * modules/unistr/u16-chr: Likewise.
32954         * modules/unistr/u16-cmp: Likewise.
32955         * modules/unistr/u16-cmp2: Likewise.
32956         * modules/unistr/u16-cpy: Likewise.
32957         * modules/unistr/u16-cpy-alloc: Likewise.
32958         * modules/unistr/u16-endswith: Likewise.
32959         * modules/unistr/u16-mblen: Likewise.
32960         * modules/unistr/u16-mbsnlen: Likewise.
32961         * modules/unistr/u16-mbtouc: Likewise.
32962         * modules/unistr/u16-mbtouc-unsafe: Likewise.
32963         * modules/unistr/u16-mbtoucr: Likewise.
32964         * modules/unistr/u16-move: Likewise.
32965         * modules/unistr/u16-next: Likewise.
32966         * modules/unistr/u16-prev: Likewise.
32967         * modules/unistr/u16-set: Likewise.
32968         * modules/unistr/u16-startswith: Likewise.
32969         * modules/unistr/u16-stpcpy: Likewise.
32970         * modules/unistr/u16-stpncpy: Likewise.
32971         * modules/unistr/u16-strcat: Likewise.
32972         * modules/unistr/u16-strchr: Likewise.
32973         * modules/unistr/u16-strcmp: Likewise.
32974         * modules/unistr/u16-strcoll: Likewise.
32975         * modules/unistr/u16-strcpy: Likewise.
32976         * modules/unistr/u16-strcspn: Likewise.
32977         * modules/unistr/u16-strdup: Likewise.
32978         * modules/unistr/u16-strlen: Likewise.
32979         * modules/unistr/u16-strmblen: Likewise.
32980         * modules/unistr/u16-strmbtouc: Likewise.
32981         * modules/unistr/u16-strncat: Likewise.
32982         * modules/unistr/u16-strncmp: Likewise.
32983         * modules/unistr/u16-strncpy: Likewise.
32984         * modules/unistr/u16-strnlen: Likewise.
32985         * modules/unistr/u16-strpbrk: Likewise.
32986         * modules/unistr/u16-strrchr: Likewise.
32987         * modules/unistr/u16-strspn: Likewise.
32988         * modules/unistr/u16-strstr: Likewise.
32989         * modules/unistr/u16-strtok: Likewise.
32990         * modules/unistr/u16-to-u32: Likewise.
32991         * modules/unistr/u16-to-u8: Likewise.
32992         * modules/unistr/u16-uctomb: Likewise.
32993         * modules/unistr/u32-check: Likewise.
32994         * modules/unistr/u32-chr: Likewise.
32995         * modules/unistr/u32-cmp: Likewise.
32996         * modules/unistr/u32-cmp2: Likewise.
32997         * modules/unistr/u32-cpy: Likewise.
32998         * modules/unistr/u32-cpy-alloc: Likewise.
32999         * modules/unistr/u32-endswith: Likewise.
33000         * modules/unistr/u32-mblen: Likewise.
33001         * modules/unistr/u32-mbsnlen: Likewise.
33002         * modules/unistr/u32-mbtouc: Likewise.
33003         * modules/unistr/u32-mbtouc-unsafe: Likewise.
33004         * modules/unistr/u32-mbtoucr: Likewise.
33005         * modules/unistr/u32-move: Likewise.
33006         * modules/unistr/u32-next: Likewise.
33007         * modules/unistr/u32-prev: Likewise.
33008         * modules/unistr/u32-set: Likewise.
33009         * modules/unistr/u32-startswith: Likewise.
33010         * modules/unistr/u32-stpcpy: Likewise.
33011         * modules/unistr/u32-stpncpy: Likewise.
33012         * modules/unistr/u32-strcat: Likewise.
33013         * modules/unistr/u32-strchr: Likewise.
33014         * modules/unistr/u32-strcmp: Likewise.
33015         * modules/unistr/u32-strcoll: Likewise.
33016         * modules/unistr/u32-strcpy: Likewise.
33017         * modules/unistr/u32-strcspn: Likewise.
33018         * modules/unistr/u32-strdup: Likewise.
33019         * modules/unistr/u32-strlen: Likewise.
33020         * modules/unistr/u32-strmblen: Likewise.
33021         * modules/unistr/u32-strmbtouc: Likewise.
33022         * modules/unistr/u32-strncat: Likewise.
33023         * modules/unistr/u32-strncmp: Likewise.
33024         * modules/unistr/u32-strncpy: Likewise.
33025         * modules/unistr/u32-strnlen: Likewise.
33026         * modules/unistr/u32-strpbrk: Likewise.
33027         * modules/unistr/u32-strrchr: Likewise.
33028         * modules/unistr/u32-strspn: Likewise.
33029         * modules/unistr/u32-strstr: Likewise.
33030         * modules/unistr/u32-strtok: Likewise.
33031         * modules/unistr/u32-to-u16: Likewise.
33032         * modules/unistr/u32-to-u8: Likewise.
33033         * modules/unistr/u32-uctomb: Likewise.
33034         * modules/uniwbrk/u8-wordbreaks: Likewise.
33035         * modules/uniwbrk/u16-wordbreaks: Likewise.
33036         * modules/uniwbrk/u32-wordbreaks: Likewise.
33037         * modules/uniwbrk/ulc-wordbreaks: Likewise.
33038         * modules/uniwbrk/wordbreak-property: Likewise.
33039         * modules/uniwidth/u8-strwidth: Likewise.
33040         * modules/uniwidth/u8-width: Likewise.
33041         * modules/uniwidth/u16-strwidth: Likewise.
33042         * modules/uniwidth/u16-width: Likewise.
33043         * modules/uniwidth/u32-strwidth: Likewise.
33044         * modules/uniwidth/u32-width: Likewise.
33045         * modules/uniwidth/width: Likewise.
33046         * modules/unicase/cased-tests (Makefile.am): Link all test programs
33047         with $(LIBUNISTRING).
33048         * modules/unicase/ignorable-tests: Likewise.
33049         * modules/unicase/locale-language-tests: Likewise.
33050         * modules/unicase/tolower-tests: Likewise.
33051         * modules/unicase/totitle-tests: Likewise.
33052         * modules/unicase/toupper-tests: Likewise.
33053         * modules/unicase/u8-casecmp-tests: Likewise.
33054         * modules/unicase/u8-casecoll-tests: Likewise.
33055         * modules/unicase/u8-casefold-tests: Likewise.
33056         * modules/unicase/u8-is-cased-tests: Likewise.
33057         * modules/unicase/u8-is-casefolded-tests: Likewise.
33058         * modules/unicase/u8-is-lowercase-tests: Likewise.
33059         * modules/unicase/u8-is-titlecase-tests: Likewise.
33060         * modules/unicase/u8-is-uppercase-tests: Likewise.
33061         * modules/unicase/u8-tolower-tests: Likewise.
33062         * modules/unicase/u8-totitle-tests: Likewise.
33063         * modules/unicase/u8-toupper-tests: Likewise.
33064         * modules/unicase/u16-casecmp-tests: Likewise.
33065         * modules/unicase/u16-casecoll-tests: Likewise.
33066         * modules/unicase/u16-casefold-tests: Likewise.
33067         * modules/unicase/u16-is-cased-tests: Likewise.
33068         * modules/unicase/u16-is-casefolded-tests: Likewise.
33069         * modules/unicase/u16-is-lowercase-tests: Likewise.
33070         * modules/unicase/u16-is-titlecase-tests: Likewise.
33071         * modules/unicase/u16-is-uppercase-tests: Likewise.
33072         * modules/unicase/u16-tolower-tests: Likewise.
33073         * modules/unicase/u16-totitle-tests: Likewise.
33074         * modules/unicase/u16-toupper-tests: Likewise.
33075         * modules/unicase/u32-casecmp-tests: Likewise.
33076         * modules/unicase/u32-casecoll-tests: Likewise.
33077         * modules/unicase/u32-casefold-tests: Likewise.
33078         * modules/unicase/u32-is-cased-tests: Likewise.
33079         * modules/unicase/u32-is-casefolded-tests: Likewise.
33080         * modules/unicase/u32-is-lowercase-tests: Likewise.
33081         * modules/unicase/u32-is-titlecase-tests: Likewise.
33082         * modules/unicase/u32-is-uppercase-tests: Likewise.
33083         * modules/unicase/u32-tolower-tests: Likewise.
33084         * modules/unicase/u32-totitle-tests: Likewise.
33085         * modules/unicase/u32-toupper-tests: Likewise.
33086         * modules/unicase/ulc-casecmp-tests: Likewise.
33087         * modules/unicase/ulc-casecoll-tests: Likewise.
33088         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
33089         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
33090         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
33091         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
33092         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
33093         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
33094         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
33095         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
33096         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
33097         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
33098         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
33099         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
33100         * modules/unictype/bidicategory-byname-tests: Likewise.
33101         * modules/unictype/bidicategory-name-tests: Likewise.
33102         * modules/unictype/bidicategory-of-tests: Likewise.
33103         * modules/unictype/bidicategory-test-tests: Likewise.
33104         * modules/unictype/block-list-tests: Likewise.
33105         * modules/unictype/block-of-tests: Likewise.
33106         * modules/unictype/block-test-tests: Likewise.
33107         * modules/unictype/category-C-tests: Likewise.
33108         * modules/unictype/category-Cc-tests: Likewise.
33109         * modules/unictype/category-Cf-tests: Likewise.
33110         * modules/unictype/category-Cn-tests: Likewise.
33111         * modules/unictype/category-Co-tests: Likewise.
33112         * modules/unictype/category-Cs-tests: Likewise.
33113         * modules/unictype/category-L-tests: Likewise.
33114         * modules/unictype/category-Ll-tests: Likewise.
33115         * modules/unictype/category-Lm-tests: Likewise.
33116         * modules/unictype/category-Lo-tests: Likewise.
33117         * modules/unictype/category-Lt-tests: Likewise.
33118         * modules/unictype/category-Lu-tests: Likewise.
33119         * modules/unictype/category-M-tests: Likewise.
33120         * modules/unictype/category-Mc-tests: Likewise.
33121         * modules/unictype/category-Me-tests: Likewise.
33122         * modules/unictype/category-Mn-tests: Likewise.
33123         * modules/unictype/category-N-tests: Likewise.
33124         * modules/unictype/category-Nd-tests: Likewise.
33125         * modules/unictype/category-Nl-tests: Likewise.
33126         * modules/unictype/category-No-tests: Likewise.
33127         * modules/unictype/category-P-tests: Likewise.
33128         * modules/unictype/category-Pc-tests: Likewise.
33129         * modules/unictype/category-Pd-tests: Likewise.
33130         * modules/unictype/category-Pe-tests: Likewise.
33131         * modules/unictype/category-Pf-tests: Likewise.
33132         * modules/unictype/category-Pi-tests: Likewise.
33133         * modules/unictype/category-Po-tests: Likewise.
33134         * modules/unictype/category-Ps-tests: Likewise.
33135         * modules/unictype/category-S-tests: Likewise.
33136         * modules/unictype/category-Sc-tests: Likewise.
33137         * modules/unictype/category-Sk-tests: Likewise.
33138         * modules/unictype/category-Sm-tests: Likewise.
33139         * modules/unictype/category-So-tests: Likewise.
33140         * modules/unictype/category-Z-tests: Likewise.
33141         * modules/unictype/category-Zl-tests: Likewise.
33142         * modules/unictype/category-Zp-tests: Likewise.
33143         * modules/unictype/category-Zs-tests: Likewise.
33144         * modules/unictype/category-and-not-tests: Likewise.
33145         * modules/unictype/category-and-tests: Likewise.
33146         * modules/unictype/category-byname-tests: Likewise.
33147         * modules/unictype/category-name-tests: Likewise.
33148         * modules/unictype/category-none-tests: Likewise.
33149         * modules/unictype/category-of-tests: Likewise.
33150         * modules/unictype/category-or-tests: Likewise.
33151         * modules/unictype/category-test-withtable-tests: Likewise.
33152         * modules/unictype/combining-class-tests: Likewise.
33153         * modules/unictype/ctype-alnum-tests: Likewise.
33154         * modules/unictype/ctype-alpha-tests: Likewise.
33155         * modules/unictype/ctype-blank-tests: Likewise.
33156         * modules/unictype/ctype-cntrl-tests: Likewise.
33157         * modules/unictype/ctype-digit-tests: Likewise.
33158         * modules/unictype/ctype-graph-tests: Likewise.
33159         * modules/unictype/ctype-lower-tests: Likewise.
33160         * modules/unictype/ctype-print-tests: Likewise.
33161         * modules/unictype/ctype-punct-tests: Likewise.
33162         * modules/unictype/ctype-space-tests: Likewise.
33163         * modules/unictype/ctype-upper-tests: Likewise.
33164         * modules/unictype/ctype-xdigit-tests: Likewise.
33165         * modules/unictype/decimal-digit-tests: Likewise.
33166         * modules/unictype/digit-tests: Likewise.
33167         * modules/unictype/mirror-tests: Likewise.
33168         * modules/unictype/numeric-tests: Likewise.
33169         * modules/unictype/property-alphabetic-tests: Likewise.
33170         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
33171         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
33172         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
33173         * modules/unictype/property-bidi-block-separator-tests: Likewise.
33174         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
33175         * modules/unictype/property-bidi-common-separator-tests: Likewise.
33176         * modules/unictype/property-bidi-control-tests: Likewise.
33177         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
33178         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
33179         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
33180         * modules/unictype/property-bidi-european-digit-tests: Likewise.
33181         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
33182         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
33183         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
33184         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
33185         * modules/unictype/property-bidi-pdf-tests: Likewise.
33186         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
33187         * modules/unictype/property-bidi-whitespace-tests: Likewise.
33188         * modules/unictype/property-byname-tests: Likewise.
33189         * modules/unictype/property-combining-tests: Likewise.
33190         * modules/unictype/property-composite-tests: Likewise.
33191         * modules/unictype/property-currency-symbol-tests: Likewise.
33192         * modules/unictype/property-dash-tests: Likewise.
33193         * modules/unictype/property-decimal-digit-tests: Likewise.
33194         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
33195         * modules/unictype/property-deprecated-tests: Likewise.
33196         * modules/unictype/property-diacritic-tests: Likewise.
33197         * modules/unictype/property-extender-tests: Likewise.
33198         * modules/unictype/property-format-control-tests: Likewise.
33199         * modules/unictype/property-grapheme-base-tests: Likewise.
33200         * modules/unictype/property-grapheme-extend-tests: Likewise.
33201         * modules/unictype/property-grapheme-link-tests: Likewise.
33202         * modules/unictype/property-hex-digit-tests: Likewise.
33203         * modules/unictype/property-hyphen-tests: Likewise.
33204         * modules/unictype/property-id-continue-tests: Likewise.
33205         * modules/unictype/property-id-start-tests: Likewise.
33206         * modules/unictype/property-ideographic-tests: Likewise.
33207         * modules/unictype/property-ids-binary-operator-tests: Likewise.
33208         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
33209         * modules/unictype/property-ignorable-control-tests: Likewise.
33210         * modules/unictype/property-iso-control-tests: Likewise.
33211         * modules/unictype/property-join-control-tests: Likewise.
33212         * modules/unictype/property-left-of-pair-tests: Likewise.
33213         * modules/unictype/property-line-separator-tests: Likewise.
33214         * modules/unictype/property-logical-order-exception-tests: Likewise.
33215         * modules/unictype/property-lowercase-tests: Likewise.
33216         * modules/unictype/property-math-tests: Likewise.
33217         * modules/unictype/property-non-break-tests: Likewise.
33218         * modules/unictype/property-not-a-character-tests: Likewise.
33219         * modules/unictype/property-numeric-tests: Likewise.
33220         * modules/unictype/property-other-alphabetic-tests: Likewise.
33221         * modules/unictype/property-other-default-ignorable-code-point-tests:
33222         Likewise.
33223         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
33224         * modules/unictype/property-other-id-continue-tests: Likewise.
33225         * modules/unictype/property-other-id-start-tests: Likewise.
33226         * modules/unictype/property-other-lowercase-tests: Likewise.
33227         * modules/unictype/property-other-math-tests: Likewise.
33228         * modules/unictype/property-other-uppercase-tests: Likewise.
33229         * modules/unictype/property-paired-punctuation-tests: Likewise.
33230         * modules/unictype/property-paragraph-separator-tests: Likewise.
33231         * modules/unictype/property-pattern-syntax-tests: Likewise.
33232         * modules/unictype/property-pattern-white-space-tests: Likewise.
33233         * modules/unictype/property-private-use-tests: Likewise.
33234         * modules/unictype/property-punctuation-tests: Likewise.
33235         * modules/unictype/property-quotation-mark-tests: Likewise.
33236         * modules/unictype/property-radical-tests: Likewise.
33237         * modules/unictype/property-sentence-terminal-tests: Likewise.
33238         * modules/unictype/property-soft-dotted-tests: Likewise.
33239         * modules/unictype/property-space-tests: Likewise.
33240         * modules/unictype/property-terminal-punctuation-tests: Likewise.
33241         * modules/unictype/property-test-tests: Likewise.
33242         * modules/unictype/property-titlecase-tests: Likewise.
33243         * modules/unictype/property-unassigned-code-value-tests: Likewise.
33244         * modules/unictype/property-unified-ideograph-tests: Likewise.
33245         * modules/unictype/property-uppercase-tests: Likewise.
33246         * modules/unictype/property-variation-selector-tests: Likewise.
33247         * modules/unictype/property-white-space-tests: Likewise.
33248         * modules/unictype/property-xid-continue-tests: Likewise.
33249         * modules/unictype/property-xid-start-tests: Likewise.
33250         * modules/unictype/property-zero-width-tests: Likewise.
33251         * modules/unictype/scripts-tests: Likewise.
33252         * modules/unictype/syntax-c-ident-tests: Likewise.
33253         * modules/unictype/syntax-c-whitespace-tests: Likewise.
33254         * modules/unictype/syntax-java-ident-tests: Likewise.
33255         * modules/unictype/syntax-java-whitespace-tests: Likewise.
33256         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
33257         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
33258         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
33259         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
33260         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
33261         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
33262         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
33263         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
33264         * modules/uniname/uniname-tests: Likewise.
33265         * modules/uninorm/canonical-decomposition-tests: Likewise.
33266         * modules/uninorm/compat-decomposition-tests: Likewise.
33267         * modules/uninorm/composition-tests: Likewise.
33268         * modules/uninorm/decomposing-form-tests: Likewise.
33269         * modules/uninorm/decomposition-tests: Likewise.
33270         * modules/uninorm/filter-tests: Likewise.
33271         * modules/uninorm/nfc-tests: Likewise.
33272         * modules/uninorm/nfd-tests: Likewise.
33273         * modules/uninorm/nfkc-tests: Likewise.
33274         * modules/uninorm/nfkd-tests: Likewise.
33275         * modules/uninorm/u8-normcmp-tests: Likewise.
33276         * modules/uninorm/u8-normcoll-tests: Likewise.
33277         * modules/uninorm/u16-normcmp-tests: Likewise.
33278         * modules/uninorm/u16-normcoll-tests: Likewise.
33279         * modules/uninorm/u32-normcmp-tests: Likewise.
33280         * modules/uninorm/u32-normcoll-tests: Likewise.
33281         * modules/unistdio/u8-asnprintf-tests: Likewise.
33282         * modules/unistdio/u8-vasnprintf-tests: Likewise.
33283         * modules/unistdio/u8-vasprintf-tests: Likewise.
33284         * modules/unistdio/u8-vsnprintf-tests: Likewise.
33285         * modules/unistdio/u8-vsprintf-tests: Likewise.
33286         * modules/unistdio/u16-asnprintf-tests: Likewise.
33287         * modules/unistdio/u16-vasnprintf-tests: Likewise.
33288         * modules/unistdio/u16-vasprintf-tests: Likewise.
33289         * modules/unistdio/u16-vsnprintf-tests: Likewise.
33290         * modules/unistdio/u16-vsprintf-tests: Likewise.
33291         * modules/unistdio/u32-asnprintf-tests: Likewise.
33292         * modules/unistdio/u32-vasnprintf-tests: Likewise.
33293         * modules/unistdio/u32-vasprintf-tests: Likewise.
33294         * modules/unistdio/u32-vsnprintf-tests: Likewise.
33295         * modules/unistdio/u32-vsprintf-tests: Likewise.
33296         * modules/unistdio/ulc-asnprintf-tests: Likewise.
33297         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
33298         * modules/unistdio/ulc-vasprintf-tests: Likewise.
33299         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
33300         * modules/unistdio/ulc-vsprintf-tests: Likewise.
33301         * modules/unistr/u8-check-tests: Likewise.
33302         * modules/unistr/u8-chr-tests: Likewise.
33303         * modules/unistr/u8-cmp-tests: Likewise.
33304         * modules/unistr/u8-cmp2-tests: Likewise.
33305         * modules/unistr/u8-cpy-alloc-tests: Likewise.
33306         * modules/unistr/u8-cpy-tests: Likewise.
33307         * modules/unistr/u8-mblen-tests: Likewise.
33308         * modules/unistr/u8-mbsnlen-tests: Likewise.
33309         * modules/unistr/u8-mbtouc-tests: Likewise.
33310         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
33311         * modules/unistr/u8-mbtoucr-tests: Likewise.
33312         * modules/unistr/u8-move-tests: Likewise.
33313         * modules/unistr/u8-next-tests: Likewise.
33314         * modules/unistr/u8-prev-tests: Likewise.
33315         * modules/unistr/u8-set-tests: Likewise.
33316         * modules/unistr/u8-stpcpy-tests: Likewise.
33317         * modules/unistr/u8-stpncpy-tests: Likewise.
33318         * modules/unistr/u8-strcat-tests: Likewise.
33319         * modules/unistr/u8-strcmp-tests: Likewise.
33320         * modules/unistr/u8-strcoll-tests: Likewise.
33321         * modules/unistr/u8-strcpy-tests: Likewise.
33322         * modules/unistr/u8-strdup-tests: Likewise.
33323         * modules/unistr/u8-strlen-tests: Likewise.
33324         * modules/unistr/u8-strmblen-tests: Likewise.
33325         * modules/unistr/u8-strmbtouc-tests: Likewise.
33326         * modules/unistr/u8-strncat-tests: Likewise.
33327         * modules/unistr/u8-strncmp-tests: Likewise.
33328         * modules/unistr/u8-strncpy-tests: Likewise.
33329         * modules/unistr/u8-strnlen-tests: Likewise.
33330         * modules/unistr/u8-to-u16-tests: Likewise.
33331         * modules/unistr/u8-to-u32-tests: Likewise.
33332         * modules/unistr/u8-uctomb-tests: Likewise.
33333         * modules/unistr/u16-check-tests: Likewise.
33334         * modules/unistr/u16-chr-tests: Likewise.
33335         * modules/unistr/u16-cmp-tests: Likewise.
33336         * modules/unistr/u16-cmp2-tests: Likewise.
33337         * modules/unistr/u16-cpy-alloc-tests: Likewise.
33338         * modules/unistr/u16-cpy-tests: Likewise.
33339         * modules/unistr/u16-mblen-tests: Likewise.
33340         * modules/unistr/u16-mbsnlen-tests: Likewise.
33341         * modules/unistr/u16-mbtouc-tests: Likewise.
33342         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
33343         * modules/unistr/u16-mbtoucr-tests: Likewise.
33344         * modules/unistr/u16-move-tests: Likewise.
33345         * modules/unistr/u16-next-tests: Likewise.
33346         * modules/unistr/u16-prev-tests: Likewise.
33347         * modules/unistr/u16-set-tests: Likewise.
33348         * modules/unistr/u16-stpcpy-tests: Likewise.
33349         * modules/unistr/u16-stpncpy-tests: Likewise.
33350         * modules/unistr/u16-strcat-tests: Likewise.
33351         * modules/unistr/u16-strcmp-tests: Likewise.
33352         * modules/unistr/u16-strcoll-tests: Likewise.
33353         * modules/unistr/u16-strcpy-tests: Likewise.
33354         * modules/unistr/u16-strdup-tests: Likewise.
33355         * modules/unistr/u16-strlen-tests: Likewise.
33356         * modules/unistr/u16-strmblen-tests: Likewise.
33357         * modules/unistr/u16-strmbtouc-tests: Likewise.
33358         * modules/unistr/u16-strncat-tests: Likewise.
33359         * modules/unistr/u16-strncmp-tests: Likewise.
33360         * modules/unistr/u16-strncpy-tests: Likewise.
33361         * modules/unistr/u16-strnlen-tests: Likewise.
33362         * modules/unistr/u16-to-u32-tests: Likewise.
33363         * modules/unistr/u16-to-u8-tests: Likewise.
33364         * modules/unistr/u16-uctomb-tests: Likewise.
33365         * modules/unistr/u32-check-tests: Likewise.
33366         * modules/unistr/u32-chr-tests: Likewise.
33367         * modules/unistr/u32-cmp-tests: Likewise.
33368         * modules/unistr/u32-cmp2-tests: Likewise.
33369         * modules/unistr/u32-cpy-alloc-tests: Likewise.
33370         * modules/unistr/u32-cpy-tests: Likewise.
33371         * modules/unistr/u32-mblen-tests: Likewise.
33372         * modules/unistr/u32-mbsnlen-tests: Likewise.
33373         * modules/unistr/u32-mbtouc-tests: Likewise.
33374         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
33375         * modules/unistr/u32-mbtoucr-tests: Likewise.
33376         * modules/unistr/u32-move-tests: Likewise.
33377         * modules/unistr/u32-next-tests: Likewise.
33378         * modules/unistr/u32-prev-tests: Likewise.
33379         * modules/unistr/u32-set-tests: Likewise.
33380         * modules/unistr/u32-stpcpy-tests: Likewise.
33381         * modules/unistr/u32-stpncpy-tests: Likewise.
33382         * modules/unistr/u32-strcat-tests: Likewise.
33383         * modules/unistr/u32-strcmp-tests: Likewise.
33384         * modules/unistr/u32-strcoll-tests: Likewise.
33385         * modules/unistr/u32-strcpy-tests: Likewise.
33386         * modules/unistr/u32-strdup-tests: Likewise.
33387         * modules/unistr/u32-strlen-tests: Likewise.
33388         * modules/unistr/u32-strmblen-tests: Likewise.
33389         * modules/unistr/u32-strmbtouc-tests: Likewise.
33390         * modules/unistr/u32-strncat-tests: Likewise.
33391         * modules/unistr/u32-strncmp-tests: Likewise.
33392         * modules/unistr/u32-strncpy-tests: Likewise.
33393         * modules/unistr/u32-strnlen-tests: Likewise.
33394         * modules/unistr/u32-to-u16-tests: Likewise.
33395         * modules/unistr/u32-to-u8-tests: Likewise.
33396         * modules/unistr/u32-uctomb-tests: Likewise.
33397         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
33398         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
33399         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
33400         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
33401         * modules/uniwidth/u8-strwidth-tests: Likewise.
33402         * modules/uniwidth/u8-width-tests: Likewise.
33403         * modules/uniwidth/u16-strwidth-tests: Likewise.
33404         * modules/uniwidth/u16-width-tests: Likewise.
33405         * modules/uniwidth/u32-strwidth-tests: Likewise.
33406         * modules/uniwidth/u32-width-tests: Likewise.
33407         * modules/uniwidth/width-tests: Likewise.
33408
33409 2010-05-18  Richard Jones  <rjones@redhat.com>
33410
33411         doc: users.txt: list hivex
33412         * users.txt: Add hivex.
33413
33414 2010-05-18  Richard Jones  <rjones@redhat.com>
33415
33416         doc: users.txt: list febootstrap
33417         * users.txt: Add febootstrap.
33418
33419 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
33420
33421         bootstrap: fix an error when gnulib is not used as a git submodule
33422         * build-aux/bootstrap (gnulib_path): If its length is zero then
33423         assign "gnulib" to it.
33424         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
33425
33426 2010-05-16  Bruno Haible  <bruno@clisp.org>
33427
33428         Avoid autoconf warnings about AM_ICONV.
33429         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
33430         2.64.
33431
33432 2010-05-16  Bruno Haible  <bruno@clisp.org>
33433
33434         absolute-header: Make the macro usable in more situations.
33435         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
33436         from gl_ABSOLUTE_HEADER.
33437         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
33438
33439 2010-05-16  James Youngman  <jay@gnu.org>
33440
33441         doc: update users.txt
33442         * users.txt: Add CSSC.
33443
33444 2010-05-16  Jim Meyering  <meyering@redhat.com>
33445
33446         init.sh: fix an error in the previous change; add more comments
33447         * tests/init.sh: Compare exit code in loop against 9, not 2.
33448         Patch by Bruno Haible.
33449         Make the two tests more similar by adding an empty "then" clause.
33450         Add comments.
33451
33452         init.sh: avoid unnecessary shell re-exec
33453         * tests/init.sh: Improve the re-exec-required check to first test the
33454         current shell.  If it passes the test, do not search for a shell that
33455         does pass, and do not re-exec.  This test is particularly contorted to
33456         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
33457         of $(...) evokes a syntax error and causes immediate shell exit with
33458         status 2.  Bruno Haible reported that the re-exec made it impossible
33459         to single-step through any init.sh-using script.
33460
33461 2010-05-16  Bruno Haible  <bruno@clisp.org>
33462
33463         Fix collision between gnulib's and libintl's printf replacements.
33464         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
33465         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
33466         (printf): When using GNU C, map the __printf__ function to rpl_printf
33467         via __asm__. When not using GNU C, define rpl_printf instead of
33468         __printf__.
33469         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
33470         commit.
33471         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
33472         commit.
33473         * m4/asm-underscore.m4: New file.
33474         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
33475         * modules/stdio (Files): Add m4/asm-underscore.m4.
33476         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
33477         Reported by Ben Pfaff.
33478
33479 2010-05-16  Bruno Haible  <bruno@clisp.org>
33480
33481         verify: Avoid skipping the test on openSUSE 11.0.
33482         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
33483
33484 2010-05-13  Bruno Haible  <bruno@clisp.org>
33485
33486         Avoid useless warnings from G++.
33487         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
33488         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
33489         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33490
33491 2010-05-11  Jim Meyering  <meyering@redhat.com>
33492
33493         maint.mk: tweak preceding change
33494         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
33495         regexps tighter by anchoring at EOL, and make the new group "shy"
33496         for slightly decreased overhead.
33497
33498 2010-05-11  Eric Blake  <eblake@redhat.com>
33499
33500         maint.mk: gnulib doesn't guarantee NSIG
33501         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
33502
33503 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33504
33505         test-pwrite.c: Remove unused variable declaration.
33506         * tests/test-pwrite.c (main): Remove read_buf declaration.
33507
33508         Remove useless test-pwrite.sh file.
33509         * tests/test-pwrite.sh: Delete file.
33510         * modules/pwrite-tests: Remove references.
33511         Reported by Bruno Haible.
33512
33513 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33514
33515         init.sh: fix a typo
33516         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
33517
33518 2010-05-10  Jim Meyering  <meyering@redhat.com>
33519
33520         maint.mk: avoid using a temporary file in the always-defined-macros check
33521         * top/maint.mk (.re-defmac): Remove rule.
33522         (gl_trap_): Remove definition.
33523         (sc_prohibit_always-defined_macros): Rewrite not to create and
33524         depend on a temporary file.  Instead, depend on GNU grep's ability
33525         to read a list of regular expressions from stdin when given "-f -".
33526
33527 2010-05-09  Bruno Haible  <bruno@clisp.org>
33528
33529         Update to GNU gettext 0.18, part 1.
33530         * m4/gettext.m4: Update to GNU gettext 0.18.
33531         * m4/intl.m4: Likewise.
33532         * m4/po.m4: Likewise.
33533         * modules/gettext (Files): Add m4/fcntl-o.m4.
33534         (configure.ac): Require gettext infrastructure from version 0.18.
33535
33536 2010-05-09  Jim Meyering  <meyering@redhat.com>
33537
33538         init.sh: enable MALLOC_PERTURB_
33539         * tests/init.sh: Enable glibc's malloc-perturbing option.
33540
33541         maint.mk: improve sc_cross_check_PATH_usage_in_tests
33542         With my recent change in init.sh from the two-line form:
33543             -#   : ${srcdir=.}
33544             -#   . "$srcdir/init.sh"; path_prepend_ .
33545             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
33546         I noticed that using the one-line form would cause this test
33547         to fail with a false-positive, or to stop working altogether,
33548         depending on whether help-version changed or all the tests did.
33549         * top/maint.mk (_hv_regex): Remove this definition.
33550         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
33551         (_hv_regex_strong): Use a stronger regex to check for conformance.
33552         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
33553         Give a separate diagnostic for lack of conforming use.
33554
33555         maint.mk: prohibit definition of symbols defined by gnulib
33556         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
33557         definition of symbols defined by gnulib.
33558
33559 2010-05-09  Bruno Haible  <bruno@clisp.org>
33560
33561         acl: Avoid test failure on Cygwin-hosted mingw.
33562         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
33563
33564 2010-05-09  Bruno Haible  <bruno@clisp.org>
33565
33566         error: Use system's fcntl function.
33567         * lib/error.c (fcntl): Undefine.
33568
33569 2010-05-09  Jim Meyering  <meyering@redhat.com>
33570
33571         verify: adjust formatting to be more consistent
33572         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
33573         argument-list '('s, and after one comma.
33574
33575 2010-05-09  Bruno Haible  <bruno@clisp.org>
33576
33577         error: More reliable output on mingw.
33578         * lib/error.c: Include <windows.h>.
33579         (is_open): New function.
33580         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
33581         defined.
33582
33583 2010-05-09  Bruno Haible  <bruno@clisp.org>
33584
33585         vasnprintf: Fix syntax errors in libintl build on mingw.
33586         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
33587         pad_ourselves and prec_ourselves after use.
33588
33589 2010-05-08  Bruno Haible  <bruno@clisp.org>
33590
33591         * lib/config.charset: Update comments for Cygwin 1.7.
33592         * lib/localcharset.c: Likewise.
33593
33594 2010-05-07  Jim Meyering  <meyering@redhat.com>
33595
33596         init.sh: improve comments
33597         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
33598         . "${srcdir=.}/init.sh"; path_prepend_ .
33599         Add a note about path_prepend_ and the alternative of using
33600         TESTS_ENVIRONMENT.
33601
33602 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
33603
33604         exclude: Unescape hashed patterns in wildcard mode.
33605         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
33606         to the hash list.
33607         * tests/test-exclude8.sh: New test case.
33608         * modules/exclude-tests: Add new test.
33609
33610 2010-05-05  Eric Blake  <eblake@redhat.com>
33611
33612         verify: automate tests
33613         * modules/verify-tests: New module.
33614         * tests/test-verify.sh: New file.
33615         * tests/test-verify.c: Guard each negative test with a unique id.
33616         Also avoid warning about unused left hand of comma expressions.
33617
33618 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
33619
33620         Further improvements to verify.h, suggested by Eric Blake.
33621         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
33622         the GL_* versions, to avoid collision with OpenGL.
33623         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
33624         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
33625         than testing merely whether it's defined.
33626
33627         Modify verify.h to pacify gcc -Wredundant_decls.
33628         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
33629         These use the prefix "GL_" since they're likely to be useful elsewhere.
33630         We may need to break them out into a different .h file.
33631         (__COUNTER__): Define to 0 if the compiler doesn't support it.
33632         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
33633         of verify_function__.
33634
33635 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33636
33637         Tests for module pwrite.
33638         * modules/pwrite-tests: New file.
33639         * tests/test-pwrite.sh: New file.
33640         * tests/test-pwrite.c: New file.
33641
33642         New module pwrite.
33643         * lib/unistd.in.h (pwrite): New declaration.
33644         * lib/pwrite.c: New file, from glibc with modifications.
33645         * m4/pwrite.m4: New file.
33646         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
33647         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
33648         REPLACE_PWRITE.
33649         * modules/pwrite: New file.
33650         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
33651         REPLACE_PWRITE.
33652         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
33653         * doc/posix-functions/pwrite.texi: Mention the new module.
33654
33655 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33656
33657         pread: Update documentation.
33658         * doc/posix-functions/pread.texi: Mention the 'pread' module.
33659
33660 2010-05-04  Eric Blake  <eblake@redhat.com>
33661
33662         docs: update cygwin progress
33663         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
33664         this bug.
33665         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
33666         Added in cygwin 1.7.2.
33667         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
33668         Likewise.
33669         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
33670         Likewise.
33671         * doc/glibc-functions/dup3.texi (dup3): Likewise.
33672         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
33673         * doc/glibc-functions/accept4.texi (accept4): Likewise.
33674         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
33675         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
33676         Mention nproc module.
33677         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
33678         bug in cygwin 1.7.5 addition.
33679         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
33680         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
33681         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
33682         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
33683         1.7.5.
33684         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
33685         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
33686         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
33687         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
33688         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
33689         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
33690         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
33691         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
33692         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
33693         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
33694         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
33695         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
33696         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
33697         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
33698         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
33699         Likewise.
33700         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
33701         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
33702         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
33703         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
33704         Likewise.
33705         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
33706         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
33707         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
33708         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
33709         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
33710         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
33711         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
33712         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
33713         Likewise.
33714         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
33715         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
33716         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
33717         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
33718         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
33719         Likewise.
33720         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
33721         Likewise.
33722         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
33723         Likewise.
33724         * doc/glibc-functions/xdrrec_endofrecord.texi
33725         (xdrrec_endofrecord): Likewise.
33726         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
33727         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
33728         Likewise.
33729         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
33730         Likewise.
33731
33732 2010-05-04  Jim Meyering  <meyering@redhat.com>
33733
33734         gendocs.sh: make its "-s FILE" option more useful
33735         * build-aux/gendocs.sh: When honoring the -s FILE option, update
33736         $PACKAGE to reflect the probably-different basename of "FILE".
33737
33738 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
33739
33740         bootstrap: don't ignore download_po_files failure
33741         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
33742         failure.
33743
33744 2010-05-03  Jim Meyering  <meyering@redhat.com>
33745
33746         maint.mk: allow to pass options to gendocs.sh
33747         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
33748         (gendocs_options_): New overridable variable.
33749
33750         gnu-web-doc-update: don't ignore configure or build failure
33751         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
33752
33753         announce-gen: backslash-escape '@'s in --help output
33754         * build-aux/announce-gen: Fix syntax errors.
33755
33756         maint.mk, announce-gen: allow project-specific announcement mail headers
33757         * top/maint.mk (translation_project_): Define default.
33758         (announcement_Cc_, announcement_mail_headers_): Likewise.
33759         (announcement): Invoke announce-gen with new --mail-headers option.
33760         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
33761
33762         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
33763         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
33764         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
33765         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
33766         line in the "err2" output file when running "make check" in verbose
33767         mode (i.e., with set -x enabled).
33768
33769 2010-05-03  Bruno Haible  <bruno@clisp.org>
33770
33771         wctob: Fix for weird platforms.
33772         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
33773         argument value.
33774
33775 2010-05-03  Jim Meyering  <meyering@redhat.com>
33776
33777         maint.mk: prohibit unwarranted use of <strings.h>
33778         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
33779         strings.h in a file that does not also use strcasecmp, strncasecmp,
33780         ffs or ffsll.
33781
33782         maint.mk: remove obsolete comments
33783         * top/maint.mk: Remove stale, commented-out rules.
33784
33785 2010-05-02  Bruno Haible  <bruno@clisp.org>
33786
33787         wcwidth: Declare also when it's aliased.
33788         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
33789         macro.
33790
33791 2010-05-02  Bruno Haible  <bruno@clisp.org>
33792
33793         Fix regression from 2010-04-25.
33794         * gnulib-tool (func_modules_transitive_closure): Check the status of
33795         all modules, not only of the tests that are of the form foo-tests where
33796         foo is a module.
33797
33798 2010-05-02  Bruno Haible  <bruno@clisp.org>
33799
33800         wctob: Work around nasty Cygwin 1.7.2 bug.
33801         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
33802         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
33803
33804 2010-05-01  Bruno Haible  <bruno@clisp.org>
33805
33806         fpurge: Sharper test.
33807         * tests/test-fpurge.c (main): Add one more ftell check.
33808         * modules/fpurge-tests (Depends-on): Add ftell.
33809         Suggested by Eric Blake.
33810
33811 2010-05-01  Bruno Haible  <bruno@clisp.org>
33812
33813         ftello: Another test.
33814         * tests/test-ftello3.c: New file.
33815         * modules/ftello-tests (Files): Add it.
33816         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33817         MOSTLYCLEANFILES.
33818
33819         ftell: Another test.
33820         * tests/test-ftell3.c: New file.
33821         * modules/ftell-tests (Files): Add it.
33822         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33823         MOSTLYCLEANFILES.
33824
33825 2010-05-01  Bruno Haible  <bruno@clisp.org>
33826
33827         ftell, ftello: Work around Solaris bug.
33828         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
33829         * lib/ftello.c: Include stdio-impl.h.
33830         (ftello): On Solaris, when _IOWRT is set, compute the result without
33831         looking at _IOREAD.
33832         * modules/ftello (Files): Add lib/stdio-impl.h.
33833         * doc/posix-functions/ftell.texi: Mention Solaris bug.
33834         * doc/posix-functions/ftello.texi: Likewise.
33835         Reported by Eric Blake.
33836
33837 2010-05-01  Bruno Haible  <bruno@clisp.org>
33838
33839         freading: Adapt to special meaning of _IOREAD flag on Solaris.
33840         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
33841         the _IOWRT flag is also set.
33842
33843 2010-05-01  Bruno Haible  <bruno@clisp.org>
33844
33845         Fix doc about a HP-UX stdio bug.
33846         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
33847         * doc/posix-functions/ftello.texi: Likewise.
33848
33849 2010-05-01  Bruno Haible  <bruno@clisp.org>
33850
33851         lseek test: Fix failure on Solaris.
33852         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
33853         output.
33854
33855 2010-04-30  Jim Meyering  <meyering@redhat.com>
33856
33857         bootstrap: don't ignore failure to generate po*/Makevars
33858         * build-aux/bootstrap (with_gettext): Don't ignore failure
33859         to create po/Makevars or runtime-po/Makevars.
33860
33861 2010-04-29  Eric Blake  <eblake@redhat.com>
33862
33863         headers: relax license to LGPLv2+
33864         * modules/fcntl-h (License): Relax license.
33865         * modules/getopt-posix (License): Likewise.
33866         * modules/locale (License): Likewise.
33867         * modules/math (License): Likewise.
33868         * modules/pty (License): Likewise.
33869         * modules/sched (License): Likewise.
33870         * modules/search (License): Likewise.
33871         * modules/spawn (License): Likewise.
33872         * modules/stdarg (License): Likewise.
33873         * modules/sysexits (License): Likewise.
33874
33875 2010-04-29  Jim Meyering  <meyering@redhat.com>
33876
33877         inttypes: relax license to LGPLv2+
33878         * modules/inttypes (License): Relax license.
33879
33880 2010-04-29  Simon Josefsson  <simon@josefsson.org>
33881
33882         * top/maint.mk (indent): Run twice to produce idempotent results.
33883
33884 2010-04-28  Bruno Haible  <bruno@clisp.org>
33885
33886         getdate: Generate getdate.c in the source directory.
33887         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
33888         MOSTLYCLEANFILES.
33889         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
33890
33891 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
33892
33893         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
33894         is not declared as a const *; avoid warnings in that case.
33895
33896 2010-04-28  Eric Blake  <eblake@redhat.com>
33897
33898         canonicalize-lgpl: avoid compiler warning
33899         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
33900         declaration' / 'extraneous semicolon' warning with some compilers.
33901         Reported by Andreas Gruenbacher.
33902
33903 2010-04-28  Jim Meyering  <meyering@redhat.com>
33904
33905         init.sh: ensure a more reliable exit status when exiting via trap
33906         * tests/init.sh (setup_): Don't rely on $? in signal handler.
33907         Inspired by patches from Dmitry V. Levin.
33908         Also trap on signal 3 (SIGQUIT).
33909
33910 2010-04-27  Bruno Haible  <bruno@clisp.org>
33911
33912         Update doc about utimes().
33913         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
33914         'utimens' module.
33915         Reported by Andreas Gruenbacher <agruen@suse.de>.
33916
33917 2010-04-27  Eric Blake  <eblake@redhat.com>
33918
33919         full-read, full-write: relax license
33920         * modules/full-read (License): Drop to LGPLv2+.
33921         * modules/full-write (License): Likewise.
33922         * modules/safe-read (License): Likewise.
33923         * modules/safe-write (License): Likewise.
33924
33925         pthread: mention library for linking
33926         * modules/pthread (Link): Mention $(LIB_PTHREAD).
33927
33928 2010-04-27  Jim Meyering  <meyering@redhat.com>
33929
33930         maint.mk: fix a bug introduced in last change
33931         * top/maint.mk (gl_assured_headers_): Now that all names are on
33932         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
33933         is not anchored to end of word, it should be adequate.
33934
33935         maint.mk: avoid side-effect in latest syntax-check
33936         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
33937         to run commands via $(shell...), and hence to incur cost only when
33938         the new rule is actually run.
33939
33940         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
33941         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
33942         and use that to create a regexp used to detect all #if HAVE_..._H uses.
33943         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
33944         (gl_assured_headers_, az_, AZ_): Define.
33945         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
33946
33947 2010-04-26  Jim Meyering  <jim@meyering.net>
33948             Bruno Haible  <bruno@clisp.org>
33949
33950         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
33951         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
33952         Prompted by an exchange with Gilles Espinasse.
33953
33954 2010-04-26  Jim Meyering  <meyering@redhat.com>
33955
33956         git-version-gen: aesthetic tweak
33957         * build-aux/git-version-gen: Use "$nl" rather than a literal,
33958         so that the command remains on a single line.
33959
33960 2010-04-26  Eric Blake  <eblake@redhat.com>
33961
33962         git-version-gen: allow use on EBCDIC hosts
33963         * build-aux/git-version-gen (dirty): Use literal rather than tying
33964         ourselves to ascii.
33965         Reported by Steve Goetze.
33966
33967 2010-04-25  Bruno Haible  <bruno@clisp.org>
33968
33969         netdb: Add support for GNULIB_POSIXCHECK.
33970         * lib/netdb.in.h: Include warn-on-use.h.
33971         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
33972         functions are used when GNULIB_POSIXCHECK is defined and the
33973         getaddrinfo module is not in use.
33974         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
33975         freeaddrinfo, gai_strerror, getnameinfo are declared.
33976         * modules/netdb (Depends-on): Add warn-on-use.
33977         (Makefile.am): Include warn-on-use.h in netdb.h.
33978
33979 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
33980
33981         build: avoid "make check" failure without .git/ directory
33982         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
33983         there is no .git/ directory.
33984
33985 2010-04-25  Bruno Haible  <bruno@clisp.org>
33986
33987         ptsname: Fix misuse of ttyname_r.
33988         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
33989         of errno.
33990
33991 2010-04-25  Bruno Haible  <bruno@clisp.org>
33992
33993         ttyname_r: Make it work on Solaris 10.
33994         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
33995         if the system function has the POSIX declaration. Test whether the
33996         function fails if the buffer is less than 128 bytes large.
33997         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
33998         system's ttyname_r function. Provide a reasonably large buffer.
33999         * modules/ttyname_r (Depends-on): Add extensions.
34000         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
34001
34002 2010-04-25  Bruno Haible  <bruno@clisp.org>
34003
34004         Use the 'extensions' module for some more functions on Solaris.
34005         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
34006         module.
34007         * doc/posix-functions/ctime_r.texi: Likewise.
34008         * doc/posix-functions/getgrgid_r.texi: Likewise.
34009         * doc/posix-functions/getgrnam_r.texi: Likewise.
34010         * doc/posix-functions/getpwnam_r.texi: Likewise.
34011         * doc/posix-functions/getpwuid_r.texi: Likewise.
34012         * doc/posix-functions/readdir_r.texi: Likewise.
34013         * doc/posix-functions/sigwait.texi: Likewise.
34014         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
34015         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
34016
34017 2010-04-25  Bruno Haible  <bruno@clisp.org>
34018
34019         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
34020         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
34021         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
34022         * lib/ttyname_r.c: Include <limits.h>.
34023         (ttyname_r): Define using the system's ttyname_r function, if it exists
34024         and not on Solaris.
34025         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
34026         set.
34027         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
34028         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
34029         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
34030         Reported by Simon Josefsson.
34031
34032 2010-04-25  Bruno Haible  <bruno@clisp.org>
34033
34034         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
34035         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
34036         * doc/posix-functions/ctime_r.texi: Likewise.
34037         * doc/posix-functions/getgrgid_r.texi: Likewise.
34038         * doc/posix-functions/getgrnam_r.texi: Likewise.
34039         * doc/posix-functions/getlogin_r.texi: Likewise.
34040         * doc/posix-functions/getpwnam_r.texi: Likewise.
34041         * doc/posix-functions/getpwuid_r.texi: Likewise.
34042         * doc/posix-functions/readdir_r.texi: Likewise.
34043         * doc/posix-functions/sigwait.texi: Likewise.
34044         * doc/posix-functions/ttyname_r.texi: Likewise.
34045         Reported by Simon Josefsson.
34046
34047 2010-04-25  Bruno Haible  <bruno@clisp.org>
34048
34049         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
34050         * gnulib-tool (func_usage): Document that --with-*-tests options apply
34051         also to --create-testdir.
34052         (func_acceptable): Don't consider the status of *-tests modules here.
34053         (func_modules_transitive_closure): Consider it here, before including a
34054         test module.
34055         (func_import, func_create_testdir): Set inc_all_direct_tests,
34056         inc_all_indirect_tests.
34057         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
34058         --create-testdir and --create-megatestdir.
34059
34060 2010-04-25  Bruno Haible  <bruno@clisp.org>
34061
34062         gnulib-tool: Add --without-*-tests options.
34063         * gnulib-tool (func_usage): Document the --without-*-tests options.
34064         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
34065         excl_unportable_tests): New variables.
34066         Fail if they are specified with --import or --update.
34067         (func_acceptable): Respect the excl_*_tests variables.
34068         (func_import): Set the excl_*_tests variables to empty.
34069
34070 2010-04-25  Simon Josefsson  <simon@josefsson.org>
34071             Bruno Haible  <bruno@clisp.org>
34072
34073         Work around a MacOS X 10.4 bug with openpty.
34074         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
34075         * tests/test-openpty.c (main): Close the master side explicitly.
34076
34077 2010-04-25  Bruno Haible  <bruno@clisp.org>
34078
34079         strnlen: Fix a C++ test error on MacOS X and Solaris.
34080         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
34081         the function is not declared.
34082         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
34083         Simon Josefsson.
34084
34085 2010-04-24  Bruno Haible  <bruno@clisp.org>
34086
34087         Avoid a gcc warning.
34088         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
34089         of correct type for %08lx directive.
34090         Reported by Eric Blake.
34091
34092 2010-04-24  Bruno Haible  <bruno@clisp.org>
34093
34094         vasnprintf: Correct errno value in case of out-of-memory.
34095         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
34096         or sprintf. Use the errno value from SNPRINTF or sprintf.
34097         Reported by Ian Beckwith <ianb@erislabs.net>.
34098
34099 2010-04-24  Bruno Haible  <bruno@clisp.org>
34100
34101         ansi-c++-opt: Find correct compiler when cross-compiling.
34102         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
34103         AC_CHECK_PROGS.
34104         Reported by Simon Josefsson.
34105
34106 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
34107
34108         vc-list-files: Add support for subversion
34109         * build-aux/vc-list-files: Use "svn list" to generate the list of
34110         files controlled by subversion.
34111
34112 2010-04-23  Jim Meyering  <meyering@redhat.com>
34113
34114         vc-list-files tests: convert to use init.sh
34115         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
34116         path_prepend_.
34117         Use Exit, not exit.
34118         Use skip_ rather than open coding it.
34119         Remove trap set-up and compare definitions.
34120         * tests/test-vc-list-files-git.sh: Likewise.
34121         * modules/vc-list-files-tests (Files): Add tests/init.sh.
34122
34123 2010-04-22  Simon Josefsson  <simon@josefsson.org>
34124
34125         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
34126         backup files.
34127
34128 2010-04-21  Simon Josefsson  <simon@josefsson.org>
34129
34130         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
34131
34132 2010-04-20  Eric Blake  <eblake@redhat.com>
34133
34134         tests: be robust to ignored SIGPIPE
34135         * tests/test-select-in.sh: Consume all output.
34136         * tests/test-lseek.sh: Check correct exit status, while avoiding
34137         EPIPE.
34138
34139 2010-04-20  Simon Josefsson  <simon@josefsson.org>
34140             Bruno Haible  <bruno@clisp.org>
34141
34142         visibility: Don't use -fvisibility if it leads to a warning.
34143         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
34144         yes, don't pretend that visibility works if it leads to a warning.
34145         Reported by Mike Gran <spk121@yahoo.com>.
34146
34147 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
34148
34149         * build-aux/bootstrap: Use "git -h" for testing for supported options
34150         instead of "git --help".  The short-form option only shows a summary,
34151         and doesn't layout the full man page.  Grep for the full option name
34152         in the summary, too.
34153
34154 2010-04-19  Bruno Haible  <bruno@clisp.org>
34155
34156         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
34157         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
34158         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
34159         mention of RELOCATABLE_STRIP.
34160         Reported by Sylvain Beucler <beuc@beuc.net>.
34161
34162 2010-04-19  Bruno Haible  <bruno@clisp.org>
34163
34164         * lib/diffseq.h: Fix typo in comment.
34165         Reported by Eric Blake.
34166
34167 2010-04-19  Bruno Haible  <bruno@clisp.org>
34168
34169         ioctl: Move autoconf macro to a .m4 file.
34170         * m4/ioctl.m4: New file, extracted from modules/ioctl.
34171         * modules/ioctl (Files): Add it.
34172         (configure.ac): Simply invoke gl_FUNC_IOCTL.
34173         Reported by Ian Beckwith <ianb@erislabs.net>.
34174
34175 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
34176             Bruno Haible  <bruno@clisp.org>
34177
34178         diffseq: Accommodate use-case with abstract arrays.
34179         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
34180         is not defined.
34181         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
34182         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
34183
34184 2010-04-18  Bruno Haible  <bruno@clisp.org>
34185
34186         * doc/posix-headers/stdbool.texi: More precise wording.
34187
34188 2010-04-17  Jim Meyering  <meyering@redhat.com>
34189
34190         maint.mk: use gnu-style indentation in an embedded perl script
34191         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
34192         Rename variable: s/two/last_two_bytes/
34193
34194 2010-04-16  Eric Blake  <eblake@redhat.com>
34195
34196         test-stdbool: skip test that fails with Solaris CC
34197         * tests/test-stdbool.c (f): Skip test that causes compilation
34198         error under buggy C++ compiler.
34199         * lib/stdbool.in.h: Document the limitation.
34200         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
34201
34202         setenv: allow compilation with C++
34203         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
34204         register keyword.
34205
34206         stdint: allow test to pass with C++
34207         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
34208
34209         getopt: allow compilation with C++
34210         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
34211         struct.
34212         * lib/getopt.c (_getopt_internal_r): Use correct type.
34213         Reported by Dagobert Michelson, via Joel E. Denny.
34214
34215 2010-04-16  Bruno Haible  <bruno@clisp.org>
34216
34217         Override netdb.h always.
34218         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
34219         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
34220         Reported by Ludovic Courtès <ludo@gnu.org>.
34221
34222 2010-04-15  Bruno Haible  <bruno@clisp.org>
34223
34224         openpty: Fix mistake from 2010-03-21.
34225         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
34226         Reported by Simon Josefsson.
34227
34228 2010-04-15  Eric Blake  <eblake@redhat.com>
34229
34230         test-forkpty: fix expected signature
34231         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
34232         Reported by Simon Josefsson.
34233
34234 2010-04-15  Jim Meyering  <meyering@redhat.com>
34235
34236         maint.mk: texinfo_suffix_re_: correct the default regexp
34237         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
34238
34239         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
34240         make it configurable via texinfo_suffix_re_.
34241
34242 2010-04-14  Eric Blake  <eblake@redhat.com>
34243
34244         strtok_r: relax license to LGPLv2+
34245         * modules/strtok_r (License): Relax license.
34246         Reported by Matthias Bolte.
34247
34248 2010-04-14  Simon Josefsson  <simon@josefsson.org>
34249
34250         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
34251         version 1.4.4 by default instead of requiring the libgcrypt
34252         version used during build.  This makes it possible to use the
34253         application with older but still binary compatible libgcrypt
34254         versions.
34255
34256 2010-04-13  Eric Blake  <eblake@redhat.com>
34257
34258         getopt-gnu: match recent glibc fixes and posix ruling
34259         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
34260         '+' handling, when requesting extensions.
34261         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
34262         'W;' handling.
34263         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
34264         * doc/posix-functions/getopt.texi (getopt): Document this.
34265         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34266         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34267         Likewise.
34268
34269         getopt: merge bug fixes from glibc
34270         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
34271         diagnostics.  Honor '+:' correctly.  Reject ';'.
34272
34273         getopt-posix: detect MacOS bug
34274         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
34275         optind when missing a required argument.
34276         * doc/posix-functions/getopt.texi (getopt): Document the bug.
34277         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34278         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34279         Likewise.
34280
34281         getopt-posix: avoid spurious failure on Solaris
34282         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
34283         an indicator that setting optind=1 is sufficient for reset.
34284
34285         getopt-posix: avoid spurious failure on FreeBSD
34286         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
34287         in POSIX mode, since the m4 test uses it.
34288
34289         gnulib-tool: silence warning on BSD sh
34290         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
34291
34292 2010-04-13  Jim Meyering  <meyering@redhat.com>
34293
34294         doc: users.txt: GNU patch now uses gnulib
34295         * users.txt: Add patch.
34296
34297 2010-04-12  Jim Meyering  <meyering@redhat.com>
34298
34299         maint.mk: generate more concise timing data for syntax-check rules
34300         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
34301         " done" from each line that reports a syntax-check test duration.
34302
34303 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
34304
34305         git-version-gen: use "git update-index..." rather than "git status"
34306         * build-aux/git-version-gen: Use git update-index --refresh, not
34307         "git status".  With some versions of git, "git status" would fail
34308         to update the index and result in an unwarranted "-dirty" suffix.
34309
34310 2010-04-11  Jim Meyering  <meyering@redhat.com>
34311
34312         openat: correct formatting (no semantic change)
34313         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
34314         Suggested by Bruno Haible.
34315
34316 2010-04-11  Bruno Haible  <bruno@clisp.org>
34317
34318         Stricter declaration checking in testdirs.
34319         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34320         If for_tests is true, augment AM_CPPFLAGS to define
34321         GNULIB_STRICT_CHECKING.
34322         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
34323         GNULIB_STRICT_CHECKING is defined, verify that the function is
34324         declared.
34325
34326 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
34327             Bruno Haible  <bruno@clisp.org>
34328
34329         libunistring: Improve configure output.
34330         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
34331         Don't say "consider installing GNU libunistring" when checking again
34332         with libiconv.
34333
34334 2010-04-11  Bruno Haible  <bruno@clisp.org>
34335
34336         libunistring: Correct value of $LTLIBUNISTRING.
34337         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
34338         correct the value of $LTLIBUNISTRING.
34339
34340 2010-04-11  Bruno Haible  <bruno@clisp.org>
34341
34342         havelib: Add static libraries to LIBS in the right order.
34343         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
34344         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
34345
34346 2010-04-11  Bruno Haible  <bruno@clisp.org>
34347
34348         libunistring: Detect libunistring also when it depends on libiconv.
34349         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
34350         the second AC_LIB_HAVE_LINKFLAGS invocation.
34351
34352 2010-04-11  James Youngman  <jay@gnu.org>
34353
34354         close-stream: declare local scalars to be "const"
34355         * lib/close-stream.c (close_stream): Make boolean variables const
34356         to document the fact that we set but do not change them.
34357
34358 2010-04-11  Bruno Haible  <bruno@clisp.org>
34359
34360         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
34361
34362 2010-04-11  Jim Meyering  <meyering@redhat.com>
34363
34364         maint.mk: don't include dist-check.mk
34365         * top/maint.mk: Remove bogus include directive.
34366
34367         maint.mk: improve empty-line-at-EOF check
34368         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
34369         solution, rather than tail+Perl-based one.  The latter would read
34370         a few kilobytes from the end of each file, and did not handle empty
34371         files properly.
34372
34373         maint.mk: print the elapsed time for each syntax-check rule
34374         * top/maint.mk (sc_m_rules_): Save start time in a file.
34375         (sc_z_rules_): New rules: remove temp file and print elapsed time.
34376         (local-check): Interpose the .z rules
34377
34378 2010-04-11  Jim Meyering  <meyering@redhat.com>
34379
34380         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
34381         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
34382         empty file with one that ends in an empty line.
34383
34384 2010-04-10  Bruno Haible  <bruno@clisp.org>
34385
34386         mkdir: Make it work on mingw64.
34387         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
34388         * lib/mkdir.c: Update comment.
34389         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
34390
34391 2010-04-10  Bruno Haible  <bruno@clisp.org>
34392
34393         Don't override improved macro from newer autoconf.
34394         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
34395         autoconf >= 2.62.
34396         Reported by Joel E. Denny <jdenny@clemson.edu>.
34397
34398 2010-04-10  Jim Meyering  <meyering@redhat.com>
34399
34400         maint.mk: new syntax-check rule: prohibit empty lines at end of file
34401         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
34402
34403         maint.mk: correct a diagnostic
34404         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
34405         in diagnostic; now use $prohibit.
34406
34407 2010-04-10  Bruno Haible  <address@hidden>
34408
34409         fchownat: Fix a C++ test error on Solaris 8.
34410         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
34411         the function does not exist.
34412
34413 2010-04-10  Bruno Haible  <bruno@clisp.org>
34414
34415         vasnprintf: Add more tests.
34416         * tests/test-vasnprintf-posix.c: Include <errno.h>.
34417         (test_function): Test converting an invalid wide string.
34418
34419         vasnprintf: Correct handling of unconvertible wide string arguments.
34420         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
34421         VASNPRINTF.
34422         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
34423         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
34424         smaller than the expected maximum need for the directive. Set errno to
34425         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
34426         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
34427         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
34428         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
34429         * modules/vasnprintf (Files): Add m4/printf.m4.
34430         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34431
34432 2010-04-10  Bruno Haible  <bruno@clisp.org>
34433
34434         vasnprintf: Fix crash in %ls directive.
34435         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
34436         string is passed as argument to %ls, with no precision and no width.
34437         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34438
34439 2010-04-10  Bruno Haible  <bruno@clisp.org>
34440
34441         vasnprintf: Fix multiple test failures on mingw.
34442         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
34443         _snprintf, or snwprintf, not _snwprintf.
34444
34445 2010-04-10  Bruno Haible  <bruno@clisp.org>
34446
34447         write: Fix a C++ test error on mingw.
34448         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
34449
34450 2010-04-10  Bruno Haible  <bruno@clisp.org>
34451
34452         vasnprintf test: Reduce code duplication.
34453         * tests/test-vasnprintf.c (test_function): New function, extracted from
34454         test_vasnprintf.
34455         (test_vasnprintf, test_asnprintf): Invoke it.
34456
34457 2010-04-10  Bruno Haible  <bruno@clisp.org>
34458
34459         strnlen: Fix warning in C++ mode on MacOS X.
34460         * lib/string.in.h (strnlen): Use the modern idiom.
34461         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
34462         defining strnlen as a macro already in <config.h>.
34463         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34464         REPLACE_STRNLEN.
34465         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
34466         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34467
34468 2010-04-08  James Youngman  <jay@gnu.org>
34469
34470         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
34471         the example.
34472
34473 2010-04-09  Jim Meyering  <meyering@redhat.com>
34474
34475         maint.mk: print better diagnostic when there is no $(_hv_file)
34476         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
34477         announce that when $(_hv_file) (aka help-version) does not exist.
34478
34479         init.sh: run tr in the "C" locale to avoid multibyte interpretation
34480         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
34481         not try to interpret its random input bytes.  Jarno Rajahalme reported
34482         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
34483         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
34484         (mktempd_): Likewise, just in case.
34485
34486         ftruncate: add two years to projected module removal date: 2012
34487         * m4/ftruncate.m4: Adjust comments.
34488
34489         ftruncate: mark module as obsolete; even MinGW provides it, now
34490         * modules/ftruncate (Status): Obsolete.
34491         (Notice): Say that.
34492         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
34493         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
34494
34495 2010-04-08  Bruno Haible  <bruno@clisp.org>
34496
34497         Fix side effects from tests-related modules.
34498         * modules/dprintf-posix (Comment): New section.
34499         * modules/fprintf-posix (Comment): Likewise.
34500         * modules/obstack-printf-posix (Comment): Likewise.
34501         * modules/printf-posix (Comment): Likewise.
34502         * modules/snprintf-posix (Comment): Likewise.
34503         * modules/sprintf-posix (Comment): Likewise.
34504         * modules/vasnprintf-posix (Comment): Likewise.
34505         * modules/vasprintf-posix (Comment): Likewise.
34506         * modules/vdprintf-posix (Comment): Likewise.
34507         * modules/vfprintf-posix (Comment): Likewise.
34508         * modules/vprintf-posix (Comment): Likewise.
34509         * modules/vsnprintf-posix (Comment): Likewise.
34510         * modules/vsprintf-posix (Comment): Likewise.
34511         * modules/xprintf-posix (Comment): Likewise.
34512         * modules/xvasprintf-posix (Comment): Likewise.
34513         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
34514         * modules/floorf-tests (Depends-on): Likewise.
34515         * modules/round-tests (Depends-on): Likewise.
34516         * modules/roundf-tests (Depends-on): Likewise.
34517         * modules/trunc-tests (Depends-on): Likewise.
34518         * modules/truncf-tests (Depends-on): Likewise.
34519         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
34520         'fprintf-posix' module is not present.
34521         * tests/test-floorf2.c (check): Likewise.
34522         * tests/test-trunc2.c (check): Likewise.
34523         * tests/test-truncf2.c (check): Likewise.
34524         * tests/test-round2.c (equal): Likewise.
34525         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34526
34527 2010-04-07  Karl Berry  <karl@gnu.org>
34528
34529         * config/srclist.txt,
34530         * config/srclistvars.sh,
34531         * config/srclist-update: doc fixes.
34532
34533 2010-04-07  Jim Meyering  <meyering@redhat.com>
34534
34535         maint.mk: add a PATH crosschecking syntax-check rule
34536         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
34537         Useful if you use a test like the one in help-version (coreutils,
34538         diffutils, grep, gzip) that ensures $(VERSION) matches what is
34539         printed by prog --version.
34540
34541 2010-04-06  Bruno Haible  <bruno@clisp.org>
34542
34543         Fix link error on mingw.
34544         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
34545         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
34546
34547 2010-04-06  Bruno Haible  <bruno@clisp.org>
34548
34549         Assume rmdir exists.
34550         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
34551
34552 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
34553
34554         doc: update users.txt
34555         * users.txt: Add gcal.
34556
34557 2010-04-06  Jim Meyering  <meyering@redhat.com>
34558
34559         init.sh: simply unset TMPDIR rather than risking env -i
34560         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
34561         although it probably works fine on all Unix-based systems, some
34562         systems (Cygwin?) cannot tolerate a totally cleared environment.
34563         Suggestion from Eric Blake.
34564
34565 2010-04-06  Jim Meyering  <meyering@redhat.com>
34566
34567         init.sh: portability fix: use env's POSIX-specified -i option not -u
34568         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
34569         than unportable env -u.  Solaris 5.11's env lacks support for -u.
34570
34571 2010-04-05  Bruno Haible  <bruno@clisp.org>
34572
34573         btowc: Work around Cygwin 1.7.2 bug.
34574         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
34575         does not map NUL to 0.
34576         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
34577
34578 2010-04-05  Bruno Haible  <bruno@clisp.org>
34579
34580         Make the multithread modules work on Cygwin 1.7.2.
34581         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
34582         imported symbols can be declared weak, so that it returns "no" on
34583         Cygwin 1.7.2.
34584
34585 2010-04-05  Bruno Haible  <bruno@clisp.org>
34586
34587         Use the module 'strncat'.
34588         * modules/unistr/u8-strncat (Depends-on): Add strncat.
34589
34590         Tests for module 'strncat'.
34591         * modules/strncat-tests: New file.
34592         * tests/test-strncat.c: New file.
34593
34594         New module 'strncat'.
34595         * lib/string.in.h (strncat): New declaration.
34596         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
34597         * m4/strncat.m4: New file, based on m4/memchr.m4.
34598         * modules/strncat: New file.
34599         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
34600         is declared.
34601         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
34602         REPLACE_STRNCAT.
34603         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
34604         REPLACE_STRNCAT.
34605         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
34606         module.
34607         * tests/test-string-c++.cc: Check signature of strncat.
34608
34609 2010-04-05  Jim Meyering  <meyering@redhat.com>
34610
34611         xstrtoumax-tests: convert to use init.sh
34612         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
34613         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34614         Use Exit, not exit.
34615         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34616
34617         xstrtoimax-tests: convert to use init.sh
34618         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
34619         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34620         Use Exit, not exit.
34621         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34622
34623 2010-04-05  Bruno Haible  <bruno@clisp.org>
34624
34625         sys_socket: Avoid #define replacements in C++ mode.
34626         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
34627         warning to the function if possible, rather than #defining the symbol
34628         to a dysfunctional alias.
34629
34630 2010-04-05  Bruno Haible  <bruno@clisp.org>
34631
34632         fseeko: Fix C++ test error on mingw.
34633         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
34634         gl_FUNC_FSEEKO.
34635         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
34636         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
34637         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
34638         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
34639
34640 2010-04-05  Bruno Haible  <bruno@clisp.org>
34641
34642         duplocale: Improve test output.
34643         * tests/test-duplocale.c (main): Print reason for skipped test.
34644
34645 2010-04-05  Bruno Haible  <bruno@clisp.org>
34646
34647         Assume rmdir exists.
34648         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
34649         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
34650
34651 2010-04-05  Bruno Haible  <bruno@clisp.org>
34652
34653         Fix link error on Solaris 8 with cc.
34654         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
34655
34656 2010-04-05  Bruno Haible  <bruno@clisp.org>
34657
34658         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34659         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
34660
34661 2010-04-05  Bruno Haible  <bruno@clisp.org>
34662
34663         vasprintf: Update documentation.
34664         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
34665
34666 2010-04-05  Bruno Haible  <bruno@clisp.org>
34667
34668         ptsname: Improve test.
34669         * tests/test-ptsname.c (main): Also try the various master names of BSD
34670         systems.
34671
34672 2010-04-05  Bruno Haible  <bruno@clisp.org>
34673
34674         memchr: Avoid a possible C++ test error.
34675         * lib/string.in.h (memchr): Provide declaration if function is missing.
34676         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
34677         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
34678         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
34679         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
34680
34681 2010-04-05  Bruno Haible  <bruno@clisp.org>
34682
34683         strtok_r: Improve idiom.
34684         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
34685         AC_LIBOBJ is used.
34686
34687 2010-04-05  Bruno Haible  <bruno@clisp.org>
34688
34689         strdup: Improve idiom.
34690         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
34691         AC_LIBOBJ is used.
34692         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
34693         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
34694         when AC_LIBOBJ is used.
34695
34696 2010-04-05  Bruno Haible  <bruno@clisp.org>
34697
34698         mbsinit, mbrtowc, wcrtomb: Improve idioms.
34699         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
34700         don't set REPLACE_MBSINIT to 1.
34701         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
34702         don't set REPLACE_MBRTOWC to 1.
34703         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
34704         exist, don't set REPLACE_MBSRTOWCS to 1.
34705         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
34706         exist, don't set REPLACE_MBSNRTOWCS to 1.
34707         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
34708         don't set REPLACE_WCRTOMB to 1.
34709         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
34710         exist, don't set REPLACE_WCSRTOMBS to 1.
34711         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
34712         exist, don't set REPLACE_WCSNRTOMBS to 1.
34713
34714 2010-04-05  Bruno Haible  <bruno@clisp.org>
34715
34716         ldexpl: Improve idiom.
34717         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
34718         make sure to set HAVE_DECL_LDEXPL to 0.
34719
34720 2010-04-05  Jim Meyering  <meyering@redhat.com>
34721
34722         xstrtol-tests: convert to use init.sh
34723         * modules/xstrtol-tests (Files): Add tests/init.sh.
34724         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34725         Use Exit, not exit.
34726         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34727
34728         atexit-tests: convert to use init.sh
34729         * modules/atexit-tests (Files): Add tests/init.sh.
34730         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34731         Use Exit, not exit.
34732         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34733
34734         init.sh: fix typo
34735         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
34736
34737         init.sh: make it easier for a test script to write to the tty, ...
34738         when using automake's parallel-tests mode.
34739         * tests/init.sh (stderr_fileno_): Define overridable variable.
34740         (warn_): New function, to use it.
34741         (fail_, skip_, framework_failure_): Use warn_.
34742
34743 2010-04-04  Bruno Haible  <bruno@clisp.org>
34744
34745         btowc: Avoid warning.
34746         * lib/btowc.c: Include <stdlib.h>.
34747         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
34748
34749 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34750             Bruno Haible  <bruno@clisp.org>
34751
34752         wchar: Port to NetBSD 1.5.
34753         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
34754         * lib/wctype.in.h (WEOF): Likewise.
34755
34756 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34757             Bruno Haible  <bruno@clisp.org>
34758
34759         Port extended stdio to NetBSD 1.5.
34760         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
34761         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
34762         older.
34763
34764 2010-04-04  Bruno Haible  <bruno@clisp.org>
34765
34766         string: Remove unused substitution.
34767         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
34768         HAVE_DECL_STRERROR.
34769         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
34770
34771 2010-04-04  Bruno Haible  <bruno@clisp.org>
34772
34773         strtod: Avoid a possible C++ test error.
34774         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
34775         set REPLACE_STRTOD.
34776
34777 2010-04-04  Bruno Haible  <bruno@clisp.org>
34778
34779         strerror: Update documentation.
34780         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
34781
34782 2010-04-04  Bruno Haible  <bruno@clisp.org>
34783
34784         stdio: Fix some C++ test errors on Solaris 8 with GCC.
34785         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
34786         _GL_CXXALIAS_SYS_CAST.
34787
34788 2010-04-04  Bruno Haible  <bruno@clisp.org>
34789
34790         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34791         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
34792         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
34793         REPLACE_FREXPL to 1.
34794         * doc/posix-functions/frexpl.texi: Update documentation.
34795
34796 2010-04-04  Bruno Haible  <bruno@clisp.org>
34797
34798         math: Fix some C++ test errors on Solaris 8 and Cygwin.
34799         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
34800
34801 2010-04-04  Bruno Haible  <bruno@clisp.org>
34802
34803         Implement nanosleep for native Windows.
34804         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
34805
34806 2010-04-04  Bruno Haible  <bruno@clisp.org>
34807
34808         math: Fix some C++ test errors on Solaris 8.
34809         * lib/math.in.h (truncf, trunc): Use simpler idiom.
34810
34811 2010-04-04  Bruno Haible  <bruno@clisp.org>
34812
34813         math: Fix some C++ test errors on Cygwin.
34814         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
34815         truncl): Provide declaration if the system does not have it.
34816         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
34817         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
34818         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
34819         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
34820         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
34821         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
34822         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
34823         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
34824         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
34825         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
34826         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
34827         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
34828         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
34829         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
34830         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
34831         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
34832         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
34833         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34834         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34835         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
34836         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34837         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34838
34839 2010-04-04  Bruno Haible  <bruno@clisp.org>
34840
34841         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
34842         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34843         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
34844         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
34845         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
34846         * m4/isinf.m4 (gl_ISINF): Likewise.
34847         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34848
34849 2010-04-04  Bruno Haible  <bruno@clisp.org>
34850
34851         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
34852         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34853
34854 2010-04-04  Bruno Haible  <bruno@clisp.org>
34855
34856         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
34857         * modules/tmpfile (configure.ac): Update.
34858
34859         tmpfile: Fix C++ test error on mingw.
34860         * lib/stdio.in.h (tmpfile): New declaration.
34861         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
34862         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
34863         * modules/tmpfile (Depends-on): Add stdio.
34864         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
34865         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
34866         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
34867         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
34868         REPLACE_TMPFILE.
34869         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
34870
34871 2010-04-04  Bruno Haible  <bruno@clisp.org>
34872
34873         ioctl: Fix C++ test error on mingw.
34874         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
34875         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
34876         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
34877
34878 2010-04-03  Bruno Haible  <bruno@clisp.org>
34879
34880         wcwidth: Fix C++ test error on mingw.
34881         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
34882         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
34883         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
34884
34885 2010-04-03  Bruno Haible  <bruno@clisp.org>
34886
34887         nanosleep: Fix C++ test error on mingw.
34888         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
34889         * lib/time.in.h (nanosleep): Use modern idiom.
34890         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
34891         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
34892         REPLACE_NANOSLEEP to 1.
34893         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
34894         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
34895
34896 2010-04-03  Bruno Haible  <bruno@clisp.org>
34897
34898         strptime: Fix C++ test error on mingw.
34899         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
34900         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
34901         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
34902         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
34903         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
34904         not REPLACE_STRPTIME.
34905         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
34906         REPLACE_STRPTIME.
34907
34908 2010-04-03  Bruno Haible  <bruno@clisp.org>
34909
34910         timegm: Fix C++ test error on mingw.
34911         * lib/time.in.h (timegm): Use modern idiom.
34912         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
34913         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
34914         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
34915         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
34916
34917 2010-04-03  Bruno Haible  <bruno@clisp.org>
34918
34919         timegm: Assume declaration if function exists.
34920         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
34921         if it exists. Don't clobber ac_cv_func_timegm.
34922
34923 2010-04-03  Bruno Haible  <bruno@clisp.org>
34924
34925         time_r: Fix C++ test error on mingw.
34926         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
34927         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
34928         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
34929         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
34930         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
34931
34932 2010-04-03  Bruno Haible  <bruno@clisp.org>
34933
34934         time_r: Minor updates.
34935         * modules/time_r (Description): Mention the provided functions.
34936         * lib/time_r.c: Don't include <string.h>.
34937         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
34938         * doc/posix-functions/localtime_r.texi: Likewise.
34939
34940 2010-04-03  Bruno Haible  <bruno@clisp.org>
34941
34942         time: Fix regression introduced on 2010-03-08.
34943         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
34944         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
34945
34946 2010-04-03  Jim Meyering  <meyering@redhat.com>
34947
34948         maint.mk: don't silently disable project-specific syntax-check rules
34949         * top/maint.mk (_prohibit_regexp): Define, to help people realize
34950         that they need to convert their project-specific syntax-check rules
34951         to use the new _sc_search_regexp.
34952
34953 2010-04-03  Bruno Haible  <bruno@clisp.org>
34954
34955         fchdir: Fix regression introduced on 2010-03-08.
34956         * lib/unistd.in.h (fchdir): Fix declaration.
34957         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
34958         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
34959         REPLACE_FCHDIR.
34960         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
34961         REPLACE_FCHDIR.
34962
34963 2010-04-03  Bruno Haible  <bruno@clisp.org>
34964
34965         getpagesize: Fix C++ test error on mingw.
34966         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
34967         system does not declare the function.
34968         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
34969         declared.
34970         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34971         HAVE_DECL_GETPAGESIZE.
34972         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
34973
34974 2010-04-03  Bruno Haible  <bruno@clisp.org>
34975
34976         stdio: Make C++ tests work on mingw.
34977         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
34978         does not declare the function.
34979
34980 2010-04-03  Bruno Haible  <bruno@clisp.org>
34981
34982         ftello: Fix C++ test error on mingw.
34983         * lib/stdio.in.h (ftello): Use modern idiom.
34984         * lib/ftello.c (ftello): Renamed from rpl_ftello.
34985         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
34986         is missing and that it needs to be replaced.
34987         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
34988         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
34989         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
34990
34991 2010-04-03  Bruno Haible  <bruno@clisp.org>
34992
34993         fseeko: Fix C++ test error on mingw.
34994         * lib/stdio.in.h (fseeko): Use modern idiom.
34995         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
34996         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
34997         is missing and that it needs to be replaced.
34998         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
34999         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
35000         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
35001
35002 2010-04-03  Bruno Haible  <bruno@clisp.org>
35003
35004         mkstemp: Fix C++ test error on mingw.
35005         * lib/stdlib.in.h (mkstemp): Use modern idiom.
35006         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
35007         function is missing and that it needs to be replaced.
35008         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
35009         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
35010
35011 2010-04-03  Bruno Haible  <bruno@clisp.org>
35012
35013         stpncpy: Fix C++ test error on mingw.
35014         * lib/string.in.h (stpncpy): Use modern idiom.
35015         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
35016         function is missing and that it needs to be replaced.
35017         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35018         REPLACE_STPNCPY.
35019         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
35020
35021 2010-04-03  Bruno Haible  <bruno@clisp.org>
35022
35023         sys_stat: Fix C++ test error on mingw.
35024         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
35025         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
35026
35027 2010-04-03  Bruno Haible  <bruno@clisp.org>
35028
35029         pty: Update doc.
35030         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
35031
35032 2010-04-03  Bruno Haible  <bruno@clisp.org>
35033
35034         unistd: Fix C++ test error on mingw.
35035         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
35036
35037 2010-04-03  Bruno Haible  <bruno@clisp.org>
35038
35039         Update doc regarding mingw.
35040         * doc/glibc-functions/openpty.texi: Update regarding mingw.
35041         * doc/glibc-functions/login_tty.texi: Likewise.
35042         * doc/glibc-functions/forkpty.texi: Likewise.
35043
35044 2010-04-03  Bruno Haible  <bruno@clisp.org>
35045
35046         stdlib: Avoid compilation failure of c-strtold on mingw.
35047         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
35048
35049 2010-04-03  Bruno Haible  <bruno@clisp.org>
35050
35051         locale: Make C++ tests work on Cygwin and mingw.
35052         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
35053         cannot provide the function.
35054         Reported by Simon Josefsson.
35055
35056 2010-04-03  Bruno Haible  <bruno@clisp.org>
35057
35058         localename: Port to MacOS X 10.6.
35059         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
35060         memory layout of the locales in MacOS X 10.6 as well.
35061         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
35062
35063 2010-04-02  Bruno Haible  <bruno@clisp.org>
35064
35065         gnulib-tool: Ensure that long-running tests are executed last.
35066         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
35067         running tests after the one for the other tests.
35068
35069 2010-04-02  Bruno Haible  <bruno@clisp.org>
35070
35071         gnulib-tool: Ensure the tests in the main directory are executed first.
35072         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
35073         start with the current directory.
35074
35075 2010-04-02  Bruno Haible  <bruno@clisp.org>
35076
35077         Tests for module 'havelib', moved here from GNU gettext.
35078         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
35079         modifications.
35080         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
35081         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
35082         with modifications.
35083         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
35084         modifications.
35085         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
35086         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
35087         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
35088         with modifications.
35089         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
35090         with modifications.
35091         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
35092         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
35093         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
35094         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
35095         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
35096         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
35097         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
35098         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
35099         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
35100         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
35101         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
35102         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
35103         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
35104         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
35105         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
35106         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
35107         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
35108         with modifications.
35109         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
35110         with modifications.
35111         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
35112         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
35113         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
35114         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
35115         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
35116         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
35117         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
35118         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
35119         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
35120         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
35121         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
35122         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
35123         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
35124         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
35125         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
35126         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
35127         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
35128         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
35129         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
35130         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
35131         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
35132         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
35133         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
35134         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
35135         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
35136         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
35137         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
35138         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
35139         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
35140         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
35141         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
35142         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
35143         * tests/havelib/rpathx/rpathx.c: New file, from
35144         gettext/autoconf-lib-link.
35145         * tests/havelib/rpathx/Makefile.am: New file, from
35146         gettext/autoconf-lib-link.
35147         * tests/havelib/rpathx/configure.ac: New file, from
35148         gettext/autoconf-lib-link with modifications.
35149         * tests/havelib/rpathy/rpathy.c: New file, from
35150         gettext/autoconf-lib-link.
35151         * tests/havelib/rpathy/Makefile.am: New file, from
35152         gettext/autoconf-lib-link.
35153         * tests/havelib/rpathy/configure.ac: New file, from
35154         gettext/autoconf-lib-link with modifications.
35155         * tests/havelib/rpathz/rpathz.c: New file, from
35156         gettext/autoconf-lib-link.
35157         * tests/havelib/rpathz/Makefile.am: New file, from
35158         gettext/autoconf-lib-link.
35159         * tests/havelib/rpathz/configure.ac: New file, from
35160         gettext/autoconf-lib-link with modifications.
35161         * tests/havelib/rpathlx/usex.c: New file, from
35162         gettext/autoconf-lib-link.
35163         * tests/havelib/rpathlx/Makefile.am: New file, from
35164         gettext/autoconf-lib-link.
35165         * tests/havelib/rpathlx/configure.ac: New file, from
35166         gettext/autoconf-lib-link with modifications.
35167         * tests/havelib/rpathly/usey.c: New file, from
35168         gettext/autoconf-lib-link.
35169         * tests/havelib/rpathly/Makefile.am: New file, from
35170         gettext/autoconf-lib-link.
35171         * tests/havelib/rpathly/configure.ac: New file, from
35172         gettext/autoconf-lib-link with modifications.
35173         * tests/havelib/rpathlz/usez.c: New file, from
35174         gettext/autoconf-lib-link.
35175         * tests/havelib/rpathlz/Makefile.am: New file, from
35176         gettext/autoconf-lib-link.
35177         * tests/havelib/rpathlz/configure.ac: New file, from
35178         gettext/autoconf-lib-link with modifications.
35179         * tests/havelib/rpathlyx/usey.c: New file, from
35180         gettext/autoconf-lib-link.
35181         * tests/havelib/rpathlyx/Makefile.am: New file, from
35182         gettext/autoconf-lib-link.
35183         * tests/havelib/rpathlyx/configure.ac: New file, from
35184         gettext/autoconf-lib-link with modifications.
35185         * tests/havelib/rpathlzyx/usez.c: New file, from
35186         gettext/autoconf-lib-link.
35187         * tests/havelib/rpathlzyx/Makefile.am: New file, from
35188         gettext/autoconf-lib-link.
35189         * tests/havelib/rpathlzyx/configure.ac: New file, from
35190         gettext/autoconf-lib-link with modifications.
35191         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
35192         with modifications.
35193
35194 2010-04-02  Bruno Haible  <bruno@clisp.org>
35195
35196         gnulib-tool: Create distributed built sources also for the tests.
35197         * gnulib-tool (func_create_testdir): Also generate distributed built
35198         sources in the tests directory.
35199
35200 2010-04-02  Bruno Haible  <bruno@clisp.org>
35201
35202         gnulib-tool: Obey user's environment variables.
35203         * gnulib-tool (func_create_testdir): When creating built sources,
35204         respect the environment variables for autoconf, automake, etc. given by
35205         the user.
35206
35207 2010-04-02  Bruno Haible  <bruno@clisp.org>
35208
35209         gnulib-tool: Provide the value of --m4-base to modules.
35210         * gnulib-tool (func_import, func_create_testdir): Emit a definition
35211         of gl_m4_base.
35212
35213 2010-04-02  Eric Blake  <eblake@redhat.com>
35214
35215         maint.mk: fix some fallout
35216         * NEWS: Document the incompatible change, and its effect on cfg.mk.
35217         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
35218
35219 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
35220
35221         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
35222         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
35223         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
35224         (sc_cast_of_x_alloc_return_value): Likewise.
35225         (sc_cast_of_alloca_return_value): Likewise.
35226         (sc_space_tab): Likewise.
35227         (sc_prohibit_atoi_atof): Likewise.
35228         (sc_prohibit_magic_number_exit): Likewise.
35229         (sc_error_exit_success): Likewise.
35230         (sc_file_system): Likewise.
35231         (sc_prohibit_have_config_h): Likewise.
35232         (sc_require_config_h): Likewise.
35233         (sc_prohibit_HAVE_MBRTOWC): Likewise.
35234         (sc_obsolete_symbols): Likewise.
35235         (sc_changelog): Likewise.
35236         (sc_program_name): Likewise.
35237         (sc_the_the): Likewise.
35238         (sc_trailing_blank): Likewise.
35239         (sc_two_space_separator_in_usage): Likewise.
35240         (sc_useless_cpp_parens): Likewise.
35241         (sc_GPL_version): Likewise.
35242         (sc_GFDL_version): Likewise.
35243         (sc_texinfo_acronym): Likewise.
35244         (sc_prohibit_cvs_keyword): Likewise.
35245         (sc_prohibit_stat_st_blocks): Likewise.
35246         (sc_prohibit_S_IS_definition): Likewise.
35247         (sc_redundant_const): Likewise.
35248         (sc_makefile_TAB_only_indentation): Likewise.
35249         (sc_m4_quote_check): Likewise.
35250         (sc_makefile_path_separator_check): Likewise.
35251         (sc_copyright_check): Likewise.
35252         (sc_Wundef_boolean): Likewise.
35253         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
35254
35255         maint.mk: match 0 or more whitespace-before-function-call '('
35256         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
35257         that have zero or two-and-more spaces between the function name
35258         and the open parenthesis.
35259         (sc_error_message_warn_fatal): Likewise.
35260         (sc_error_message_uppercase): Likewise.
35261         (sc_error_message_period): Likewise.
35262
35263 2010-03-31  Eric Blake  <eblake@redhat.com>
35264
35265         maint.mk: check for [ as well as test
35266         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
35267         Based on a libvirt report by Matthias Bolte.
35268
35269         gnumakefile: don't squelch _version output
35270         * top/GNUmakefile (_version): Create one-shot dependency rather
35271         than using $(shell) when version must be regenerated.
35272         (_autoreconf): Run verbosely, by default.
35273
35274         sys_time: avoid compiler warnings
35275         * lib/sys_time.in.h (includes): Ensure gcc pragma is
35276         unconditional, fixing regression from 2010-03-29.
35277         Reported by Simon Josefsson.
35278
35279 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
35280
35281         maint.mk: s/_header_without_use/_sc_header_without_use/
35282         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
35283         (sc_prohibit_assert_without_use): Use the new name.
35284         (sc_prohibit_close_stream_without_use): Likewise.
35285         (sc_prohibit_getopt_without_use): Likewise.
35286         (sc_prohibit_quotearg_without_use): Likewise.
35287         (sc_prohibit_quote_without_use): Likewise.
35288         (sc_prohibit_long_options_without_use): Likewise.
35289         (sc_prohibit_inttostr_without_use): Likewise.
35290         (sc_prohibit_ignore_value_without_use): Likewise.
35291         (sc_prohibit_error_without_use): Likewise.
35292         (sc_prohibit_xalloc_without_use): Likewise.
35293         (sc_prohibit_hash_without_use): Likewise.
35294         (sc_prohibit_hash_pjw_without_use): Likewise.
35295         (sc_prohibit_safe_read_without_use): Likewise.
35296         (sc_prohibit_argmatch_without_use): Likewise.
35297         (sc_prohibit_canonicalize_without_use): Likewise.
35298         (sc_prohibit_root_dev_ino_without_use): Likewise.
35299         (sc_prohibit_openat_without_use): Likewise.
35300         (sc_prohibit_c_ctype_without_use): Likewise.
35301         (sc_prohibit_signal_without_use): Likewise.
35302         (sc_prohibit_intprops_without_use): Likewise.
35303
35304 2010-03-30  Eric Blake  <eblake@redhat.com>
35305
35306         maint: improve module indicators
35307         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
35308         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
35309         columns, and avoid extra macro expansion.
35310
35311         fdopendir: work around FreeBSD bug
35312         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
35313         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
35314         * modules/dirent (Makefile.am): Substitute it.
35315         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
35316         declaration.
35317         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
35318         fix.
35319         Reported by Christian Weisgerber <naddy@mips.inka.de>.
35320
35321 2010-03-29  Bruno Haible  <bruno@clisp.org>
35322
35323         Emit #pragma system_header after the inclusion guard, not before.
35324         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
35325         guard that spans the entire file, not before. This enables an
35326         optimization in GCC's preprocessor.
35327         * lib/ctype.in.h: Likewise.
35328         * lib/dirent.in.h: Likewise.
35329         * lib/errno.in.h: Likewise.
35330         * lib/float.in.h: Likewise.
35331         * lib/getopt.in.h: Likewise.
35332         * lib/iconv.in.h: Likewise.
35333         * lib/langinfo.in.h: Likewise.
35334         * lib/locale.in.h: Likewise.
35335         * lib/math.in.h: Likewise.
35336         * lib/netdb.in.h: Likewise.
35337         * lib/netinet_in.in.h: Likewise.
35338         * lib/pty.in.h: Likewise.
35339         * lib/sched.in.h: Likewise.
35340         * lib/se-selinux.in.h: Likewise.
35341         * lib/search.in.h: Likewise.
35342         * lib/spawn.in.h: Likewise.
35343         * lib/stdarg.in.h: Likewise.
35344         * lib/stdint.in.h: Likewise.
35345         * lib/string.in.h: Likewise.
35346         * lib/strings.in.h: Likewise.
35347         * lib/sys_file.in.h: Likewise.
35348         * lib/sys_ioctl.in.h: Likewise.
35349         * lib/sys_time.in.h: Likewise.
35350         * lib/sys_times.in.h: Likewise.
35351         * lib/sys_utsname.in.h: Likewise.
35352         * lib/sys_wait.in.h: Likewise.
35353         * lib/sysexits.in.h: Likewise.
35354         * lib/wctype.in.h: Likewise.
35355
35356 2010-03-28  James Youngman  <jay@gnu.org>
35357
35358         save-cwd: don't leak a file descriptor when the caller execs.
35359         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
35360         saved file descriptor.
35361         * modules/save-cwd (Depends-on): Depend on cloexec.
35362
35363 2010-03-29  Bruno Haible  <bruno@clisp.org>
35364
35365         Remove vestiges of fts-lgpl module.
35366         * lib/fts_.h: Assume GNULIB_FTS is 1.
35367         * lib/fts.c: Likewise.
35368         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35369
35370 2010-03-28  Bruno Haible  <bruno@clisp.org>
35371
35372         Fix definition of tests witness macro.
35373         * gnulib-tool (func_import): Fix definition of witness macro.
35374
35375 2010-03-28  Bruno Haible  <bruno@clisp.org>
35376
35377         Fix ioctl's protoype on glibc systems.
35378         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
35379         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
35380         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
35381         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
35382         signature. If not, arrange to replace the ioctl function.
35383         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
35384         REPLACE_IOCTL.
35385         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
35386         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
35387         Reported by Ludovic Courtès <ludo@gnu.org>.
35388
35389 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
35390
35391         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
35392         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
35393         made it so grep -r --include=GLOB* ... did not work.
35394
35395 2010-03-26  Jim Meyering  <meyering@redhat.com>
35396             Eric Blake  <eblake@redhat.com>
35397
35398         maint.mk: prohibit use of test's -o and -a operators
35399         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
35400
35401 2010-03-28  Bruno Haible  <bruno@clisp.org>
35402
35403         Remove unused GNULIB_XYZ macro definitions.
35404         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
35405         invocation.
35406
35407 2010-03-28  Bruno Haible  <bruno@clisp.org>
35408
35409         Mark privileged tests modules.
35410         * modules/idpriv-drop-tests (Status): New section.
35411         * modules/idpriv-droptemp-tests (Status): New section.
35412
35413 2010-03-28  Bruno Haible  <bruno@clisp.org>
35414
35415         Split C++ tests into separate tests modules.
35416         * modules/dirent-c++-tests: New file, extracted from
35417         modules/dirent-tests.
35418         * modules/dirent-tests: Depend on it.
35419         * modules/fcntl-h-c++-tests: New file, extracted from
35420         modules/fcntl-h-tests.
35421         * modules/fcntl-h-tests: Depend on it.
35422         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
35423         * modules/glob-tests: Depend on it.
35424         * modules/iconv-h-c++-tests: New file, extracted from
35425         modules/iconv-h-tests.
35426         * modules/iconv-h-tests: Depend on it.
35427         * modules/langinfo-c++-tests: New file, extracted from
35428         modules/langinfo-tests.
35429         * modules/langinfo-tests: Depend on it.
35430         * modules/locale-c++-tests: New file, extracted from
35431         modules/locale-tests.
35432         * modules/locale-tests: Depend on it.
35433         * modules/math-c++-tests: New file, extracted from modules/math-tests.
35434         * modules/math-tests: Depend on it.
35435         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
35436         * modules/pty-tests: Depend on it.
35437         * modules/search-c++-tests: New file, extracted from
35438         modules/search-tests.
35439         * modules/search-tests: Depend on it.
35440         * modules/signal-c++-tests: New file, extracted from
35441         modules/signal-tests.
35442         * modules/signal-tests: Depend on it.
35443         * modules/spawn-c++-tests: New file, extracted from
35444         modules/spawn-tests.
35445         * modules/spawn-tests: Depend on it.
35446         * modules/stdio-c++-tests: New file, extracted from
35447         modules/stdio-tests.
35448         * modules/stdio-tests: Depend on it.
35449         * modules/stdlib-c++-tests: New file, extracted from
35450         modules/stdlib-tests.
35451         * modules/stdlib-tests: Depend on it.
35452         * modules/string-c++-tests: New file, extracted from
35453         modules/string-tests.
35454         * modules/string-tests: Depend on it.
35455         * modules/sys_ioctl-c++-tests: New file, extracted from
35456         modules/sys_ioctl-tests.
35457         * modules/sys_ioctl-tests: Depend on it.
35458         * modules/sys_select-c++-tests: New file, extracted from
35459         modules/sys_select-tests.
35460         * modules/sys_select-tests: Depend on it.
35461         * modules/sys_socket-c++-tests: New file, extracted from
35462         modules/sys_socket-tests.
35463         * modules/sys_socket-tests: Depend on it.
35464         * modules/sys_stat-c++-tests: New file, extracted from
35465         modules/sys_stat-tests.
35466         * modules/sys_stat-tests: Depend on it.
35467         * modules/sys_time-c++-tests: New file, extracted from
35468         modules/sys_time-tests.
35469         * modules/sys_time-tests: Depend on it.
35470         * modules/time-c++-tests: New file, extracted from modules/time-tests.
35471         * modules/time-tests: Depend on it.
35472         * modules/unistd-c++-tests: New file, extracted from
35473         modules/unistd-tests.
35474         * modules/unistd-tests: Depend on it.
35475         * modules/wchar-c++-tests: New file, extracted from
35476         modules/wchar-tests.
35477         * modules/wchar-tests: Depend on it.
35478         * modules/wctype-c++-tests: New file, extracted from
35479         modules/wctype-tests.
35480         * modules/wctype-tests: Depend on it.
35481         Reported by Simon Josefsson.
35482
35483 2010-03-28  Bruno Haible  <bruno@clisp.org>
35484
35485         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
35486         * gnulib-tool (func_exists_module): New function, extracted from
35487         func_verify_module.
35488         (func_verify_module): Use it.
35489         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
35490         'foo' only if 'foo' exists.
35491         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
35492         module.
35493
35494 2010-03-28  Bruno Haible  <bruno@clisp.org>
35495
35496         gnulib-tool: Add support for special categories of tests.
35497         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
35498         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
35499         (func_usage): Document them.
35500         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
35501         inc_unportable_tests, inc_all_tests): New variables.
35502         (func_acceptable): Consider these variables.
35503         (func_modules_transitive_closure): Make it work when the 'Status' field
35504         consists of multiple words.
35505         (func_import): Store and restore the values of inc_cxx_tests,
35506         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
35507         inc_all_tests in gnulib-comp.m4.
35508         (func_create_testdir): Set inc_all_tests to true.
35509         * doc/gnulib.texi (Extra tests modules): New section.
35510         Suggested by Jim Meyering.
35511
35512 2010-03-28  Bruno Haible  <bruno@clisp.org>
35513
35514         ansi-c++-opt: Allow turning off the C++ build by default.
35515         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
35516         gl_CXX_CHOICE_DEFAULT_NO is defined.
35517         Requested by Eric Blake.
35518
35519 2010-03-28  Bruno Haible  <bruno@clisp.org>
35520
35521         unistd: Avoid #define replacements in C++ mode.
35522         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
35523         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
35524         setsockopt, shutdown, select): In C++, attach a warning to the function
35525         if possible, rather than #defining the symbol to a dysfunctional alias.
35526         Reported by John W. Eaton <jwe@gnu.org>.
35527
35528 2010-03-28  Bruno Haible  <bruno@clisp.org>
35529
35530         Fix link errors on mingw.
35531         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
35532         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
35533         $(LIBSOCKET).
35534         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
35535         $(LIBSOCKET).
35536
35537 2010-03-28  Bruno Haible  <bruno@clisp.org>
35538             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35539
35540         lib-ignore: Determine different options for different compilers.
35541         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
35542         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
35543         Add comments.
35544         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
35545         * NEWS: Mention the change.
35546
35547 2010-03-27  Bruno Haible  <bruno@clisp.org>
35548
35549         Remove unused GNULIB_XYZ macro definitions.
35550         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35551         * modules/fseek (configure.ac): Likewise.
35552         * modules/ioctl (configure.ac): Likewise.
35553         * modules/open (configure.ac): Likewise.
35554         * modules/stdlib-safer (configure.ac): Likewise.
35555
35556 2010-03-27  Bruno Haible  <bruno@clisp.org>
35557
35558         Add a remark about certain modules.
35559         * modules/malloc (Comment): New section.
35560         * modules/realloc (Comment): Likewise.
35561         * modules/sigpipe (Comment): Likewise.
35562
35563 2010-03-27  Bruno Haible  <bruno@clisp.org>
35564
35565         Resolve conflict between the two kinds of module indicators.
35566         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
35567         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
35568         * modules/canonicalize (configure.ac): Invoke
35569         gl_MODULE_INDICATOR_FOR_TESTS.
35570         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
35571         GNULIB_XYZ.
35572         * tests/test-dirent-c++.cc: Likewise.
35573         * tests/test-dirent-safer.c: Likewise.
35574         * tests/test-dup2.c: Likewise.
35575         * tests/test-fchdir.c: Likewise.
35576         * tests/test-fcntl-h-c++.cc: Likewise.
35577         * tests/test-getopt.c: Likewise.
35578         * tests/test-getopt.h: Likewise.
35579         * tests/test-langinfo-c++.cc: Likewise.
35580         * tests/test-locale-c++.cc: Likewise.
35581         * tests/test-math-c++.cc: Likewise.
35582         * tests/test-pty-c++.cc: Likewise.
35583         * tests/test-search-c++.cc: Likewise.
35584         * tests/test-signal-c++.cc: Likewise.
35585         * tests/test-spawn-c++.cc: Likewise.
35586         * tests/test-stdio-c++.cc: Likewise.
35587         * tests/test-stdlib-c++.cc: Likewise.
35588         * tests/test-string-c++.cc: Likewise.
35589         * tests/test-sys_ioctl-c++.cc: Likewise.
35590         * tests/test-sys_select-c++.cc: Likewise.
35591         * tests/test-sys_socket-c++.cc: Likewise.
35592         * tests/test-sys_stat-c++.cc: Likewise.
35593         * tests/test-sys_time-c++.cc: Likewise.
35594         * tests/test-time-c++.cc: Likewise.
35595         * tests/test-unistd-c++.cc: Likewise.
35596         * tests/test-wchar-c++.cc: Likewise.
35597         * tests/uninorm/test-u8-nfc.c: Likewise.
35598         * tests/uninorm/test-u8-nfd.c: Likewise.
35599         * tests/uninorm/test-u8-nfkc.c: Likewise.
35600         * tests/uninorm/test-u8-nfkd.c: Likewise.
35601         * tests/uninorm/test-u16-nfc.c: Likewise.
35602         * tests/uninorm/test-u16-nfd.c: Likewise.
35603         * tests/uninorm/test-u16-nfkc.c: Likewise.
35604         * tests/uninorm/test-u16-nfkd.c: Likewise.
35605         * tests/uninorm/test-u32-nfc.c: Likewise.
35606         * tests/uninorm/test-u32-nfc-big.c: Likewise.
35607         * tests/uninorm/test-u32-nfd.c: Likewise.
35608         * tests/uninorm/test-u32-nfd-big.c: Likewise.
35609         * tests/uninorm/test-u32-nfkc.c: Likewise.
35610         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
35611         * tests/uninorm/test-u32-nfkd.c: Likewise.
35612         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
35613         * tests/uninorm/test-u32-normalize-big.c: Likewise.
35614
35615 2010-03-27  Bruno Haible  <bruno@clisp.org>
35616
35617         Distinguish two kinds of module indicators.
35618         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
35619         gl_MODULE_INDICATOR.
35620         (gl_MODULE_INDICATOR): New macro.
35621         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
35622         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
35623         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35624         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35625         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35626         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35627         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35628         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35629         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35630         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35631         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35632         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35633         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35634         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35635         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35636         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35637         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35638         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35639         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35640         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35641         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35642         * modules/cloexec (configure.ac): Likewise.
35643         * modules/getopt-gnu (configure.ac): Likewise.
35644         * modules/uninorm/u8-normalize (configure.ac): Likewise.
35645         * modules/uninorm/u16-normalize (configure.ac): Likewise.
35646         * modules/uninorm/u32-normalize (configure.ac): Likewise.
35647         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
35648
35649 2010-03-27  Bruno Haible  <bruno@clisp.org>
35650
35651         New module description field 'Comment'.
35652         * gnulib-tool: New option --extract-comment.
35653         (func_usage): Document it.
35654         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
35655         (func_get_comment): New function.
35656         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
35657
35658 2010-03-27  Bruno Haible  <bruno@clisp.org>
35659
35660         Addendum to 2010-02-07 commit.
35661         * gnulib-tool (func_usage): Document --extract-applicability option.
35662
35663 2010-03-27  Bruno Haible  <bruno@clisp.org>
35664
35665         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
35666         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
35667         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
35668         rather than link errors.
35669
35670 2010-03-27  Bruno Haible  <bruno@clisp.org>
35671
35672         Avoid side effects from tests-related modules on the compilation of lib.
35673         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
35674         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
35675         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
35676         parameter. Emit into AM_CPPFLAGS a definition of the designated C
35677         macro.
35678         (func_import): Define a witness macro. Assign it a value that depends
35679         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
35680         tests-related modules.
35681         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
35682         Reported by Jim Meyering.
35683
35684 2010-03-27  Bruno Haible  <bruno@clisp.org>
35685
35686         Factorize common .m4 code.
35687         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
35688         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
35689         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
35690         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
35691         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35692         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
35693         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
35694         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35695         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35696         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35697         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
35698         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35699         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35700         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35701         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35702         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
35703         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35704         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35705         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35706         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
35707         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
35708         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35709         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35710         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35711         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35712         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35713         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
35714         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
35715         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
35716         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35717         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35718         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35719
35720 2010-03-27  Bruno Haible  <bruno@clisp.org>
35721
35722         Fix a compilation error on Cygwin with g++ >= 4.3.
35723         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
35724         if it is undefined or if we alias it to chmod.
35725         (lstat): Don't warn about the use of this function if it is undefined
35726         or if we alias it to stat.
35727         Reported by Simon Josefsson.
35728
35729 2010-03-27  Bruno Haible  <bruno@clisp.org>
35730
35731         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
35732         * modules/getlogin (configure.ac): Update.
35733
35734         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
35735         * modules/getlogin_r (configure.ac): Update.
35736
35737         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
35738         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
35739         * modules/inet_ntop (configure.ac): Update.
35740
35741         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
35742         * modules/inet_pton (configure.ac): Update.
35743
35744         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
35745         * modules/mbslen (configure.ac): Update.
35746
35747         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
35748         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
35749         * modules/forkpty (configure.ac): Update.
35750         * modules/openpty (configure.ac): Update.
35751
35752 2010-03-26  Simon Josefsson  <simon@josefsson.org>
35753
35754         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
35755         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
35756
35757 2010-03-25  Eric Blake  <eblake@redhat.com>
35758
35759         maint: use pragma consistently across replacement headers
35760         * lib/ctype.in.h (system_header): Hoist for consistent placement.
35761         * lib/dirent.in.h (system_header): Likewise.
35762         * lib/errno.in.h (system_header): Likewise.
35763         * lib/float.in.h (system_header): Likewise.
35764         * lib/getopt.in.h (system_header): Likewise.
35765         * lib/iconv.in.h (system_header): Likewise.
35766         * lib/inttypes.in.h (system_header): Likewise.
35767         * lib/langinfo.in.h (system_header): Likewise.
35768         * lib/locale.in.h (system_header): Likewise.
35769         * lib/math.in.h (system_header): Likewise.
35770         * lib/netdb.in.h (system_header): Likewise.
35771         * lib/netinet_in.in.h (system_header): Likewise.
35772         * lib/pty.in.h (system_header): Likewise.
35773         * lib/sched.in.h (system_header): Likewise.
35774         * lib/se-selinux.in.h (system_header): Likewise.
35775         * lib/search.in.h (system_header): Likewise.
35776         * lib/spawn.in.h (system_header): Likewise.
35777         * lib/stdarg.in.h (system_header): Likewise.
35778         * lib/stdint.in.h (system_header): Likewise.
35779         * lib/string.in.h (system_header): Likewise.
35780         * lib/strings.in.h (system_header): Likewise.
35781         * lib/sys_file.in.h (system_header): Likewise.
35782         * lib/sys_ioctl.in.h (system_header): Likewise.
35783         * lib/sys_socket.in.h (system_header): Likewise.
35784         * lib/sys_times.in.h (system_header): Likewise.
35785         * lib/sys_utsname.in.h (system_header): Likewise.
35786         * lib/sys_wait.in.h (system_header): Likewise.
35787         * lib/sysexits.in.h (system_header): Likewise.
35788         * lib/unistd.in.h (system_header): Likewise.
35789         * lib/wctype.in.h (system_header): Likewise.
35790
35791         arpa/inet: fix mingw compilation warning
35792         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
35793         Reported by Matthew Bolte.
35794
35795 2010-03-25  Bruno Haible  <bruno@clisp.org>
35796
35797         Avoid collision between gnulib wrapper and libintl wrapper.
35798         * lib/printf.c (printf): Don't define if a printf wrapper is already
35799         defined in intl/printf.c.
35800         Reported by Michel Boaventura <michel@michelboaventura.com>.
35801
35802 2010-03-25  Bruno Haible  <bruno@clisp.org>
35803
35804         Use ANSI C.
35805         * lib/readutmp.h (getutent): Provide ANSI C prototype.
35806
35807 2010-03-25  Bruno Haible  <bruno@clisp.org>
35808
35809         Minor formatting changes.
35810         * lib/acosl.c: Insert space before function argument list.
35811         * lib/argz.c: Likewise.
35812         * lib/asinl.c: Likewise.
35813         * lib/expl.c: Likewise.
35814         * lib/gen-uni-tables.c: Likewise.
35815         * lib/gettext.h: Likewise.
35816         * lib/glthread/lock.h: Likewise.
35817         * lib/tanl.c: Likewise.
35818         * lib/uniname/uniname.c: Likewise.
35819         * tests/test-idpriv-drop.c: Likewise.
35820         * tests/test-idpriv-droptemp.c: Likewise.
35821         * tests/test-lock.c: Likewise.
35822         * tests/test-tls.c: Likewise.
35823         * lib/argp-help.c: Insert space before function-like macro argument
35824         list.
35825         * lib/memcmp.c: Likewise.
35826         * tests/test-base64.c: Likewise.
35827         * lib/localename.c: Insert space before sizeof's argument list.
35828         * lib/safe-alloc.h: Likewise.
35829         * lib/file-set.h: Insert space before macro argument list.
35830         * tests/test-argp.c: Likewise.
35831         * lib/argp-namefrob.h: Insert space before function parameter list.
35832         * lib/getaddrinfo.c: Likewise.
35833         * lib/netdb.in.h: Likewise.
35834         * lib/parse-duration.h: Likewise.
35835         * lib/parse-duration.c: Likewise.
35836         * lib/poll.c: Likewise.
35837         * lib/select.c: Likewise.
35838         * lib/trim.h: Likewise.
35839         * tests/test-usleep.c: Likewise.
35840         * lib/ldexpl.c: Insert space before function parameter list and before
35841         function argument list.
35842         * lib/logl.c: Likewise.
35843         * lib/sqrtl.c: Likewise.
35844         * lib/trim.c: Likewise.
35845         * lib/cosl.c: Use GNU style indentation. Insert space before function
35846         argument list.
35847         * lib/sinl.c: Likewise.
35848         * lib/tsearch.c: Insert space after 'for'.
35849         Reported by Jim Meyering.
35850
35851 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
35852
35853         * maint.mk (sc_Wundef_boolean): Check for the presence of the
35854         config header before grepping, as it's not present before
35855         autoreconf/configure are run.  Reported by Simon Josefsson.
35856
35857 2010-03-23  Bruno Haible  <bruno@clisp.org>
35858
35859         pt_chown: Make it work with automake < 1.11.
35860         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
35861         Reported by Simon Josefsson.
35862
35863 2010-03-23  Bruno Haible  <bruno@clisp.org>
35864
35865         pt_chown: Don't depend on GPLed modules.
35866         * lib/pt_chown.c: Don't include idpriv.h.
35867         (main): Don't drop privileges.
35868         * modules/pt_chown (Depends-on): Remove idpriv-drop.
35869         Reported by Simon Josefsson.
35870
35871 2010-03-24  Simon Josefsson  <simon@josefsson.org>
35872
35873         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
35874         suggestions from karl@freefriends.org (Karl Berry).
35875
35876 2010-03-22  Eric Blake  <eblake@redhat.com>
35877
35878         gethostname: further tweaks
35879         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
35880         are overriding gethostname.
35881         Suggested by Bruno Haible.
35882
35883 2010-03-21  Bruno Haible  <bruno@clisp.org>
35884
35885         Fix comments.
35886         * lib/forkpty.c (rpl_forkpty): Fix comment.
35887         * lib/openpty.c (rpl_openpty): Likewise.
35888         Reported by Eric Blake.
35889
35890 2010-03-22  Eric Blake  <eblake@redhat.com>
35891
35892         gethostname: fix build on mingw
35893         * lib/unistd.in.h (includes): Work around fact that mingw
35894         <winsock2.h> re-includes <unistd.h>, by avoiding any
35895         redeclarations if we are being included by <winsock2.h>.
35896         Reported by Matthias Bolte.
35897
35898 2010-03-21  Bruno Haible  <bruno@clisp.org>
35899
35900         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35901         * lib/forkpty.c (forkpty): New replacement function, from glibc with
35902         modifications.
35903         * lib/pty.in.h (forkpty): Update declaration. Add comments.
35904         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
35905         provide the replacement.
35906         * modules/forkpty (Depends-on): Add openpty, login_tty.
35907         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
35908         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
35909         * doc/glibc-functions/forkpty.texi: More supported platforms.
35910         * config/srclist.txt: Add forkpty.c (commented).
35911
35912 2010-03-21  Bruno Haible  <bruno@clisp.org>
35913
35914         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
35915         (Makefile.am): Verify that PTY_LIB is defined.
35916
35917         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
35918
35919 2010-03-21  Bruno Haible  <bruno@clisp.org>
35920
35921         Tests for module 'login_tty'.
35922         * modules/login_tty-tests: New file.
35923         * tests/test-login_tty.c: New file.
35924
35925         New module 'login_tty'.
35926         * lib/login_tty.c: New file.
35927         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
35928         * modules/login_tty: New file.
35929         * doc/glibc-functions/login_tty.texi: Mention the new module.
35930
35931 2010-03-21  Bruno Haible  <bruno@clisp.org>
35932
35933         login_tty: Documentation.
35934         * doc/glibc-functions/login_tty.texi: New file.
35935         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
35936
35937 2010-03-21  Bruno Haible  <bruno@clisp.org>
35938
35939         pty: Consistent macro naming.
35940         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
35941         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
35942         * modules/pty (configure.ac): Update.
35943
35944 2010-03-21  Bruno Haible  <bruno@clisp.org>
35945
35946         Tests for openpty: Make stricter.
35947         * tests/test-openpty.c (main): Add test of canonical processing and
35948         erase.
35949         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
35950
35951         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35952         * lib/openpty.c (openpty): New replacement function.
35953         * lib/pty.in.h: Include <termios.h>.
35954         (openpty): Update declaration. Add comments.
35955         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
35956         is not declared, arrange to provide the replacement. Check for _getpty
35957         and posix_openpt.
35958         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
35959         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
35960         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
35961         * modules/pty-tests (test_pty_c___LDADD): New variable.
35962         * doc/glibc-functions/openpty.texi: More supported platforms.
35963
35964 2010-03-21  Bruno Haible  <bruno@clisp.org>
35965
35966         setenv: Tweaks.
35967         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
35968         the test program.
35969         * doc/posix-functions/setenv.texi: Update platforms list.
35970
35971 2010-03-21  Bruno Haible  <bruno@clisp.org>
35972
35973         New module 'unlockpt'.
35974         * lib/unlockpt.c: New file, from glibc with modifications.
35975         * m4/unlockpt.m4: New file.
35976         * modules/unlockpt: New file.
35977         * lib/stdlib.in.h (unlockpt): New declaration.
35978         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
35979         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
35980         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
35981         HAVE_UNLOCKPT.
35982         * doc/posix-functions/unlockpt.texi: Mention the new module.
35983         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
35984         * config/srclist.txt: Add unlockpt.c (commented).
35985
35986 2010-03-21  Jim Meyering  <meyering@redhat.com>
35987
35988         maint.mk: prohibit inclusion of "intprops.h" without use
35989         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
35990
35991 2010-03-21  Bruno Haible  <bruno@clisp.org>
35992
35993         New module 'grantpt'.
35994         * lib/grantpt.c: New file, from glibc with modifications.
35995         * m4/grantpt.m4: New file.
35996         * modules/grantpt: New file.
35997         * lib/stdlib.in.h (grantpt): New declaration.
35998         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
35999         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
36000         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
36001         HAVE_GRANTPT.
36002         * doc/posix-functions/grantpt.texi: Mention the new module.
36003         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
36004         * config/srclist.txt: Add grantpt.c (commented).
36005
36006 2010-03-21  Bruno Haible  <bruno@clisp.org>
36007
36008         New module 'pt_chown'.
36009         * lib/pt_chown.c: New file, from glibc with modifications.
36010         * lib/pty-private.h: New file, from glibc with modifications.
36011         * modules/pt_chown: New file.
36012         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
36013
36014 2010-03-21  Bruno Haible  <bruno@clisp.org>
36015
36016         Tests for module 'ptsname'.
36017         * modules/ptsname-tests: New file.
36018         * tests/test-ptsname.c: New file.
36019
36020         New module 'ptsname'.
36021         * lib/ptsname.c: New file, from glibc with modifications.
36022         * m4/ptsname.m4: New file.
36023         * modules/ptsname: New file.
36024         * lib/stdlib.in.h (ptsname): New declaration.
36025         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
36026         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
36027         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
36028         HAVE_PTSNAME.
36029         * doc/posix-functions/ptsname.texi: Mention the new module.
36030         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
36031         * config/srclist.txt: Add ptsname.c (commented).
36032
36033 2010-03-21  Bruno Haible  <bruno@clisp.org>
36034
36035         Tests for module 'ttyname_r'.
36036         * modules/ttyname_r-tests: New file.
36037         * tests/test-ttyname_r.c: New file.
36038
36039         New module 'ttyname_r'.
36040         * lib/ttyname_r.c: New file.
36041         * m4/ttyname_r.m4: New file.
36042         * modules/ttyname_r: New file.
36043         * lib/unistd.in.h (ttyname_r): New declaration.
36044         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
36045         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
36046         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
36047         HAVE_TTYNAME_R.
36048         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
36049         * doc/posix-functions/ttyname_r.texi: Mention the new module.
36050
36051 2010-03-20  Bruno Haible  <bruno@clisp.org>
36052
36053         signal: Undefine macro definitions in C++ mode.
36054         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
36055         sigfillset): Undefine macro definitions from the system header in C++
36056         mode.
36057         Reported by John W. Eaton <jwe@gnu.org>.
36058
36059 2010-03-20  Bruno Haible  <bruno@clisp.org>
36060
36061         Ensure no #include statements inside extern "C" { ... }.
36062         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
36063         contain #include statements.
36064         * lib/time.in.h: Likewise.
36065
36066 2010-03-20  Bruno Haible  <bruno@clisp.org>
36067
36068         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
36069         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
36070         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
36071         Reported by John W. Eaton <jwe@gnu.org>.
36072
36073 2010-03-20  Bruno Haible  <bruno@clisp.org>
36074
36075         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
36076         Reported by Jim Meyering.
36077
36078 2010-03-20  Bruno Haible  <bruno@clisp.org>
36079
36080         pipe: Set errno upon failure.
36081         * lib/pipe.h: Specify that when -1 is returned, errno is set.
36082         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
36083         errno value in error message.
36084
36085 2010-03-20  Bruno Haible  <bruno@clisp.org>
36086             Jim Meyering  <meyering@redhat.com>
36087
36088         lchown: Avoid "unused variable" warning.
36089         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
36090
36091 2010-03-20  Bruno Haible  <bruno@clisp.org>
36092
36093         Work around unlink() bug on MacOS X 10.5.6.
36094         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
36095         attempting to unlink a parent directory.
36096         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
36097         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
36098         activate for the replacement function.
36099         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
36100
36101 2010-03-20  Bruno Haible  <bruno@clisp.org>
36102
36103         Fix link errors on Solaris 8.
36104         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
36105         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
36106
36107 2010-03-19  Jim Meyering  <meyering@redhat.com>
36108
36109         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
36110         The _LIBC implementation of build_range_exp correctly honors the
36111         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
36112         However, the non-_LIBC implementation would ignore that syntax-bit
36113         flag and return REG_ERANGE unconditionally.
36114         This change makes it honor that flag.
36115         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
36116         Make two pointer parameters "const".
36117         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
36118         (parse_bracket_exp): Update caller.
36119
36120         regex.m4: correct the reversed range endpoint ([b-a]) test
36121         * m4/regex.m4: When requiring that [b-a] evoke failure,
36122         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
36123         test pass once again for x86-based systems.
36124
36125 2010-03-19  Bruno Haible  <bruno@clisp.org>
36126
36127         scandir: Fix link error on Solaris 8.
36128         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
36129         macros.
36130
36131 2010-03-19  Bruno Haible  <bruno@clisp.org>
36132
36133         getusershell: Fix documentation.
36134         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
36135         module.
36136         * doc/glibc-functions/setusershell.texi: Likewise.
36137
36138         getusershell: Provide declaration, missing on Solaris 9.
36139         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
36140         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
36141         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
36142         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
36143         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36144         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
36145         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
36146         HAVE_GETUSERSHELL.
36147         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
36148
36149 2010-03-19  Bruno Haible  <bruno@clisp.org>
36150
36151         wctype: Provide iswblank function.
36152         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
36153         exists and is fine.
36154         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
36155         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
36156         * tests/test-wctype.c (main): Re-enable the iswblank tests.
36157         * doc/posix-functions/iswblank.texi: Update.
36158
36159 2010-03-19  Bruno Haible  <bruno@clisp.org>
36160
36161         Tests of module 'pty' in C++ mode.
36162         * modules/pty-tests: New file.
36163         * tests/test-pty-c++.cc: New file.
36164         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36165
36166 2010-03-19  Eric Blake  <eblake@redhat.com>
36167
36168         logb: fix documentation
36169         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
36170         1.5 declaration bug.
36171
36172         forkpty, openpty: prefer glibc's const-safe prototype
36173         * lib/forkpty.c (rpl_forkpty): New file.
36174         * lib/openpty.c (rpl_openpty): Likewise.
36175         * modules/forkpty (Files): Distribute it.
36176         * modules/openpty (Files): Likewise.
36177         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
36178         check...
36179         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
36180         replacement for for non-const BSD signature.
36181         * modules/pty (Makefile.am): Substitute witnesses.
36182         * lib/pty.in.h (forkpty, openpty): Declare replacements.
36183         * tests/test-forkpty.c: Update signature check.
36184         * tests/test-openpty.c: Likewise.
36185         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
36186         * doc/glibc-functions/openpty.texi (openpty): Likewise.
36187
36188         forkpty, openpty: split functions into new modules
36189         * modules/pty (Makefile.am): Substitute new witnesses.
36190         (Libraries): Move library detection...
36191         * modules/forkpty: ...into new module.
36192         * modules/openpty: Another new module.
36193         * modules/pty-tests: Rename and split...
36194         * modules/forkpty-tests: ...to this...
36195         * modules/openpty-tests: ...and this.
36196         * tests/test-pty.c: Rename and split...
36197         * tests/test-forkpty.c: ...to this...
36198         * tests/test-openpty.c: ...and this.
36199         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
36200         (gl_PTY): Split library searching...
36201         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
36202         (gl_FORKPTY, gl_OPENPTY): New macros.
36203         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
36204         * NEWS: Mention the split.
36205         * MODULES.html.sh (Misc): Document the modules.
36206         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
36207         * doc/glibc-functions/openpty.texi (openpty): Likewise.
36208
36209         pty: improve replacement header
36210         * lib/pty.in.h: New file.
36211         * modules/pty (Files): Ship it.
36212         (Makefile.am): Always build replacement.
36213         * m4/pty.m4: Rename...
36214         * m4/pty_h.m4: ...to this.
36215         (gl_PTY): Modernize setting of witness macros; update check of
36216         forkpty to take proper advantage of cache.
36217         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
36218
36219         getopt: avoid compiler warning
36220         * lib/getopt.c (attribute_hidden): Remove unused macro.
36221
36222 2010-03-18  Bruno Haible  <bruno@clisp.org>
36223
36224         Fix link errors on Solaris 8.
36225         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
36226         * modules/search-tests (test_search_c___LDADD): Likewise.
36227         * modules/signal-tests (test_signal_c___LDADD): Likewise.
36228         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
36229         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
36230         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
36231         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
36232         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
36233         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
36234
36235 2010-03-18  Bruno Haible  <bruno@clisp.org>
36236
36237         Fix bug introduced on 2010-03-14.
36238         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
36239         (gl_SPAWN_H): Require it.
36240         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
36241         Reported by Simon Josefsson.
36242
36243 2010-03-18  Bruno Haible  <bruno@clisp.org>
36244
36245         Fix typo introduced on 2009-12-31.
36246         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
36247         posix_spawn_file_actions_adddup2.
36248
36249 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
36250         and Eric Blake  <eblake@redhat.com>
36251
36252         test-vc-list-files-git: make more robust
36253         * tests/test-vc-list-files-git.sh: Unset problematic environment
36254         variables.  Chain commands together.
36255
36256 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
36257
36258         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
36259         `AC_CHECK_DECL' invocation.
36260
36261 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
36262
36263         * lib/inttostr.c (inttostr): Make sure the invocation of verify
36264         appears before executable statements. Suggested by Petr Sumbera
36265         <Petr.Sumbera@Sun.COM>.
36266
36267 2010-03-14  Bruno Haible  <bruno@clisp.org>
36268
36269         * tests/test-flock.c (test_exclusive): Comment out a test that causes
36270         portability problems. Instead use a simpler test.
36271         (main): Check that invalid arguments are rejected only on Linux.
36272
36273 2010-03-14  Bruno Haible  <bruno@clisp.org>
36274
36275         Fix bug introduced on 2009-12-31.
36276         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
36277         gl_PREREQ_SYS_H_WINSOCK2 always.
36278         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
36279         SYS_SOCKET_H variable.
36280         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
36281         Update comments.
36282         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
36283         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
36284         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36285         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
36286         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
36287
36288 2010-03-14  Bruno Haible  <bruno@clisp.org>
36289
36290         Fix values returned by sinl, cosl.
36291         * lib/trigl.h: Add specification comments.
36292         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
36293         that combines the values from the precomputed table with the values of
36294         the Chebyshev polynomials.
36295
36296 2010-03-14  Bruno Haible  <bruno@clisp.org>
36297
36298         Fix compilation error when modules 'posix_spawn[p]' are not used.
36299         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
36300         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
36301
36302 2010-03-14  Bruno Haible  <bruno@clisp.org>
36303
36304         Fix compilation error on mingw when module 'time_r' is not used.
36305         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
36306         is 1.
36307         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
36308         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36309         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
36310         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
36311
36312 2010-03-14  Bruno Haible  <bruno@clisp.org>
36313
36314         Fix compilation error with Sun C.
36315         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
36316         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
36317         instead of GCC specific ULONG_LONG_MAX.
36318         * lib/xstrtoll.c: Likewise.
36319         * lib/xstrtoull.c: Likewise.
36320
36321 2010-03-13  Bruno Haible  <bruno@clisp.org>
36322
36323         Allow the user to disable C++ code and tests.
36324         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
36325         (gl_PROG_ANSI_CXX): Require it.
36326
36327 2010-03-13  Bruno Haible  <bruno@clisp.org>
36328
36329         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
36330         cases.
36331
36332 2010-03-13  Bruno Haible  <bruno@clisp.org>
36333
36334         Test that gnulib does not break the standard C++ headers.
36335         * tests/test-locale-c++2.cc: New file.
36336         * modules/locale-tests (Files): Add it.
36337         (Makefile.am): Compile it for test-locale-c++.
36338         * tests/test-math-c++2.cc: New file.
36339         * modules/math-tests (Files): Add it.
36340         (Makefile.am): Compile it for test-math-c++.
36341         * tests/test-signal-c++2.cc: New file.
36342         * modules/signal-tests (Files): Add it.
36343         (Makefile.am): Compile it for test-signal-c++.
36344         * tests/test-stdio-c++2.cc: New file.
36345         * modules/stdio-tests (Files): Add it.
36346         (Makefile.am): Compile it for test-stdio-c++.
36347         * tests/test-stdlib-c++2.cc: New file.
36348         * modules/stdlib-tests (Files): Add it.
36349         (Makefile.am): Compile it for test-stdlib-c++.
36350         * tests/test-string-c++2.cc: New file.
36351         * modules/string-tests (Files): Add it.
36352         (Makefile.am): Compile it for test-string-c++.
36353         * tests/test-time-c++2.cc: New file.
36354         * modules/time-tests (Files): Add it.
36355         (Makefile.am): Compile it for test-time-c++.
36356         Reported by John W. Eaton <jwe@gnu.org>.
36357
36358 2010-03-13  Bruno Haible  <bruno@clisp.org>
36359
36360         * gnulib-tool (func_usage): Clarify which options are available for
36361         --create-testdir and --create-megatestdir.
36362
36363 2010-03-13  Bruno Haible  <bruno@clisp.org>
36364
36365         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
36366         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
36367         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
36368         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
36369         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
36370         when appropriate.
36371         Reported by Jim Meyering.
36372
36373 2010-03-12  Simon Josefsson  <simon@josefsson.org>
36374
36375         * gnulib-tool (func_import): Explain origin of code.
36376
36377 2010-03-12  Bruno Haible  <bruno@clisp.org>
36378
36379         Fix problem with automake's definition of CXXLINK.
36380         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
36381         Reported by Simon Josefsson and Ludovic Courtès.
36382
36383 2010-03-12  Bruno Haible  <bruno@clisp.org>
36384
36385         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
36386         stable releases.
36387
36388 2010-03-11  Bruno Haible  <bruno@clisp.org>
36389
36390         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
36391         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
36392         whether the system provides one variant or multiple variants of the
36393         function.
36394         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
36395         C++ compilers.
36396         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
36397         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
36398         Reported by Jim Meyering.
36399
36400 2010-03-09  Simon Josefsson  <simon@josefsson.org>
36401
36402         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
36403
36404 2010-03-08  Bruno Haible  <bruno@clisp.org>
36405
36406         gnulib-tool: Add support for --libtool in --create-testdir.
36407         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
36408         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
36409
36410 2010-03-08  Eric Blake  <eblake@redhat.com>
36411
36412         gnulib-tool.texi: mention possibility of git submodule
36413         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
36414         submodules.
36415         * doc/.gitignore: Ignore another generated file.
36416
36417 2010-03-08  Karl Berry  <karl@gnu.org>
36418
36419         * doc/gnulib-tool.texi (VCS Issues): Mention third option
36420         of committing gnulib files while skipping others.
36421
36422 2010-03-07  Bruno Haible  <bruno@clisp.org>
36423
36424         Tests of module 'wctype' in C++ mode.
36425         * tests/test-wctype-c++.cc: New file.
36426         * modules/wctype-tests (Files): Add it and tests/signature.h.
36427         (Depends-on): Add ansi-c++-opt.
36428         (Makefile.am): Arrange to compile and run test-wctype-c++.
36429
36430         Tests of module 'wchar' in C++ mode.
36431         * tests/test-wchar-c++.cc: New file.
36432         * modules/wchar-tests (Files): Add it and tests/signature.h.
36433         (Depends-on): Add ansi-c++-opt.
36434         (Makefile.am): Arrange to compile and run test-wchar-c++.
36435         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
36436         gl_MODULE_INDICATOR.
36437
36438         Tests of module 'unistd' in C++ mode.
36439         * tests/test-unistd-c++.cc: New file.
36440         * modules/unistd-tests (Files): Add it and tests/signature.h.
36441         (Depends-on): Add ansi-c++-opt.
36442         (Makefile.am): Arrange to compile and run test-unistd-c++.
36443         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
36444         gl_MODULE_INDICATOR.
36445
36446         Tests of module 'time' in C++ mode.
36447         * tests/test-time-c++.cc: New file.
36448         * modules/time-tests (Files): Add it and tests/signature.h.
36449         (Depends-on): Add ansi-c++-opt.
36450         (Makefile.am): Arrange to compile and run test-time-c++.
36451         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36452
36453         Tests of module 'sys_time' in C++ mode.
36454         * tests/test-sys_time-c++.cc: New file.
36455         * modules/sys_time-tests (Files): Add it and tests/signature.h.
36456         (Depends-on): Add ansi-c++-opt.
36457         (Makefile.am): Arrange to compile and run test-sys_time-c++.
36458         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
36459         gl_MODULE_INDICATOR.
36460
36461         Tests of module 'sys_stat' in C++ mode.
36462         * tests/test-sys_stat-c++.cc: New file.
36463         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
36464         (Depends-on): Add ansi-c++-opt.
36465         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
36466         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
36467         gl_MODULE_INDICATOR.
36468
36469         Tests of module 'sys_socket' in C++ mode.
36470         * tests/test-sys_socket-c++.cc: New file.
36471         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
36472         (Depends-on): Add ansi-c++-opt.
36473         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
36474         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
36475         gl_MODULE_INDICATOR.
36476
36477         Tests of module 'sys_select' in C++ mode.
36478         * tests/test-sys_select-c++.cc: New file.
36479         * modules/sys_select-tests (Files): Add it and tests/signature.h.
36480         (Depends-on): Add ansi-c++-opt.
36481         (Makefile.am): Arrange to compile and run test-sys_select-c++.
36482         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
36483         gl_MODULE_INDICATOR.
36484
36485         Tests of module 'sys_ioctl' in C++ mode.
36486         * tests/test-sys_ioctl-c++.cc: New file.
36487         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
36488         (Depends-on): Add ansi-c++-opt.
36489         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
36490         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
36491         gl_MODULE_INDICATOR.
36492
36493         Tests of module 'string' in C++ mode.
36494         * tests/test-string-c++.cc: New file.
36495         * modules/string-tests (Files): Add it and tests/signature.h.
36496         (Depends-on): Add ansi-c++-opt.
36497         (Makefile.am): Arrange to compile and run test-string-c++.
36498         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
36499         gl_MODULE_INDICATOR.
36500
36501         Tests of module 'stdlib' in C++ mode.
36502         * tests/test-stdlib-c++.cc: New file.
36503         * modules/stdlib-tests (Files): Add it and tests/signature.h.
36504         (Depends-on): Add ansi-c++-opt.
36505         (Makefile.am): Arrange to compile and run test-stdlib-c++.
36506         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
36507         gl_MODULE_INDICATOR.
36508
36509         Tests of module 'stdio' in C++ mode.
36510         * tests/test-stdio-c++.cc: New file.
36511         * modules/stdio-tests (Files): Add it and tests/signature.h.
36512         (Depends-on): Add ansi-c++-opt.
36513         (Makefile.am): Arrange to compile and run test-stdio-c++.
36514         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
36515         gl_MODULE_INDICATOR.
36516
36517         Tests of module 'spawn' in C++ mode.
36518         * tests/test-spawn-c++.cc: New file.
36519         * modules/spawn-tests (Files): Add it and tests/signature.h.
36520         (Depends-on): Add ansi-c++-opt.
36521         (Makefile.am): Arrange to compile and run test-spawn-c++.
36522         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
36523         gl_MODULE_INDICATOR.
36524
36525         Tests of module 'signal' in C++ mode.
36526         * tests/test-signal-c++.cc: New file.
36527         * modules/signal-tests (Files): Add it and tests/signature.h.
36528         (Depends-on): Add ansi-c++-opt.
36529         (Makefile.am): Arrange to compile and run test-signal-c++.
36530         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
36531         gl_MODULE_INDICATOR.
36532
36533         Tests of module 'search' in C++ mode.
36534         * tests/test-search-c++.cc: New file.
36535         * modules/search-tests (Files): Add it and tests/signature.h.
36536         (Depends-on): Add ansi-c++-opt.
36537         (Makefile.am): Arrange to compile and run test-search-c++.
36538         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
36539         gl_MODULE_INDICATOR.
36540
36541         Tests of module 'math' in C++ mode.
36542         * tests/test-math-c++.cc: New file.
36543         * modules/math-tests (Files): Add it and tests/signature.h.
36544         (Depends-on): Add ansi-c++-opt.
36545         (Makefile.am): Arrange to compile and run test-math-c++.
36546         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36547
36548         Tests of module 'locale' in C++ mode.
36549         * tests/test-locale-c++.cc: New file.
36550         * modules/locale-tests (Files): Add it and tests/signature.h.
36551         (Depends-on): Add ansi-c++-opt.
36552         (Makefile.am): Arrange to compile and run test-locale-c++.
36553         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
36554         gl_MODULE_INDICATOR.
36555
36556         Tests of module 'langinfo' in C++ mode.
36557         * tests/test-langinfo-c++.cc: New file.
36558         * modules/langinfo-tests (Files): Add it and tests/signature.h.
36559         (Depends-on): Add ansi-c++-opt.
36560         (Makefile.am): Arrange to compile and run test-langinfo-c++.
36561         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
36562         gl_MODULE_INDICATOR.
36563
36564         Tests of module 'iconv-h' in C++ mode.
36565         * tests/test-iconv-h-c++.cc: New file.
36566         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
36567         (Depends-on): Add ansi-c++-opt.
36568         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
36569
36570         Tests of module 'glob' in C++ mode.
36571         * tests/test-glob-c++.cc: New file.
36572         * modules/glob-tests (Files): Add it.
36573         (Depends-on): Add ansi-c++-opt.
36574         (Makefile.am): Arrange to compile and run test-glob-c++.
36575
36576         Tests of module 'fcntl-h' in C++ mode.
36577         * tests/test-fcntl-h-c++.cc: New file.
36578         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
36579         (Depends-on): Add ansi-c++-opt.
36580         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
36581         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
36582         gl_MODULE_INDICATOR.
36583
36584         Tests of module 'dirent' in C++ mode.
36585         * tests/test-dirent-c++.cc: New file.
36586         * modules/dirent-tests (Files): Add it and tests/signature.h.
36587         (Depends-on): Add ansi-c++-opt.
36588         (Makefile.am): Arrange to compile and run test-dirent-c++.
36589         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
36590         gl_MODULE_INDICATOR.
36591
36592         New module 'ansi-c++-opt'.
36593         * modules/ansi-c++-opt: New file.
36594         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
36595
36596         Document C++ namespace mode.
36597         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
36598
36599         wctype: Avoid #define replacements in C++ mode.
36600         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
36601         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
36602         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
36603         In C++, define a namespaced alias symbol.
36604         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
36605         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
36606         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
36607         rule.
36608
36609         wchar: Avoid #define replacements in C++ mode.
36610         * lib/wchar.in.h: Include c++defs.h.
36611         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
36612         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
36613         symbol.
36614         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
36615         * modules/wchar (Depends-on): Add c++defs.
36616         (Makefile.am): Update wchar.h rule.
36617
36618         unistd: Avoid #define replacements in C++ mode.
36619         * lib/unistd.in.h: Include c++defs.h.
36620         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
36621         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
36622         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
36623         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
36624         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
36625         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
36626         symbol.
36627         (environ): Update.
36628         * modules/unistd (Depends-on): Add c++defs.
36629         (Makefile.am): Update unistd.h rule.
36630
36631         time: Avoid #define replacements in C++ mode.
36632         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
36633         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
36634         define a namespaced alias symbol.
36635         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
36636         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
36637         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
36638         * modules/time (Depends-on): Add c++defs, warn-on-use.
36639         (Makefile.am): Update time.h rule.
36640         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36641         * modules/nanosleep (configure.ac): Likewise.
36642         * modules/strptime (configure.ac): Likewise.
36643         * modules/timegm (configure.ac): Likewise.
36644
36645         sys_time: Avoid #define replacements in C++ mode.
36646         * lib/sys_time.in.h: Include c++defs.h.
36647         (gettimeofday): In C++, define a namespaced alias symbol.
36648         * modules/sys_time (Depends-on): Add c++defs.
36649         (Makefile.am): Update sys/time.h rule.
36650
36651         sys_stat: Avoid #define replacements in C++ mode.
36652         * lib/sys_stat.in.h: Include c++defs.h.
36653         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
36654         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
36655         namespaced alias symbol.
36656         In C++, define a namespaced alias symbol.
36657         * modules/sys_stat (Depends-on): Add c++defs.
36658         (Makefile.am): Update sys/stat.h rule.
36659
36660         sys_socket: Avoid #define replacements in C++ mode.
36661         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
36662         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
36663         definitions also when the system has a <sys/socket.h>.
36664         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36665         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
36666         In C++, define a namespaced alias symbol.
36667         * modules/sys_socket (Depends-on): Add c++defs.
36668         (Makefile.am): Update sys/socket.h rule.
36669
36670         sys_select: Avoid #define replacements in C++ mode.
36671         * lib/sys_select.in.h: Include c++defs.h. Enable the function
36672         definitions also when the system has a <sys/select.h>.
36673         (select): In C++, define a namespaced alias symbol.
36674         * modules/sys_select (Depends-on): Add c++defs.
36675         (Makefile.am): Update sys/select.h rule.
36676
36677         sys_ioctl: Avoid #define replacements in C++ mode.
36678         * lib/sys_ioctl.in.h: Include c++defs.h.
36679         (ioctl): In C++, define a namespaced alias symbol.
36680         * modules/sys_ioctl (Depends-on): Add c++defs.
36681         (Makefile.am): Update sys/ioctl.h rule.
36682
36683         string: Avoid #define replacements in C++ mode.
36684         * lib/string.in.h: Include c++defs.h.
36685         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
36686         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36687         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36688         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
36689         strsignal, strverscmp): In C++, define a namespaced alias symbol.
36690         * modules/string (Depends-on): Add c++defs.
36691         (Makefile.am): Update string.h rule.
36692
36693         stdlib: Avoid #define replacements in C++ mode.
36694         * lib/stdlib.in.h: Include c++defs.h.
36695         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
36696         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
36697         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
36698         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
36699         symbol.
36700         * modules/stdlib (Depends-on): Add c++defs.
36701         (Makefile.am): Update stdlib.h rule.
36702
36703         stdio: Avoid #define replacements in C++ mode.
36704         * lib/stdio.in.h: Include c++defs.h.
36705         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
36706         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
36707         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
36708         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
36709         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
36710         namespaced alias symbol.
36711         * modules/stdio (Depends-on): Add c++defs.
36712         (Makefile.am): Update stdio.h rule.
36713
36714         spawn: Avoid #define replacements in C++ mode.
36715         * lib/spawn.in.h: Include c++defs.h.
36716         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36717         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36718         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36719         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36720         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36721         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36722         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36723         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36724         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36725         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36726         In C++, define a namespaced alias symbol.
36727         * modules/spawn (Depends-on): Add c++defs.
36728         (Makefile.am): Update spawn.h rule.
36729
36730         signal: Avoid #define replacements in C++ mode.
36731         * lib/signal.in.h: Include c++defs.h.
36732         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36733         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
36734         namespaced alias symbol.
36735         * modules/signal (Depends-on): Add c++defs.
36736         (Makefile.am): Update signal.h rule.
36737
36738         search: Avoid #define replacements in C++ mode.
36739         * lib/search.in.h: Include c++defs.h.
36740         (_gl_search_compar_fn, _gl_search_action_fn): New types.
36741         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
36742         symbol.
36743         * modules/search (Depends-on): Add c++defs.
36744         (Makefile.am): Update search.h rule.
36745
36746         math: Avoid #define replacements in C++ mode.
36747         * lib/math.in.h: Include c++defs.h.
36748         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
36749         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
36750         trunc, truncl): In C++, define a namespaced alias symbol.
36751         * modules/math (Depends-on): Add c++defs.
36752         (Makefile.am): Update math.h rule.
36753
36754         locale: Avoid #define replacements in C++ mode.
36755         * lib/locale.in.h: Include c++defs.h.
36756         (duplocale): In C++, define a namespaced alias symbol.
36757         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
36758         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
36759         * modules/locale (Depends-on): Add c++defs.
36760         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
36761
36762         langinfo: Avoid #define replacements in C++ mode.
36763         * lib/langinfo.in.h: Include c++defs.h.
36764         (nl_langinfo): In C++, define a namespaced alias symbol.
36765         * modules/langinfo (Depends-on): Add c++defs.
36766         (Makefile.am): Update langinfo.h rule.
36767
36768         iconv-h: Avoid #define replacements in C++ mode.
36769         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
36770         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
36771         symbol.
36772         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
36773         whenever iconv is present.
36774         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
36775         (Makefile.am): Update iconv.h rule.
36776
36777         glob: Avoid #define replacements in C++ mode.
36778         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
36779         (_gl_glob_errfunc_fn): New type.
36780         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
36781         symbol.
36782         * modules/glob (Depends-on): Add c++defs, warn-on-use.
36783         (Makefile.am): Update glob.h rule.
36784
36785         fcntl-h: Avoid #define replacements in C++ mode.
36786         * lib/fcntl.in.h: Include c++defs.h.
36787         (fcntl, open, openat): In C++, define a namespaced alias symbol.
36788         * modules/fcntl-h (Depends-on): Add c++defs.
36789         (Makefile.am): Update fcntl.h rule.
36790
36791         dirent: Avoid #define replacements in C++ mode.
36792         * lib/dirent.in.h: Include c++defs.h.
36793         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
36794         namespaced alias symbol.
36795         (dirfd): Update declaration.
36796         * modules/dirent (Depends-on): Add c++defs.
36797         (Makefile.am): Update dirent.h rule.
36798
36799         ctype: Make it usable in C++ code.
36800         * lib/ctype.in.h: Include c++defs.h.
36801         (isblank): Declare as extern "C".
36802         * modules/ctype (Depends-on): Add c++defs.
36803         (Makefile.am): Update ctype.h rule.
36804
36805         New module 'c++defs'.
36806         * modules/c++defs: New file.
36807         * build-aux/c++defs.h: New file.
36808         Reported by John W. Eaton <jwe@gnu.org>.
36809
36810 2010-03-07  Bruno Haible  <bruno@clisp.org>
36811
36812         logb: Provide missing declaration for Cygwin.
36813         * lib/math.in.h (logb): New declaration.
36814         * m4/logb.m4: New file.
36815         * modules/logb (Files): Add m4/logb.m4.
36816         (Depends-on): Add math.
36817         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
36818         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
36819         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
36820         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
36821         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
36822
36823 2010-03-07  Bruno Haible  <bruno@clisp.org>
36824
36825         Fix test-cond link error.
36826         * tests/test-cond.c: Include <stdio.h>.
36827
36828 2010-03-07  Bruno Haible  <bruno@clisp.org>
36829
36830         Fix test-dirent-safer link error.
36831         * modules/dirent-safer-tests (Makefile.am): Define
36832         test_dirent_safer_LDADD.
36833
36834 2010-03-07  Bruno Haible  <bruno@clisp.org>
36835
36836         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
36837         among default module list.
36838
36839 2010-03-07  Bruno Haible  <bruno@clisp.org>
36840
36841         Fix link error on platforms with GNU libiconv.
36842         * modules/unistr/u8-strcoll-tests (Makefile): Define
36843         test_u8_strcoll_LDADD.
36844         * modules/unistr/u16-strcoll-tests (Makefile): Define
36845         test_u16_strcoll_LDADD.
36846         * modules/unistr/u32-strcoll-tests (Makefile): Define
36847         test_u32_strcoll_LDADD.
36848
36849 2010-03-07  Bruno Haible  <bruno@clisp.org>
36850
36851         Use POSIX declarations for socket functions.
36852         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
36853         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
36854         rpl_sendto): Change declaration to match POSIX.
36855         * lib/connect.c (rpl_connect): Likewise.
36856         * lib/accept.c (rpl_accept): Likewise.
36857         * lib/bind.c (rpl_bind): Likewise.
36858         * lib/getpeername.c (rpl_getpeername): Likewise.
36859         * lib/getsockname.c (rpl_getsockname): Likewise.
36860         * lib/recv.c (rpl_recv): Likewise.
36861         * lib/send.c (rpl_send): Likewise.
36862         * lib/recvfrom.c (rpl_recvfrom): Likewise.
36863         * lib/sendto.c (rpl_sendto): Likewise.
36864
36865 2010-03-06  Bruno Haible  <bruno@clisp.org>
36866
36867         Clarify access, euidaccess, faccessat.
36868         * doc/posix-functions/faccessat.texi: Mention security problem under
36869         "Other problems", not "Portability problems".
36870         * doc/posix-functions/access.texi: Likewise. Mention a related security
36871         problem.
36872         * doc/glibc-functions/euidaccess.texi: Mention security problems.
36873         * lib/euidaccess.c: Add comments about platforms.
36874         * lib/unistd.in.h (access, euidaccess): Add warnings.
36875
36876 2010-03-07  Bruno Haible  <bruno@clisp.org>
36877
36878         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
36879         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
36880         (POSIX_SPAWN_SETSCHEDULER): Likewise.
36881         (POSIX_SPAWN_USEVFORK): Define in a way that works when
36882         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36883         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
36884         declare when POSIX_SPAWN_SETSCHEDULER is zero.
36885         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
36886         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
36887         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
36888         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
36889         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
36890         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
36891         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
36892         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
36893         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
36894         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
36895         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
36896         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
36897         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
36898         Likewise.
36899         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
36900         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
36901         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
36902         Likewise.
36903         * tests/test-spawn.c (main): Make it work when
36904         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36905
36906 2010-03-07  Bruno Haible  <bruno@clisp.org>
36907
36908         Fix incorrect Makefile.am generation in German locale.
36909         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36910         Execute sed command with character range in C locale.
36911
36912 2010-03-06  Bruno Haible  <bruno@clisp.org>
36913
36914         Tests for module 'iconv-h'.
36915         * modules/iconv-h-tests: New file.
36916         * tests/test-iconv-h.c: New file.
36917
36918         New module 'iconv-h'.
36919         * modules/iconv-h: New file.
36920         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
36921         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
36922         (configure.ac): Remove gl_ICONV_H.
36923         (Makefile.am): Remove rule for iconv.h.
36924
36925 2010-03-06  Bruno Haible  <bruno@clisp.org>
36926
36927         More consistent naming of *.m4 files.
36928         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
36929         * modules/wctype (Files): Update.
36930
36931         More consistent naming of *.m4 files.
36932         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
36933         * modules/wchar (Files): Update.
36934
36935 2010-03-06  Jim Meyering  <meyering@redhat.com>
36936
36937         euidaccess: relax license to LGPLv2+
36938         * modules/euidaccess (License): Relax to LGPLv2+.
36939
36940 2010-03-06  Bruno Haible  <bruno@clisp.org>
36941
36942         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
36943         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
36944         (Makefile.am): Augment lib_SOURCES instead.
36945
36946 2010-03-04  Jim Meyering  <meyering@redhat.com>
36947
36948         utime: remove obsolete module
36949         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
36950         unnecessary for years, and has been marked as obsolete for 10 months.
36951         * modules/utime: Remove file.
36952         * lib/utime.c: Remove file.
36953         * m4/utime.m4: Remove file.
36954         * m4/utimes-null.m4: Remove file.
36955         * doc/posix-functions/utime.texi (utime): Remove reference to
36956         the module.  Move the sole "fixed by gnulib" item into the
36957         "problems not fixed by Gnulib" list.
36958         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
36959
36960 2010-03-05  Simon Josefsson  <simon@josefsson.org>
36961
36962         * modules/exit (License): Relax license to LGPLv2+.
36963         (Status): Mark as obsolete.
36964         * NEWS: Mention deprecated 'exit' module.
36965         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
36966         of now obsolete 'exit'.
36967
36968 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36969
36970         fts-lgpl: remove unused module
36971         * modules/fts-lgpl: Remove.
36972         * MODULES.html.sh (func_all_modules): Adjust.
36973         * check-module (find_included_lib_files): Adjust.
36974         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
36975
36976 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
36977
36978         copy-acl: enhance Solaris ACL error handling
36979         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
36980         * lib/set-mode-acl.c (qset_acl): Likewise.
36981
36982 2010-03-02  Bruno Haible  <bruno@clisp.org>
36983
36984         spawn: Don't override the system defined values on FreeBSD 8.
36985         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
36986         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
36987         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
36988         if HAVE_POSIX_SPAWN is 1.
36989         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
36990
36991 2010-03-01  Bruno Haible  <bruno@clisp.org>
36992
36993         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
36994         regarding Automake.
36995
36996 2010-02-25  Bruno Haible  <bruno@clisp.org>
36997
36998         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
36999         * gnulib-tool: Define 'echo' as a function only before the ksh alias
37000         setting, not afterwards.
37001         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
37002
37003 2010-02-24  Eric Blake  <eblake@redhat.com>
37004
37005         bootstrap, git-version-gen: use timestamp
37006         * build-aux/git-version-gen (scriptversion): Force UTC.
37007         * build-aux/bootstrap (scriptversion): New variable.
37008
37009         bootstrap: allow older git
37010         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
37011         older than 1.6.4.  Requested by the libvirt project.
37012
37013 2010-02-23  Eric Blake  <eblake@redhat.com>
37014
37015         warn-on-use: work with old autoconf
37016         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
37017         AS_VAR semantics of autoconf 2.60.
37018         Reported by Bruno Haible.
37019
37020         bootstrap: improve some comments
37021         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
37022         clarification comments.
37023
37024         gettimeofday: provide correct function
37025         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
37026         when replacement is declared, otherwise provide gettimeofday.
37027         Reported by Michael Goffioul.
37028
37029 2010-02-23  Jim Meyering  <meyering@redhat.com>
37030
37031         lib-ignore: relax license to "unlimited", not LGPLv2+
37032         * modules/lib-ignore (License): Relax to "unlimited".
37033
37034 2010-02-23  Jim Meyering  <meyering@redhat.com>
37035
37036         lib-ignore: relax license to LGPLv2+
37037         * modules/lib-ignore (License): Relax to LGPLv2+.
37038
37039 2010-02-22  Eric Blake  <eblake@redhat.com>
37040
37041         lseek: avoid bash 3.2 broken pipe bug
37042         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
37043         warning from bash 3.2.
37044         Reported by Ben Pfaff, with analysis from Bruno Haible.
37045
37046         bootstrap: support non-FSF copyright holder
37047         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
37048         bootstrap.conf override of COPYRIGHT_HOLDER.
37049         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
37050
37051         bootstrap: interoperate with gettext 0.14.1
37052         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
37053
37054         bootstrap: allow for alternate submodule location
37055         * build-aux/bootstrap (gnulib_path): New variable; use instead of
37056         hardcoding submodule location.
37057         (gnulib_mk): Allow direct use of Makefile.am.
37058
37059         bootstrap: use GNULIB_SRCDIR to reduce disk usage
37060         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
37061         rather than reconfiguring where the submodule points.
37062
37063         gettimeofday: restore support for platforms that lack function
37064         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
37065         replacement if function is missing.
37066         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
37067         * modules/sys_time (Makefile.am): Substitute it.
37068         * lib/sys_time.in.h (gettimeofday): Check it.
37069         Reported by Michael Goffioul.
37070
37071 2010-02-21  Bruno Haible  <bruno@clisp.org>
37072
37073         * lib/stdio.in.h (obstack_printf): Fix typo.
37074
37075 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
37076
37077         vc-list-files: use bzr ls's -R option
37078         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
37079         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
37080
37081 2010-02-21  Jim Meyering  <meyering@redhat.com>
37082
37083         init.sh: fix EXEEXT shims to work also for names like test-prog
37084         * tests/init.sh: Re-exec a better shell, when needed.
37085         If the current shell lacks support for posix $(...), an init.sh-using
37086         test will now try to find a shell that supports that.  If EXEEXT is
37087         nonempty, we also require support for hyphen-in-alias-name and shell
37088         substitutions like ${var#glob}.  Failure to find such a shell results
37089         in a skipped test.
37090
37091 2010-02-21  Bruno Haible  <bruno@clisp.org>
37092
37093         Really work around around "broken pipe" error message from bash 3.2.
37094         * gnulib-tool (func_reset_sigpipe): Remove function.
37095         (echo): In bash 3.2, define to a function that uses printf.
37096         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
37097
37098 2010-02-20  Bruno Haible  <bruno@clisp.org>
37099
37100         Restore support for automake 1.9.6 with autoconf 2.61.
37101         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
37102         Reported by James Youngman <jay@gnu.org>.
37103
37104 2010-02-20  Bruno Haible  <bruno@clisp.org>
37105
37106         Improve *printf warning condition.
37107         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
37108         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
37109         and the function is overridden due to SIGPIPE emulation.
37110
37111 2010-02-20  Bruno Haible  <bruno@clisp.org>
37112
37113         * lib/stdio.in.h: Tweak comments.
37114
37115 2010-02-19  Bruno Haible  <bruno@clisp.org>
37116
37117         Make it easier to find modules. New gnulib-tool option '--find'.
37118         * gnulib-tool: New option --find.
37119         (func_usage): Document it.
37120         (func_sanitize_modulelist): New function, extracted from
37121         func_all_modules.
37122         (func_all_modules): Invoke it.
37123         * doc/gnulib-tool.texi (Which modules?): New node.
37124
37125 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
37126
37127         * lib/sys_select.in.h: Provide select replacement even if
37128         sys/select.h exists on a system, for Interix.
37129
37130 2010-02-18  Jim Meyering  <meyering@redhat.com>
37131
37132         init.sh: don't use $(...) just yet
37133         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
37134         to accommodate e.g., Solaris' /bin/sh.
37135
37136 2010-02-17  Bruno Haible  <bruno@clisp.org>
37137
37138         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
37139         Reported by Ludovic Courtès <ludo@gnu.org>.
37140
37141 2010-02-16  Simon Josefsson  <simon@josefsson.org>
37142
37143         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
37144         linking with -lintl.
37145
37146 2010-02-17  Simon Josefsson  <simon@josefsson.org>
37147
37148         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
37149         if not provided by the system's netdb.h.  Reported by
37150         ludo@gnu.org (Ludovic Courtès).
37151
37152 2010-02-15  Jim Meyering  <meyering@redhat.com>
37153
37154         init.sh: improve portability and efficiency
37155         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
37156         "dummy" in a for loop.
37157         Use '!', not '^' to select the complement of a character set used
37158         in a "case" statement.
37159         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
37160         Suggestions from Eric Blake.
37161
37162         init.sh: automatically accommodate programs with the .exe suffix
37163         Automatically arrange for an invocation of "prog" to execute the
37164         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
37165         may use the simpler "prog", yet still work when built on a system
37166         that requires specifying the added suffix.
37167         Do this by constructing a function named "prog" that invokes
37168         "prog.exe" for each .exe file in selected directories.
37169         * tests/init.sh (find_exe_basenames_): New function.
37170         (create_exe_shim_functions_): New function.
37171         (path_prepend_): Use it.
37172
37173         maint.mk: mark syntax-check sc_*.m rules as .PHONY
37174         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
37175         "make -t syntax-check" doesn't create a ton of sc_*.m files.
37176
37177 2010-02-14  Jim Meyering  <meyering@redhat.com>
37178
37179         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
37180         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
37181         (sc_prohibit_hash_pjw_without_use): New rule.
37182
37183         maint.mk: allow the default upload destination dir to be overridden
37184         * top/maint.mk (upload_dest_dir_): Define with a default that
37185         preserves the status quo.
37186         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
37187         Reported by Peter Simons.
37188
37189         maint.mk: prohibit inclusion of "hash.h" without_use
37190         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
37191
37192 2010-02-10  Jim Meyering  <meyering@redhat.com>
37193
37194         maint.mk: prohibit inclusion of "ignore-value.h" without_use
37195         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
37196
37197 2010-02-09  Eric Blake  <ebb9@byu.net>
37198         and Bruno Haible  <bruno@clisp.org>
37199
37200         obstack-printf-posix: ensure declaration
37201         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
37202         extracted from gl_FUNC_OBSTACK_PRINTF.
37203         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
37204         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
37205         Likewise.
37206         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
37207         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
37208         0.
37209
37210 2010-02-08  Bruno Haible  <bruno@clisp.org>
37211
37212         gnulib-tool: Fix typo in 2010-02-07 commit.
37213         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
37214         Reported by Eric Blake.
37215
37216 2010-02-07  Bruno Haible  <bruno@clisp.org>
37217
37218         gnulib-tool: Fix up caching patches.
37219         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
37220         option --no-cache. Use associative arrays when supported by the shell.
37221         (sed_comments): New variable.
37222         (modcache): Renamed from do_cache.
37223         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
37224         abbreviate unnecessarily.
37225         (have_associative): New variable.
37226         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
37227         way also for ksh and zsh.
37228         (func_init_sed_convert_to_cache_statements): New function, extracted
37229         from func_cache_lookup_module. Add support for associative arrays.
37230         Don't set the c_MODULE_cached variable here. Ignore all lines before
37231         the first field header. Remove only the final newline, not all trailing
37232         newlines. Support empty fields correctly. Limit the use of 'eval' to
37233         assignments.
37234         (func_get_description, func_get_status, func_get_notice,
37235         func_get_applicability, func_get_filelist, func_get_dependencies,
37236         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
37237         func_get_automake_snippet, func_get_include_directive,
37238         func_get_link_directive, func_get_license, func_get_maintainer):
37239         Update documentation. List the unoptimized code first. Add support for
37240         associative arrays. Limit the use of 'eval' to assignments.
37241         (func_get_applicability): Undo stylistic pessimisations.
37242         (func_get_automake_snippet, func_get_include_directive): Reduce code
37243         duplication.
37244         (func_modules_transitive_closure, func_modules_add_dummy,
37245         func_modules_notice, func_modules_to_filelist, func_add_file,
37246         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
37247         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
37248         func_create_testdir, func_create_megatestdir): Update documentation.
37249
37250 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37251
37252         * gnulib-tool (func_cache_lookup_module): Store the module name
37253         belonging to the cache variable; error out if two different
37254         module names map to the same cache variable name.
37255
37256 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37257
37258         gnulib-tool: Make caching optional.
37259         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
37260         Update matching short versions of --no-changelog.
37261         (func_usage): Update.
37262         (sed_extract_cache_prog): Renamed from ...
37263         (sed_extract_prog): ... this; revert to old extraction script.
37264         (func_get_description, func_get_status)
37265         (func_get_notice, func_get_applicability, func_get_filelist)
37266         (func_get_dependencies, func_get_autoconf_early_snippet)
37267         (func_get_autoconf_snippet, func_get_automake_snippet)
37268         (func_get_include_directive, func_get_link_directive)
37269         (func_get_license, func_get_maintainer): If $do_cache is false,
37270         use old, non-caching extraction scripts.
37271         Suggestion by Bruno Haible.
37272
37273 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37274
37275         gnulib-tool: cache module metainformation.
37276         * gnulib-tool (sed_extract_prog): Match newline before each
37277         header, and rewrite header to a shell variable suffix.
37278         (func_cache_var, func_cache_lookup_module): New functions,
37279         to turn a module name into a cache variable prefix, and to
37280         look up and cache module metainformation.
37281         (func_get_description, func_get_status)
37282         (func_get_notice, func_get_applicability, func_get_filelist)
37283         (func_get_dependencies, func_get_autoconf_early_snippet)
37284         (func_get_autoconf_snippet, func_get_automake_snippet)
37285         (func_get_include_directive, func_get_link_directive)
37286         (func_get_license, func_get_maintainer): Use
37287         func_cache_lookup_module.
37288
37289 2010-02-07  Bruno Haible  <bruno@clisp.org>
37290
37291         fnctl: Fix missing dependency.
37292         * modules/fcntl (Depends-on): Add getdtablesize.
37293         Reported by John W. Eaton <jwe@gnu.org>.
37294
37295 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37296
37297         Argp: fix recognition of short alias options.
37298
37299         * lib/argp-parse.c (convert_options): Fix improper use of
37300         `|' between character values.
37301         * tests/test-argp.c (group1_option): New alias option
37302         --read (-r).
37303         (group1_parser): Special handling for 'r'.
37304         (test15): New test case.
37305         (test_fun): Add test15.
37306         * tests/test-argp-2.sh: Update expected --help and --usage
37307         outputs.
37308
37309 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37310
37311         * tests/test-argp.c: Fix indentation.
37312
37313 2010-02-04  Eric Blake  <ebb9@byu.net>
37314
37315         gettimeofday: expose type of second argument
37316         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
37317         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
37318         * tests/test-gettimeofday.c: Use it to silence warning.
37319         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
37320         the issue.
37321
37322 2010-02-03  Jim Meyering  <meyering@redhat.com>
37323
37324         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
37325         * lib/regcomp.c (TYPE_SIGNED): Define.
37326         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
37327
37328         regcomp.c: avoid a new -Wshadow warning
37329         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
37330
37331 2010-02-01  Jim Meyering  <meyering@redhat.com>
37332
37333         removing useless parentheses in cpp #define directives
37334         For motivation, see commit c0221df4, "define STREQ(a,b)
37335         consistently, removing useless parentheses"
37336         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
37337         * lib/mountlist.c (MNT_IGNORE): Likewise.
37338         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
37339
37340 2010-02-01  Eric Blake  <ebb9@byu.net>
37341
37342         sys_time: use link-warning
37343         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
37344         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
37345         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
37346         * modules/sys_time (Depends-on): Add warn-on-use.
37347         (Makefile.am): Always build replacement.
37348         (configure.ac): Update substitutions.
37349         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
37350         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
37351         bother with SYS_TIME_H.
37352         * modules/gettimeofday (configure.ac): Declare indicator.
37353         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
37354         in use.
37355
37356         closein-tests: silence compiler warning
37357         * tests/test-closein.c (main): Ignore fread result.
37358         * modules/closein-tests (Depends-on): Add ignore-value.
37359
37360         tests: silence warning about system return
37361         * tests/test-areadlink-with-size.c (main): Ignore system result.
37362         * tests/test-areadlink.c (main): Likewise.
37363         * tests/test-areadlinkat-with-size.c (main): Likewise.
37364         * tests/test-areadlinkat.c (main): Likewise.
37365         * tests/test-canonicalize-lgpl.c (main): Likewise.
37366         * tests/test-canonicalize.c (main): Likewise.
37367         * tests/test-chown.c (main): Likewise.
37368         * tests/test-fchownat.c (main): Likewise.
37369         * tests/test-fdutimensat.c (main): Likewise.
37370         * tests/test-fstatat.c (main): Likewise.
37371         * tests/test-futimens.c (main): Likewise.
37372         * tests/test-lchown.c (main): Likewise.
37373         * tests/test-link.c (main): Likewise.
37374         * tests/test-linkat.c (main): Likewise.
37375         * tests/test-lstat.c (main): Likewise.
37376         * tests/test-mkdir.c (main): Likewise.
37377         * tests/test-mkdirat.c (main): Likewise.
37378         * tests/test-mkfifo.c (main): Likewise.
37379         * tests/test-mkfifoat.c (main): Likewise.
37380         * tests/test-mknod.c (main): Likewise.
37381         * tests/test-readlink.c (main): Likewise.
37382         * tests/test-remove.c (main): Likewise.
37383         * tests/test-rename.c (main): Likewise.
37384         * tests/test-renameat.c (main): Likewise.
37385         * tests/test-rmdir.c (main): Likewise.
37386         * tests/test-symlink.c (main): Likewise.
37387         * tests/test-symlinkat.c (main): Likewise.
37388         * tests/test-unlink.c (main): Likewise.
37389         * tests/test-unlinkat.c (main): Likewise.
37390         * tests/test-utimens.c (main): Likewise.
37391         * tests/test-utimensat.c (main): Likewise.
37392         * modules/areadlink-tests (Depends-on): Add ignore-value.
37393         * modules/areadlink-with-size-tests (Depends-on): Likewise.
37394         * modules/areadlinkat-tests (Depends-on): Likewise.
37395         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
37396         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37397         * modules/canonicalize-tests (Depends-on): Likewise.
37398         * modules/chown-tests (Depends-on): Likewise.
37399         * modules/fdutimensat-tests (Depends-on): Likewise.
37400         * modules/futimens-tests (Depends-on): Likewise.
37401         * modules/lchown-tests (Depends-on): Likewise.
37402         * modules/link-tests (Depends-on): Likewise.
37403         * modules/linkat-tests (Depends-on): Likewise.
37404         * modules/lstat-tests (Depends-on): Likewise.
37405         * modules/mkdir-tests (Depends-on): Likewise.
37406         * modules/mkfifo-tests (Depends-on): Likewise.
37407         * modules/mkfifoat-tests (Depends-on): Likewise.
37408         * modules/mknod-tests (Depends-on): Likewise.
37409         * modules/openat-tests (Depends-on): Likewise.
37410         * modules/readlink-tests (Depends-on): Likewise.
37411         * modules/remove-tests (Depends-on): Likewise.
37412         * modules/rename-tests (Depends-on): Likewise.
37413         * modules/renameat-tests (Depends-on): Likewise.
37414         * modules/rmdir-tests (Depends-on): Likewise.
37415         * modules/symlink-tests (Depends-on): Likewise.
37416         * modules/symlinkat-tests (Depends-on): Likewise.
37417         * modules/unlink-tests (Depends-on): Likewise.
37418         * modules/utimens-tests (Depends-on): Likewise.
37419         * modules/utimensat-tests (Depends-on): Likewise.
37420
37421 2010-01-31  Bruno Haible  <bruno@clisp.org>
37422
37423         Perform the same test for many <math.h> functions.
37424         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
37425         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
37426         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
37427         of gl_MATHFUNC.
37428         * modules/acos (configure.ac): Likewise.
37429         * modules/asin (configure.ac): Likewise.
37430         * modules/atan (configure.ac): Likewise.
37431         * modules/atan2 (configure.ac): Likewise.
37432         * modules/cbrt (configure.ac): Likewise.
37433         * modules/copysign (configure.ac): Likewise.
37434         * modules/cos (configure.ac): Likewise.
37435         * modules/cosh (configure.ac): Likewise.
37436         * modules/erf (configure.ac): Likewise.
37437         * modules/erfc (configure.ac): Likewise.
37438         * modules/exp (configure.ac): Likewise.
37439         * modules/fmod (configure.ac): Likewise.
37440         * modules/hypot (configure.ac): Likewise.
37441         * modules/j0 (configure.ac): Likewise.
37442         * modules/j1 (configure.ac): Likewise.
37443         * modules/jn (configure.ac): Likewise.
37444         * modules/lgamma (configure.ac): Likewise.
37445         * modules/log (configure.ac): Likewise.
37446         * modules/log10 (configure.ac): Likewise.
37447         * modules/log1p (configure.ac): Likewise.
37448         * modules/pow (configure.ac): Likewise.
37449         * modules/remainder (configure.ac): Likewise.
37450         * modules/sin (configure.ac): Likewise.
37451         * modules/sinh (configure.ac): Likewise.
37452         * modules/tan (configure.ac): Likewise.
37453         * modules/tanh (configure.ac): Likewise.
37454         * modules/y0 (configure.ac): Likewise.
37455         * modules/y1 (configure.ac): Likewise.
37456         * modules/yn (configure.ac): Likewise.
37457         Suggested by Paolo Bonzini.
37458
37459 2010-01-31  Bruno Haible  <bruno@clisp.org>
37460
37461         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
37462
37463 2010-01-31  Bruno Haible  <bruno@clisp.org>
37464
37465         Work around getdelim() bug on FreeBSD 8.0.
37466         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
37467         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
37468         not work.
37469         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
37470         is 1.
37471         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
37472         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
37473         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
37474         a non-zero size.
37475         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
37476
37477 2010-01-31  Bruno Haible  <bruno@clisp.org>
37478
37479         Work around getline() bug on FreeBSD 8.0.
37480         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
37481         and a non-zero size.
37482         * tests/test-getline.c (main): Likewise.
37483         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
37484         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
37485
37486 2010-01-28  Eric Blake  <ebb9@byu.net>
37487
37488         regex: fix build failure
37489         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
37490         platforms.
37491
37492 2010-01-28  Jim Meyering  <meyering@redhat.com>
37493
37494         regex: do not ignore memory allocation failure
37495         * lib/regex_internal.c (create_cd_newstate): Detect
37496         re_node_set_init_copy failure.   Extracted from glibc commit
37497         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37498
37499         regex: sync more white-space changes from libc
37500         * lib/regex_internal.c: White-space only changes.
37501         * lib/regexec.c: Likewise.
37502
37503         regex: add many uses of __attribute_warn_unused_result__
37504         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
37505         * lib/regexec.c: Likewise.
37506         Extracted from a messy glibc commit.
37507
37508         regcomp.c: spelling and merge-artifact from glibc
37509         * lib/regcomp.c: Merge remainder of glibc's
37510         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37511
37512         regcomp.c: sync white-space changes from glibc
37513         * lib/regcomp.c: Merge to accommodate white space
37514         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37515
37516         regcomp.c: do not ignore internal return values
37517         * lib/regcomp.c: Do not ignore internal return values.
37518         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
37519         but without its white-space changes and spelling fixes.
37520
37521         regex_internal.h: define __attribute_warn_unused_result__
37522         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
37523
37524         maint: add a syntax-check rule to check for vulnerable Makefile.in
37525         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
37526
37527 2010-01-27  Jim Meyering  <meyering@redhat.com>
37528
37529         ncftpput-ftp: clean up spaces
37530         * build-aux/ncftpput-ftp: Make Copyright line consistent.
37531         Remove trailing blanks.
37532
37533 2010-01-27  Simon Josefsson  <simon@josefsson.org>
37534
37535         * build-aux/git-version-gen: Fix copyright statement.
37536         * build-aux/gnupload: Likewise.
37537         * tests/test-arcfour.c: Likewise.
37538         * tests/test-arctwo.c: Likewise.
37539         * tests/test-count-one-bits.c: Likewise.
37540         * tests/test-crc.c: Likewise.
37541         * tests/test-des.c: Likewise.
37542         * tests/test-gc-arcfour.c: Likewise.
37543         * tests/test-gc-arctwo.c: Likewise.
37544         * tests/test-gc-des.c: Likewise.
37545         * tests/test-gc-hmac-md5.c: Likewise.
37546         * tests/test-gc-hmac-sha1.c: Likewise.
37547         * tests/test-gc-md2.c: Likewise.
37548         * tests/test-gc-md4.c: Likewise.
37549         * tests/test-gc-md5.c: Likewise.
37550         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37551         * tests/test-gc-rijndael.c: Likewise.
37552         * tests/test-gc-sha1.c: Likewise.
37553         * tests/test-gc.c: Likewise.
37554         * tests/test-gethostname.c: Likewise.
37555         * tests/test-gettimeofday.c: Likewise.
37556         * tests/test-hash.c: Likewise.
37557         * tests/test-hmac-md5.c: Likewise.
37558         * tests/test-hmac-sha1.c: Likewise.
37559         * tests/test-md2.c: Likewise.
37560         * tests/test-md4.c: Likewise.
37561         * tests/test-md5.c: Likewise.
37562         * tests/test-memchr.c: Likewise.
37563         * tests/test-memchr2.c: Likewise.
37564         * tests/test-memcmp.c: Likewise.
37565         * tests/test-memmem.c: Likewise.
37566         * tests/test-memrchr.c: Likewise.
37567         * tests/test-rawmemchr.c: Likewise.
37568         * tests/test-read-file.c: Likewise.
37569         * tests/test-rijndael.c: Likewise.
37570         * tests/test-sockets.c: Likewise.
37571         * tests/test-strchrnul.c: Likewise.
37572         * tests/test-strstr.c: Likewise.
37573         * tests/test-strtod.c: Likewise.
37574         * build-aux/ncftpput-ftp: Likewise.
37575
37576 2010-01-26  Eric Blake  <ebb9@byu.net>
37577
37578         ignore-value: update recommended header name
37579         * modules/ignore-value (Include): Only use <> for headers that
37580         exist in glibc.
37581
37582 2010-01-26  Jim Meyering  <meyering@redhat.com>
37583
37584         test-userspec.c: avoid compiler warnings
37585         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
37586         and "initialization discards qualifiers..." warnings.
37587         Put the first "uid" in its own scope, and make char* members "const".
37588
37589 2010-01-25  Bruno Haible  <bruno@clisp.org>
37590
37591         gnulib-tool: Make warning diagnostics consistent.
37592         * gnulib-tool (func_warning): New function.
37593         Use it everywhere where gnulib-tool produces output to stderr and it is
37594         not a fatal error.
37595
37596 2010-01-25  Bruno Haible  <bruno@clisp.org>
37597
37598         Fix test dependencies.
37599         * modules/xstrtol-tests (Depends-on): Add inttypes.
37600         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
37601
37602 2010-01-25 Pádraig Brady <P@draigBrady.com>
37603
37604         syntax-check: detect incorrect boolean macro values in config.h
37605         * modules/maintainer-makefile (configure.ac): Parameterize the location
37606         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
37607         The logic is from Eric Blake and the location indicated by Jim Meyering.
37608         Note the more natural CONFIG_HEADER name is prohibited by automake
37609         for backwards compatibility reasons.
37610         * top/maint.mk (sc_Wundef_boolean): New rule.
37611
37612 2010-01-25  Jim Meyering  <meyering@redhat.com>
37613
37614         bootstrap: detect MacOS 10.6's shasum, too
37615         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
37616         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
37617
37618 2010-01-23  Jim Meyering  <meyering@redhat.com>
37619
37620         xstrtoll: new module
37621         * modules/xstrtoll: New file.
37622         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
37623         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
37624         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
37625         ./configure fails if you use this module and lack "long long".
37626         * modules/xstrtoll-tests: New module.
37627         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
37628         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
37629         new init.sh-based test framework.
37630
37631 2010-01-24  Bruno Haible  <bruno@clisp.org>
37632
37633         Tests for module 'yn'.
37634         * modules/yn-tests: New file.
37635         * tests/test-yn.c: New file.
37636
37637         Tests for module 'y1'.
37638         * modules/y1-tests: New file.
37639         * tests/test-y1.c: New file.
37640
37641         Tests for module 'y0'.
37642         * modules/y0-tests: New file.
37643         * tests/test-y0.c: New file.
37644
37645         Tests for module 'tanh'.
37646         * modules/tanh-tests: New file.
37647         * tests/test-tanh.c: New file.
37648
37649         Tests for module 'tan'.
37650         * modules/tan-tests: New file.
37651         * tests/test-tan.c: New file.
37652
37653         Tests for module 'sqrt'.
37654         * modules/sqrt-tests: New file.
37655         * tests/test-sqrt.c: New file.
37656
37657         Tests for module 'sinh'.
37658         * modules/sinh-tests: New file.
37659         * tests/test-sinh.c: New file.
37660
37661         Tests for module 'sin'.
37662         * modules/sin-tests: New file.
37663         * tests/test-sin.c: New file.
37664
37665         Tests for module 'rint'.
37666         * modules/rint-tests: New file.
37667         * tests/test-rint.c: New file.
37668
37669         Tests for module 'remainder'.
37670         * modules/remainder-tests: New file.
37671         * tests/test-remainder.c: New file.
37672
37673         Tests for module 'pow'.
37674         * modules/pow-tests: New file.
37675         * tests/test-pow.c: New file.
37676
37677         Tests for module 'nextafter'.
37678         * modules/nextafter-tests: New file.
37679         * tests/test-nextafter.c: New file.
37680
37681         Tests for module 'modf'.
37682         * modules/modf-tests: New file.
37683         * tests/test-modf.c: New file.
37684
37685         Tests for module 'logb'.
37686         * modules/logb-tests: New file.
37687         * tests/test-logb.c: New file.
37688
37689         Tests for module 'log1p'.
37690         * modules/log1p-tests: New file.
37691         * tests/test-log1p.c: New file.
37692
37693         Tests for module 'log10'.
37694         * modules/log10-tests: New file.
37695         * tests/test-log10.c: New file.
37696
37697         Tests for module 'log'.
37698         * modules/log-tests: New file.
37699         * tests/test-log.c: New file.
37700
37701         Tests for module 'lgamma'.
37702         * modules/lgamma-tests: New file.
37703         * tests/test-lgamma.c: New file.
37704
37705         Tests for module 'ldexp'.
37706         * modules/ldexp-tests: New file.
37707         * tests/test-ldexp.c: New file.
37708
37709         Tests for module 'jn'.
37710         * modules/jn-tests: New file.
37711         * tests/test-jn.c: New file.
37712
37713         Tests for module 'j1'.
37714         * modules/j1-tests: New file.
37715         * tests/test-j1.c: New file.
37716
37717         Tests for module 'j0'.
37718         * modules/j0-tests: New file.
37719         * tests/test-j0.c: New file.
37720
37721         Tests for module 'hypot'.
37722         * modules/hypot-tests: New file.
37723         * tests/test-hypot.c: New file.
37724
37725         Tests for module 'fmod'.
37726         * modules/fmod-tests: New file.
37727         * tests/test-fmod.c: New file.
37728
37729         Tests for module 'fabs'.
37730         * modules/fabs-tests: New file.
37731         * tests/test-fabs.c: New file.
37732
37733         Tests for module 'exp'.
37734         * modules/exp-tests: New file.
37735         * tests/test-exp.c: New file.
37736
37737         Tests for module 'erfc'.
37738         * modules/erfc-tests: New file.
37739         * tests/test-erfc.c: New file.
37740
37741         Tests for module 'erf'.
37742         * modules/erf-tests: New file.
37743         * tests/test-erf.c: New file.
37744
37745         Tests for module 'cosh'.
37746         * modules/cosh-tests: New file.
37747         * tests/test-cosh.c: New file.
37748
37749         Tests for module 'cos'.
37750         * modules/cos-tests: New file.
37751         * tests/test-cos.c: New file.
37752
37753         Tests for module 'copysign'.
37754         * modules/copysign-tests: New file.
37755         * tests/test-copysign.c: New file.
37756
37757         Tests for module 'cbrt'.
37758         * modules/cbrt-tests: New file.
37759         * tests/test-cbrt.c: New file.
37760
37761         Tests for module 'atan2'.
37762         * modules/atan2-tests: New file.
37763         * tests/test-atan2.c: New file.
37764
37765         Tests for module 'atan'.
37766         * modules/atan-tests: New file.
37767         * tests/test-atan.c: New file.
37768
37769         Tests for module 'asin'.
37770         * modules/asin-tests: New file.
37771         * tests/test-asin.c: New file.
37772
37773         Tests for module 'acos'.
37774         * modules/acos-tests: New file.
37775         * tests/test-acos.c: New file.
37776
37777 2010-01-24  Bruno Haible  <bruno@clisp.org>
37778
37779         Fix tests for common <math.h> functions.
37780         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
37781         code snippet that references the function pointer, rather than merely
37782         calling the function. Substitute the FUNC_LIBM variable.
37783         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
37784         * modules/acos (configure.ac): Likewise.
37785         * modules/asin (configure.ac): Likewise.
37786         * modules/atan (configure.ac): Likewise.
37787         * modules/atan2 (configure.ac): Likewise.
37788         * modules/cbrt (configure.ac): Likewise.
37789         * modules/copysign (configure.ac): Likewise.
37790         * modules/cos (configure.ac): Likewise.
37791         * modules/cosh (configure.ac): Likewise.
37792         * modules/erf (configure.ac): Likewise.
37793         * modules/erfc (configure.ac): Likewise.
37794         * modules/exp (configure.ac): Likewise.
37795         * modules/fabs (configure.ac): Likewise.
37796         * modules/fmod (configure.ac): Likewise.
37797         * modules/hypot (configure.ac): Likewise.
37798         * modules/j0 (configure.ac): Likewise.
37799         * modules/j1 (configure.ac): Likewise.
37800         * modules/jn (configure.ac): Likewise.
37801         * modules/ldexp (configure.ac): Likewise.
37802         * modules/lgamma (configure.ac): Likewise.
37803         * modules/log (configure.ac): Likewise.
37804         * modules/log10 (configure.ac): Likewise.
37805         * modules/log1p (configure.ac): Likewise.
37806         * modules/logb (configure.ac): Likewise.
37807         * modules/modf (configure.ac): Likewise.
37808         * modules/nextafter (configure.ac): Likewise.
37809         * modules/pow (configure.ac): Likewise.
37810         * modules/remainder (configure.ac): Likewise.
37811         * modules/rint (configure.ac): Likewise.
37812         * modules/sin (configure.ac): Likewise.
37813         * modules/sinh (configure.ac): Likewise.
37814         * modules/tan (configure.ac): Likewise.
37815         * modules/tanh (configure.ac): Likewise.
37816         * modules/y0 (configure.ac): Likewise.
37817         * modules/y1 (configure.ac): Likewise.
37818         * modules/yn (configure.ac): Likewise.
37819
37820 2010-01-24  Bruno Haible  <bruno@clisp.org>
37821
37822         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
37823         * tests/test-acosl.c (x): New variable.
37824         (main): Store argument in x and fetch it from x.
37825         * tests/test-asinl.c (x): New variable.
37826         (main): Store argument in x and fetch it from x.
37827         * tests/test-atanl.c (x): New variable.
37828         (main): Store argument in x and fetch it from x.
37829         * tests/test-cosl.c (x): New variable.
37830         (main): Store argument in x and fetch it from x.
37831         * tests/test-expl.c (x): New variable.
37832         (main): Store argument in x and fetch it from x.
37833         * tests/test-logl.c (x): New variable.
37834         (main): Store argument in x and fetch it from x.
37835         * tests/test-sinl.c (x): New variable.
37836         (main): Store argument in x and fetch it from x.
37837         * tests/test-sqrtl.c (x): New variable.
37838         (main): Store argument in x and fetch it from x.
37839         * tests/test-tanl.c (x): New variable.
37840         (main): Store argument in x and fetch it from x.
37841
37842 2010-01-24  Bruno Haible  <bruno@clisp.org>
37843
37844         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
37845         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
37846         assignments to the initial TESTS_ENVIRONMENT.
37847         * doc/gnulib.texi (Unit test modules): Document it.
37848         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
37849         TESTS_ENVIRONMENT.
37850         * modules/btowc-tests (Makefile.am): Likewise.
37851         * modules/c-stack-tests (Makefile.am): Likewise.
37852         * modules/c-strcase-tests (Makefile.am): Likewise.
37853         * modules/copy-file-tests (Makefile.am): Likewise.
37854         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
37855         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
37856         * modules/mbrtowc-tests (Makefile.am): Likewise.
37857         * modules/mbscasecmp-tests (Makefile.am): Likewise.
37858         * modules/mbscasestr-tests (Makefile.am): Likewise.
37859         * modules/mbschr-tests (Makefile.am): Likewise.
37860         * modules/mbscspn-tests (Makefile.am): Likewise.
37861         * modules/mbsinit-tests (Makefile.am): Likewise.
37862         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
37863         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
37864         * modules/mbspbrk-tests (Makefile.am): Likewise.
37865         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
37866         * modules/mbsrchr-tests (Makefile.am): Likewise.
37867         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
37868         * modules/mbsspn-tests (Makefile.am): Likewise.
37869         * modules/mbsstr-tests (Makefile.am): Likewise.
37870         * modules/nl_langinfo-tests (Makefile.am): Likewise.
37871         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
37872         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
37873         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
37874         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
37875         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
37876         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
37877         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
37878         * modules/wcrtomb-tests (Makefile.am): Likewise.
37879         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
37880         * modules/wcsrtombs-tests (Makefile.am): Likewise.
37881         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
37882         assignments from TESTS_ENVIRONMENT.
37883         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
37884         augmentation.
37885         * modules/argp-version-etc-tests (Makefile.am): Likewise.
37886         * modules/atexit-tests (Makefile.am): Likewise.
37887         * modules/binary-io-tests (Makefile.am): Likewise.
37888         * modules/closein-tests (Makefile.am): Likewise.
37889         * modules/dprintf-posix-tests (Makefile.am): Likewise.
37890         * modules/exclude-tests (Makefile.am): Likewise.
37891         * modules/fflush-tests (Makefile.am): Likewise.
37892         * modules/fpending-tests (Makefile.am): Likewise.
37893         * modules/fprintf-posix-tests (Makefile.am): Likewise.
37894         * modules/freadahead-tests (Makefile.am): Likewise.
37895         * modules/freadptr-tests (Makefile.am): Likewise.
37896         * modules/freadseek-tests (Makefile.am): Likewise.
37897         * modules/fseek-tests (Makefile.am): Likewise.
37898         * modules/fseeko-tests (Makefile.am): Likewise.
37899         * modules/ftell-tests (Makefile.am): Likewise.
37900         * modules/ftello-tests (Makefile.am): Likewise.
37901         * modules/idpriv-drop-tests (Makefile.am): Likewise.
37902         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
37903         * modules/lseek-tests (Makefile.am): Likewise.
37904         * modules/parse-duration-tests (Makefile.am): Likewise.
37905         * modules/perror-tests (Makefile.am): Likewise.
37906         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
37907         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
37908         * modules/pipe-tests (Makefile.am): Likewise.
37909         * modules/pread-tests (Makefile.am): Likewise.
37910         * modules/printf-posix-tests (Makefile.am): Likewise.
37911         * modules/select-tests (Makefile.am): Likewise.
37912         * modules/sigpipe-tests (Makefile.am): Likewise.
37913         * modules/tsearch-tests (Makefile.am): Likewise.
37914         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
37915         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
37916         * modules/uniname/uniname-tests (Makefile.am): Likewise.
37917         * modules/uniwidth/width-tests (Makefile.am): Likewise.
37918         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
37919         * modules/version-etc-tests (Makefile.am): Likewise.
37920         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
37921         * modules/vprintf-posix-tests (Makefile.am): Likewise.
37922         * modules/xalloc-die-tests (Makefile.am): Likewise.
37923         * modules/xprintf-posix-tests (Makefile.am): Likewise.
37924         * modules/xstrtoimax-tests (Makefile.am): Likewise.
37925         * modules/xstrtol-tests (Makefile.am): Likewise.
37926         * modules/xstrtoumax-tests (Makefile.am): Likewise.
37927         * modules/yesno-tests (Makefile.am): Likewise.
37928         Suggested by Jim Meyering.
37929
37930 2010-01-24  Bruno Haible  <bruno@clisp.org>
37931
37932         More documentation.
37933         * doc/gnulib.texi (Writing modules): New chapter.
37934         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
37935         the new chapter.
37936
37937 2010-01-24  Jim Meyering  <meyering@redhat.com>
37938
37939         maint.mk: do not prepend "./" after filtering
37940         * top/maint.mk (_prepend_srcdir_prefix): New variable
37941         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
37942         "./" when $(srcdir) is ".".
37943
37944         define STREQ(a,b) consistently, removing useless parentheses
37945         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
37946         since the only risk is that "a" or "b" contains an unparenthesized
37947         comma, but if either did that, STREQ would have 3 or more arguments.
37948         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
37949         * lib/fts.c (STREQ): Remove unnecessary parentheses.
37950         * lib/hash-triple.c (STREQ): Likewise.
37951         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
37952         * lib/getugroups.c (STREQ): Likewise.
37953
37954 2010-01-23  Jim Meyering  <meyering@redhat.com>
37955
37956         maint.mk: fix syntax-check in a non-srcdir build directory
37957         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
37958         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
37959
37960 2010-01-22  Jim Meyering  <meyering@redhat.com>
37961
37962         userspec: add unit tests
37963         * tests/test-userspec.c: New file.
37964         * modules/userspec-tests: Likewise.
37965
37966 2010-01-21  Jim Meyering  <meyering@redhat.com>
37967
37968         maint.mk: handle source file names containing "." robustly
37969         * top/maint.mk (_dot_escaped_srcdir): Define.
37970         (VC_LIST): Use it in LHS of sed substitution.
37971
37972 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
37973
37974         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
37975         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
37976         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
37977         from a non-srcdir build.
37978
37979 2010-01-20  Eric Blake  <ebb9@byu.net>
37980
37981         warn-on-use: use instead of link-warning
37982         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
37983         * modules/unistd (Depends-on, Makefile.am): Likewise.
37984         * modules/arpa_inet (Depends-on): Replace link-warning with
37985         warn-on-use.
37986         (Makefile.am): Update rules accordingly.
37987         * modules/ctype (Depends-on, Makefile.am): Likewise.
37988         * modules/dirent (Depends-on, Makefile.am): Likewise.
37989         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
37990         * modules/inttypes (Depends-on, Makefile.am): Likewise.
37991         * modules/langinfo (Depends-on, Makefile.am): Likewise.
37992         * modules/locale (Depends-on, Makefile.am): Likewise.
37993         * modules/math (Depends-on, Makefile.am): Likewise.
37994         * modules/search (Depends-on, Makefile.am): Likewise.
37995         * modules/signal (Depends-on, Makefile.am): Likewise.
37996         * modules/spawn (Depends-on, Makefile.am): Likewise.
37997         * modules/stdlib (Depends-on, Makefile.am): Likewise.
37998         * modules/string (Depends-on, Makefile.am): Likewise.
37999         * modules/strings (Depends-on, Makefile.am): Likewise.
38000         * modules/sys_file (Depends-on, Makefile.am): Likewise.
38001         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
38002         * modules/sys_select (Depends-on, Makefile.am): Likewise.
38003         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
38004         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
38005         * modules/sys_times (Depends-on, Makefile.am): Likewise.
38006         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
38007         * modules/wchar (Depends-on, Makefile.am): Likewise.
38008         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
38009         should be poisoned.
38010         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
38011         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
38012         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
38013         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38014         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
38015         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
38016         * m4/math_h.m4 (gl_MATH_H): Likewise.
38017         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
38018         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
38019         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
38020         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
38021         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
38022         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
38023         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
38024         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
38025         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
38026         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38027         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
38028         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
38029         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
38030         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
38031         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
38032         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
38033         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
38034         GL_LINK_WARNING.
38035         * lib/ctype.in.h: Likewise.
38036         * lib/dirent.in.h: Likewise.
38037         * lib/fcntl.in.h: Likewise.
38038         * lib/inttypes.in.h: Likewise.
38039         * lib/langinfo.in.h: Likewise.
38040         * lib/locale.in.h: Likewise.
38041         * lib/math.in.h: Likewise.
38042         * lib/search.in.h: Likewise.
38043         * lib/signal.in.h: Likewise.
38044         * lib/spawn.in.h: Likewise.
38045         * lib/stdio.in.h: Likewise.
38046         * lib/stdlib.in.h: Likewise.
38047         * lib/string.in.h: Likewise.
38048         * lib/strings.in.h: Likewise.
38049         * lib/sys_file.in.h: Likewise.
38050         * lib/sys_ioctl.in.h: Likewise.
38051         * lib/sys_select.in.h: Likewise.
38052         * lib/sys_socket.in.h: Likewise.
38053         * lib/sys_stat.in.h: Likewise.
38054         * lib/sys_times.in.h: Likewise.
38055         * lib/sys_utsname.in.h: Likewise.
38056         * lib/unistd.in.h: Likewise.
38057         * lib/wchar.in.h: Likewise.
38058
38059 2010-01-20  Bruno Haible  <bruno@clisp.org>
38060
38061         Avoid duplicate -lm.
38062         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
38063         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
38064         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
38065         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
38066         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
38067         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
38068         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
38069         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
38070         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
38071         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
38072         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
38073         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
38074         Reported by Paolo Bonzini.
38075
38076 2010-01-19  Bruno Haible  <bruno@clisp.org>
38077
38078         langinfo, nl_langinfo: Relicense under LGPLv2+.
38079         * modules/langinfo (License): Change to LGPLv2+.
38080         * modules/nl_langinfo (License): Likewise.
38081         Patch by David Lutterkort <lutter@redhat.com>.
38082
38083 2010-01-19  Bruno Haible  <bruno@clisp.org>
38084
38085         Avoid compilation error with cc on OSF/1 5.1.
38086         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
38087         statement, not before.
38088         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38089
38090 2010-01-18  Bruno Haible  <bruno@clisp.org>
38091
38092         Avoid a link error due to the __printf__ symbol.
38093         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
38094         and 2.6.x.
38095         (__format__, __printf__): Remove definitions.
38096         * lib/argp-fmtstream.h: Likewise.
38097         * lib/argp.h: Likewise.
38098         * lib/error.h: Likewise.
38099         * lib/vasnprintf.h: Likewise.
38100         * lib/xprintf.h: Likewise.
38101         * lib/xvasprintf.h: Likewise.
38102         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38103
38104 2010-01-18  Bruno Haible  <bruno@clisp.org>
38105
38106         Tests for module 'tanl'.
38107         * modules/tanl-tests: New file.
38108         * tests/test-tanl.c: New file.
38109
38110         Tests for module 'sqrtl'.
38111         * modules/sqrtl-tests: New file.
38112         * tests/test-sqrtl.c: New file.
38113
38114         Tests for module 'sinl'.
38115         * modules/sinl-tests: New file.
38116         * tests/test-sinl.c: New file.
38117
38118         Tests for module 'logl'.
38119         * modules/logl-tests: New file.
38120         * tests/test-logl.c: New file.
38121
38122         Tests for module 'expl'.
38123         * modules/expl-tests: New file.
38124         * tests/test-expl.c: New file.
38125
38126         Tests for module 'cosl'.
38127         * modules/cosl-tests: New file.
38128         * tests/test-cosl.c: New file.
38129
38130         Tests for module 'atanl'.
38131         * modules/atanl-tests: New file.
38132         * tests/test-atanl.c: New file.
38133
38134         Tests for module 'asinl'.
38135         * modules/asinl-tests: New file.
38136         * tests/test-asinl.c: New file.
38137
38138         Tests for module 'acosl'.
38139         * modules/acosl-tests: New file.
38140         * tests/test-acosl.c: New file.
38141
38142         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
38143         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
38144         tanl): Use the standard gnulib idiom.
38145         * lib/cosl.c: Don't include trigl.c and sincosl.c.
38146         * lib/sinl.c: Likewise.
38147         * lib/tanl.c: Don't include trigl.c.
38148         (kernel_tanl): Make static.
38149         * lib/sincosl.c: Include trigl.h first.
38150         * lib/trigl.c: Likewise.
38151         * m4/acosl.m4: New file.
38152         * m4/asinl.m4: New file.
38153         * m4/atanl.m4: New file.
38154         * m4/cosl.m4: New file.
38155         * m4/expl.m4: New file.
38156         * m4/logl.m4: New file.
38157         * m4/sinl.m4: New file.
38158         * m4/sqrtl.m4: New file.
38159         * m4/tanl.m4: New file.
38160         * m4/mathl.m4: Remove file.
38161         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
38162         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
38163         Don't initialize GNULIB_MATHL.
38164         * modules/acosl: New file.
38165         * modules/asinl: New file.
38166         * modules/atanl: New file.
38167         * modules/cosl: New file.
38168         * modules/expl: New file.
38169         * modules/logl: New file.
38170         * modules/sinl: New file.
38171         * modules/sqrtl: New file.
38172         * modules/tanl: New file.
38173         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
38174         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
38175         substitute GNULIB_MATHL.
38176         * modules/mathl: Rewritten.
38177         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
38178         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
38179         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
38180         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
38181         * doc/posix-functions/expl.texi: Mention the 'expl' module.
38182         * doc/posix-functions/logl.texi: Mention the 'logl' module.
38183         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
38184         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
38185         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
38186
38187 2010-01-18  Bruno Haible  <bruno@clisp.org>
38188
38189         sqrt: Make gl_FUNC_SQRT requirable.
38190         * m4/sqrt.m4: New file.
38191         * modules/sqrt (Files): Add it.
38192         (configure.ac): Invoke gl_FUNC_SQRT.
38193
38194 2010-01-18  Bruno Haible  <bruno@clisp.org>
38195
38196         New modules for common <math.h> functions.
38197         * m4/mathfunc.m4: New file.
38198         * modules/acos: New file.
38199         * modules/asin: New file.
38200         * modules/atan: New file.
38201         * modules/atan2: New file.
38202         * modules/cbrt: New file.
38203         * modules/copysign: New file.
38204         * modules/cos: New file.
38205         * modules/cosh: New file.
38206         * modules/erf: New file.
38207         * modules/erfc: New file.
38208         * modules/exp: New file.
38209         * modules/fabs: New file.
38210         * modules/fmod: New file.
38211         * modules/hypot: New file.
38212         * modules/j0: New file.
38213         * modules/j1: New file.
38214         * modules/jn: New file.
38215         * modules/ldexp: New file.
38216         * modules/lgamma: New file.
38217         * modules/log: New file.
38218         * modules/log10: New file.
38219         * modules/log1p: New file.
38220         * modules/logb: New file.
38221         * modules/modf: New file.
38222         * modules/nextafter: New file.
38223         * modules/pow: New file.
38224         * modules/remainder: New file.
38225         * modules/rint: New file.
38226         * modules/sin: New file.
38227         * modules/sinh: New file.
38228         * modules/sqrt: New file.
38229         * modules/tan: New file.
38230         * modules/tanh: New file.
38231         * modules/y0: New file.
38232         * modules/y1: New file.
38233         * modules/yn: New file.
38234         * doc/posix-functions/acos.texi: Mention the 'acos' module.
38235         * doc/posix-functions/asin.texi: Mention the 'asin' module.
38236         * doc/posix-functions/atan.texi: Mention the 'atan' module.
38237         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
38238         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
38239         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
38240         * doc/posix-functions/cos.texi: Mention the 'cos' module.
38241         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
38242         * doc/posix-functions/erf.texi: Mention the 'erf' module.
38243         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
38244         * doc/posix-functions/exp.texi: Mention the 'exp' module.
38245         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
38246         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
38247         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
38248         * doc/posix-functions/j0.texi: Mention the 'j0' module.
38249         * doc/posix-functions/j1.texi: Mention the 'j1' module.
38250         * doc/posix-functions/jn.texi: Mention the 'jn' module.
38251         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
38252         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
38253         * doc/posix-functions/log.texi: Mention the 'log' module.
38254         * doc/posix-functions/log10.texi: Mention the 'log10' module.
38255         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
38256         * doc/posix-functions/logb.texi: Mention the 'logb' module.
38257         * doc/posix-functions/modf.texi: Mention the 'modf' module.
38258         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
38259         * doc/posix-functions/pow.texi: Mention the 'pow' module.
38260         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
38261         * doc/posix-functions/rint.texi: Mention the 'rint' module.
38262         * doc/posix-functions/sin.texi: Mention the 'sin' module.
38263         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
38264         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
38265         * doc/posix-functions/tan.texi: Mention the 'tan' module.
38266         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
38267         * doc/posix-functions/y0.texi: Mention the 'y0' module.
38268         * doc/posix-functions/y1.texi: Mention the 'y1' module.
38269         * doc/posix-functions/yn.texi: Mention the 'yn' module.
38270
38271 2010-01-18  Jim Meyering  <meyering@redhat.com>
38272
38273         ignore-value: relax license to LGPLv2+
38274         * modules/ignore-value (License): Relax to LGPLv2+.
38275
38276         getdate: don't leak when TZ contains two or more '"'s
38277         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
38278         double quote in TZ after the first one.
38279
38280         readtokens: do not leak internal token_lengths buffer
38281         * lib/readtokens.c (readtokens): Free the local, lengths,
38282         when the supplied "token_lengths" parameter is NULL.
38283
38284 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38285
38286         Fix a couple of missing LIBTHREAD link failures on AIX.
38287         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
38288         $(LIBTHREAD).
38289         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
38290
38291         Link test-poll against INET_PTON_LIB.
38292         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
38293         for inet_pton on Solaris 10.
38294
38295 2010-01-17  Bruno Haible  <bruno@clisp.org>
38296
38297         unistdio/*-sprintf: Fix typo in module description.
38298         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
38299         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
38300         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
38301         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
38302         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
38303         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
38304         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
38305         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38306
38307 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38308
38309         gnulib-tool: fix filelist for AIX, HP-UX ksh.
38310         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
38311         variables in shell case patterns, for AIX and HP-UX ksh.
38312
38313         Split large sed scripts, for HP-UX sed.
38314         * modules/stdio: Split sed scripts around 50 sed commands,
38315         to avoid HP-UX limit of 99 commands, in the near future.
38316         * modules/string: Likewise.
38317         * modules/unistd: Likewise.
38318
38319         gnulib-tool: avoid writing in the current directory.
38320         * gnulib-tool (func_emit_lib_Makefile_am)
38321         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
38322         not in the current directory, so concurrent gnulib-tool
38323         instances do not interfere.
38324
38325 2010-01-16  Jim Meyering  <meyering@redhat.com>
38326
38327         doc: update users.txt
38328         * users.txt: Add grep.
38329         (diffutils, gzip): Update URLs.
38330
38331 2010-01-12  Bruno Haible  <bruno@clisp.org>
38332
38333         posix_spawn: Avoid test failure on Cygwin.
38334         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
38335         characters.
38336         Reported by Simon Josefsson.
38337
38338 2010-01-12  Bruno Haible  <bruno@clisp.org>
38339
38340         * tests/test-cond.c (main): When skipping the test, show the reason.
38341
38342 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38343
38344         * lib/striconv.c (str_cd_iconv): Avoid if before free.
38345
38346 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38347
38348         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
38349         VC_LIST_ALWAYS_EXCLUDE_REGEX.
38350
38351 2010-01-12  Eric Blake  <ebb9@byu.net>
38352
38353         build: guarantee AS_VAR_IF
38354         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
38355         (gl_AS_VAR_IF): Move...
38356         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
38357         Reported by Simon Josefsson.
38358
38359 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38360
38361         * lib/stdio.in.h: Fix typo.
38362
38363 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38364
38365         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
38366         libgpg-error.
38367
38368 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38369
38370         * tests/test-xalloc-die.sh: Use $EXEEXT.
38371
38372 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38373             Bruno Haible  <bruno@clisp.org>
38374
38375         getlogin, getlogin_r: Avoid test failure.
38376         * tests/test-getlogin.c: Include <stdio.h>.
38377         (main): Skip the test when the function fails because stdin is not a
38378         tty.
38379         * tests/test-getlogin_r.c: Include <stdio.h>.
38380         (main): Skip the test when the function fails because stdin is not a
38381         tty.
38382
38383 2010-01-11  Eric Blake  <ebb9@byu.net>
38384
38385         tests: avoid more large file warnings
38386         * tests/test-fflush.c: Avoid warning about ftell use.
38387         * tests/test-fseek.c: Avoid warning about fseek use.
38388
38389 2010-01-10  Bruno Haible  <bruno@clisp.org>
38390
38391         nproc: Work better on Linux when /proc and /sys are not mounted.
38392         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
38393         as lower bound when, on glibc/Linux systems,
38394         sysconf (_SC_NPROCESSORS_CONF) returns 1.
38395         Suggested by Pádraig Brady <P@draigbrady.com>.
38396         Reported by Dmitry V. Levin <ldv@altlinux.org>.
38397
38398         nproc: Refactor.
38399         * lib/nproc.c (num_processors_via_affinity_mask): New function,
38400         extracted from num_processors.
38401         (num_processors): Call it.
38402
38403 2010-01-11  Jim Meyering  <meyering@redhat.com>
38404
38405         utimecmp: avoid new warning from upcoming gcc-4.5.0
38406         * lib/utimecmp.c (BILLION): Define using #define rather than an
38407         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
38408
38409 2010-01-11  Eric Blake  <ebb9@byu.net>
38410
38411         math: add portability warnings for classification macros
38412         * modules/math (Depends-on): Add warn-on-use.
38413         (Makefile.am): Provide new substitutions.
38414         * m4/math_h.m4 (gl_MATH_H): Require inline.
38415         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
38416         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
38417         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
38418         implement warnings.
38419
38420         unistd: warn on use of environ without module
38421         * modules/unistd (Depends-on): Add warn-on-use.
38422         (Makefile.am): Provide new substitutions.
38423         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
38424         * lib/unistd.in.h (environ): Wrap with a warning helper function.
38425
38426         stdio: warn on suspicious uses
38427         * modules/stdio (Depends-on): Add warn-on-use.
38428         (Makefile.am): Provide new substitutions.
38429         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
38430         fseeko.
38431         * lib/stdio.in.h (gets): Always warn on use.
38432         (fseek, ftell): Adjust when warnings are issued, and honor
38433         _GL_NO_LARGE_FILES as a way to silence the warning.
38434         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
38435         any warning about large file offsets.
38436         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
38437         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
38438         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
38439         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
38440         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
38441         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
38442         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
38443         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
38444
38445         warn-on-use: new module
38446         * modules/warn-on-use: New file.
38447         * build-aux/warn-on-use.h: Likewise.
38448         * m4/warn-on-use.m4: Likewise.
38449         * MODULES.html.sh (Support for building): Mention it.
38450
38451 2010-01-10  Bruno Haible  <bruno@clisp.org>
38452
38453         Tests for module 'unistr/u32-strdup'.
38454         * modules/unistr/u32-strdup-tests: New file.
38455         * tests/unistr/test-u32-strdup.c: New file.
38456
38457         Tests for module 'unistr/u16-strdup'.
38458         * modules/unistr/u16-strdup-tests: New file.
38459         * tests/unistr/test-u16-strdup.c: New file.
38460
38461         Tests for module 'unistr/u8-strdup'.
38462         * modules/unistr/u8-strdup-tests: New file.
38463         * tests/unistr/test-u8-strdup.c: New file.
38464         * tests/unistr/test-strdup.h: New file.
38465
38466         Tests for module 'unistr/u32-strncmp'.
38467         * modules/unistr/u32-strncmp-tests: New file.
38468         * tests/unistr/test-u32-strncmp.c: New file.
38469
38470         Tests for module 'unistr/u16-strncmp'.
38471         * modules/unistr/u16-strncmp-tests: New file.
38472         * tests/unistr/test-u16-strncmp.c: New file.
38473
38474         Tests for module 'unistr/u8-strncmp'.
38475         * modules/unistr/u8-strncmp-tests: New file.
38476         * tests/unistr/test-u8-strncmp.c: New file.
38477         * tests/unistr/test-strncmp.h: New file.
38478
38479         Tests for module 'unistr/u32-strcoll'.
38480         * modules/unistr/u32-strcoll-tests: New file.
38481         * tests/unistr/test-u32-strcoll.c: New file.
38482
38483         Tests for module 'unistr/u16-strcoll'.
38484         * modules/unistr/u16-strcoll-tests: New file.
38485         * tests/unistr/test-u16-strcoll.c: New file.
38486
38487         Tests for module 'unistr/u8-strcoll'.
38488         * modules/unistr/u8-strcoll-tests: New file.
38489         * tests/unistr/test-u8-strcoll.c: New file.
38490
38491         Tests for module 'unistr/u32-strcmp'.
38492         * modules/unistr/u32-strcmp-tests: New file.
38493         * tests/unistr/test-u32-strcmp.c: New file.
38494         * tests/unistr/test-u32-strcmp.h: New file.
38495
38496         Tests for module 'unistr/u16-strcmp'.
38497         * modules/unistr/u16-strcmp-tests: New file.
38498         * tests/unistr/test-u16-strcmp.c: New file.
38499         * tests/unistr/test-u16-strcmp.h: New file.
38500
38501         Tests for module 'unistr/u8-strcmp'.
38502         * modules/unistr/u8-strcmp-tests: New file.
38503         * tests/unistr/test-u8-strcmp.c: New file.
38504         * tests/unistr/test-u8-strcmp.h: New file.
38505         * tests/unistr/test-strcmp.h: New file.
38506
38507         Tests for module 'unistr/u32-strncat'.
38508         * modules/unistr/u32-strncat-tests: New file.
38509         * tests/unistr/test-u32-strncat.c: New file.
38510
38511         Tests for module 'unistr/u16-strncat'.
38512         * modules/unistr/u16-strncat-tests: New file.
38513         * tests/unistr/test-u16-strncat.c: New file.
38514
38515         Tests for module 'unistr/u8-strncat'.
38516         * modules/unistr/u8-strncat-tests: New file.
38517         * tests/unistr/test-u8-strncat.c: New file.
38518         * tests/unistr/test-strncat.h: New file.
38519
38520         Tests for module 'unistr/u32-strcat'.
38521         * modules/unistr/u32-strcat-tests: New file.
38522         * tests/unistr/test-u32-strcat.c: New file.
38523
38524         Tests for module 'unistr/u16-strcat'.
38525         * modules/unistr/u16-strcat-tests: New file.
38526         * tests/unistr/test-u16-strcat.c: New file.
38527
38528         Tests for module 'unistr/u8-strcat'.
38529         * modules/unistr/u8-strcat-tests: New file.
38530         * tests/unistr/test-u8-strcat.c: New file.
38531         * tests/unistr/test-strcat.h: New file.
38532
38533         Tests for module 'unistr/u32-stpncpy'.
38534         * modules/unistr/u32-stpncpy-tests: New file.
38535         * tests/unistr/test-u32-stpncpy.c: New file.
38536
38537         Tests for module 'unistr/u16-stpncpy'.
38538         * modules/unistr/u16-stpncpy-tests: New file.
38539         * tests/unistr/test-u16-stpncpy.c: New file.
38540
38541         Tests for module 'unistr/u8-stpncpy'.
38542         * modules/unistr/u8-stpncpy-tests: New file.
38543         * tests/unistr/test-u8-stpncpy.c: New file.
38544         * tests/unistr/test-stpncpy.h: New file.
38545
38546         Tests for module 'unistr/u32-strncpy'.
38547         * modules/unistr/u32-strncpy-tests: New file.
38548         * tests/unistr/test-u32-strncpy.c: New file.
38549
38550         Tests for module 'unistr/u16-strncpy'.
38551         * modules/unistr/u16-strncpy-tests: New file.
38552         * tests/unistr/test-u16-strncpy.c: New file.
38553
38554         Tests for module 'unistr/u8-strncpy'.
38555         * modules/unistr/u8-strncpy-tests: New file.
38556         * tests/unistr/test-u8-strncpy.c: New file.
38557         * tests/unistr/test-strncpy.h: New file.
38558
38559         Tests for module 'unistr/u32-stpcpy'.
38560         * modules/unistr/u32-stpcpy-tests: New file.
38561         * tests/unistr/test-u32-stpcpy.c: New file.
38562
38563         Tests for module 'unistr/u16-stpcpy'.
38564         * modules/unistr/u16-stpcpy-tests: New file.
38565         * tests/unistr/test-u16-stpcpy.c: New file.
38566
38567         Tests for module 'unistr/u8-stpcpy'.
38568         * modules/unistr/u8-stpcpy-tests: New file.
38569         * tests/unistr/test-u8-stpcpy.c: New file.
38570         * tests/unistr/test-stpcpy.h: New file.
38571
38572         Tests for module 'unistr/u32-strcpy'.
38573         * modules/unistr/u32-strcpy-tests: New file.
38574         * tests/unistr/test-u32-strcpy.c: New file.
38575
38576         Tests for module 'unistr/u16-strcpy'.
38577         * modules/unistr/u16-strcpy-tests: New file.
38578         * tests/unistr/test-u16-strcpy.c: New file.
38579
38580         Tests for module 'unistr/u8-strcpy'.
38581         * modules/unistr/u8-strcpy-tests: New file.
38582         * tests/unistr/test-u8-strcpy.c: New file.
38583         * tests/unistr/test-strcpy.h: New file.
38584
38585         Tests for module 'unistr/u32-strnlen'.
38586         * modules/unistr/u32-strnlen-tests: New file.
38587         * tests/unistr/test-u32-strnlen.c: New file.
38588
38589         Tests for module 'unistr/u16-strnlen'.
38590         * modules/unistr/u16-strnlen-tests: New file.
38591         * tests/unistr/test-u16-strnlen.c: New file.
38592
38593         Tests for module 'unistr/u8-strnlen'.
38594         * modules/unistr/u8-strnlen-tests: New file.
38595         * tests/unistr/test-u8-strnlen.c: New file.
38596         * tests/unistr/test-strnlen.h: New file.
38597
38598         Tests for module 'unistr/u32-strlen'.
38599         * modules/unistr/u32-strlen-tests: New file.
38600         * tests/unistr/test-u32-strlen.c: New file.
38601
38602         Tests for module 'unistr/u16-strlen'.
38603         * modules/unistr/u16-strlen-tests: New file.
38604         * tests/unistr/test-u16-strlen.c: New file.
38605
38606         Tests for module 'unistr/u8-strlen'.
38607         * modules/unistr/u8-strlen-tests: New file.
38608         * tests/unistr/test-u8-strlen.c: New file.
38609
38610         Tests for module 'unistr/u32-prev'.
38611         * modules/unistr/u32-prev-tests: New file.
38612         * tests/unistr/test-u32-prev.c: New file.
38613
38614         Tests for module 'unistr/u16-prev'.
38615         * modules/unistr/u16-prev-tests: New file.
38616         * tests/unistr/test-u16-prev.c: New file.
38617
38618         Tests for module 'unistr/u8-prev'.
38619         * modules/unistr/u8-prev-tests: New file.
38620         * tests/unistr/test-u8-prev.c: New file.
38621
38622         Tests for module 'unistr/u32-next'.
38623         * modules/unistr/u32-next-tests: New file.
38624         * tests/unistr/test-u32-next.c: New file.
38625
38626         Tests for module 'unistr/u16-next'.
38627         * modules/unistr/u16-next-tests: New file.
38628         * tests/unistr/test-u16-next.c: New file.
38629
38630         Tests for module 'unistr/u8-next'.
38631         * modules/unistr/u8-next-tests: New file.
38632         * tests/unistr/test-u8-next.c: New file.
38633
38634         Tests for module 'unistr/u32-strmbtouc'.
38635         * modules/unistr/u32-strmbtouc-tests: New file.
38636         * tests/unistr/test-u32-strmbtouc.c: New file.
38637
38638         Tests for module 'unistr/u16-strmbtouc'.
38639         * modules/unistr/u16-strmbtouc-tests: New file.
38640         * tests/unistr/test-u16-strmbtouc.c: New file.
38641
38642         Tests for module 'unistr/u8-strmbtouc'.
38643         * modules/unistr/u8-strmbtouc-tests: New file.
38644         * tests/unistr/test-u8-strmbtouc.c: New file.
38645
38646         Tests for module 'unistr/u32-strmblen'.
38647         * modules/unistr/u32-strmblen-tests: New file.
38648         * tests/unistr/test-u32-strmblen.c: New file.
38649
38650         Tests for module 'unistr/u16-strmblen'.
38651         * modules/unistr/u16-strmblen-tests: New file.
38652         * tests/unistr/test-u16-strmblen.c: New file.
38653
38654         Tests for module 'unistr/u8-strmblen'.
38655         * modules/unistr/u8-strmblen-tests: New file.
38656         * tests/unistr/test-u8-strmblen.c: New file.
38657
38658         Tests for module 'unistr/u32-cpy-alloc'.
38659         * modules/unistr/u32-cpy-alloc-tests: New file.
38660         * tests/unistr/test-u32-cpy-alloc.c: New file.
38661
38662         Tests for module 'unistr/u16-cpy-alloc'.
38663         * modules/unistr/u16-cpy-alloc-tests: New file.
38664         * tests/unistr/test-u16-cpy-alloc.c: New file.
38665
38666         Tests for module 'unistr/u8-cpy-alloc'.
38667         * modules/unistr/u8-cpy-alloc-tests: New file.
38668         * tests/unistr/test-u8-cpy-alloc.c: New file.
38669         * tests/unistr/test-cpy-alloc.h: New file.
38670
38671         Tests for module 'unistr/u32-mbsnlen'.
38672         * modules/unistr/u32-mbsnlen-tests: New file.
38673         * tests/unistr/test-u32-mbsnlen.c: New file.
38674
38675         Tests for module 'unistr/u16-mbsnlen'.
38676         * modules/unistr/u16-mbsnlen-tests: New file.
38677         * tests/unistr/test-u16-mbsnlen.c: New file.
38678
38679         Tests for module 'unistr/u8-mbsnlen'.
38680         * modules/unistr/u8-mbsnlen-tests: New file.
38681         * tests/unistr/test-u8-mbsnlen.c: New file.
38682
38683         Tests for module 'unistr/u32-chr'.
38684         * modules/unistr/u32-chr-tests: New file.
38685         * tests/unistr/test-u32-chr.c: New file.
38686
38687         Tests for module 'unistr/u16-chr'.
38688         * modules/unistr/u16-chr-tests: New file.
38689         * tests/unistr/test-u16-chr.c: New file.
38690
38691         Tests for module 'unistr/u8-chr'.
38692         * modules/unistr/u8-chr-tests: New file.
38693         * tests/unistr/test-u8-chr.c: New file.
38694         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
38695
38696         Tests for module 'unistr/u32-cmp2'.
38697         * modules/unistr/u32-cmp2-tests: New file.
38698         * tests/unistr/test-u32-cmp2.c: New file.
38699
38700         Tests for module 'unistr/u16-cmp2'.
38701         * modules/unistr/u16-cmp2-tests: New file.
38702         * tests/unistr/test-u16-cmp2.c: New file.
38703
38704         Tests for module 'unistr/u8-cmp2'.
38705         * modules/unistr/u8-cmp2-tests: New file.
38706         * tests/unistr/test-u8-cmp2.c: New file.
38707         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
38708
38709         Tests for module 'unistr/u32-cmp'.
38710         * modules/unistr/u32-cmp-tests: New file.
38711         * tests/unistr/test-u32-cmp.c: New file.
38712
38713         Tests for module 'unistr/u16-cmp'.
38714         * modules/unistr/u16-cmp-tests: New file.
38715         * tests/unistr/test-u16-cmp.c: New file.
38716
38717         Tests for module 'unistr/u8-cmp'.
38718         * modules/unistr/u8-cmp-tests: New file.
38719         * tests/unistr/test-u8-cmp.c: New file.
38720         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
38721
38722         Tests for module 'unistr/u32-set'.
38723         * modules/unistr/u32-set-tests: New file.
38724         * tests/unistr/test-u32-set.c: New file.
38725
38726         Tests for module 'unistr/u16-set'.
38727         * modules/unistr/u16-set-tests: New file.
38728         * tests/unistr/test-u16-set.c: New file.
38729
38730         Tests for module 'unistr/u8-set'.
38731         * modules/unistr/u8-set-tests: New file.
38732         * tests/unistr/test-u8-set.c: New file.
38733         * tests/unistr/test-set.h: New file.
38734
38735         Tests for module 'unistr/u32-move'.
38736         * modules/unistr/u32-move-tests: New file.
38737         * tests/unistr/test-u32-move.c: New file.
38738
38739         Tests for module 'unistr/u16-move'.
38740         * modules/unistr/u16-move-tests: New file.
38741         * tests/unistr/test-u16-move.c: New file.
38742
38743         Tests for module 'unistr/u8-move'.
38744         * modules/unistr/u8-move-tests: New file.
38745         * tests/unistr/test-u8-move.c: New file.
38746         * tests/unistr/test-move.h: New file.
38747
38748         Tests for module 'unistr/u32-cpy'.
38749         * modules/unistr/u32-cpy-tests: New file.
38750         * tests/unistr/test-u32-cpy.c: New file.
38751
38752         Tests for module 'unistr/u16-cpy'.
38753         * modules/unistr/u16-cpy-tests: New file.
38754         * tests/unistr/test-u16-cpy.c: New file.
38755
38756         Tests for module 'unistr/u8-cpy'.
38757         * modules/unistr/u8-cpy-tests: New file.
38758         * tests/unistr/test-u8-cpy.c: New file.
38759         * tests/unistr/test-cpy.h: New file.
38760
38761 2010-01-09  Bruno Haible  <bruno@clisp.org>
38762
38763         Tests for module 'unistr/u32-uctomb'.
38764         * modules/unistr/u32-uctomb-tests: New file.
38765         * tests/unistr/test-u32-uctomb.c: New file.
38766
38767         Tests for module 'unistr/u16-uctomb'.
38768         * modules/unistr/u16-uctomb-tests: New file.
38769         * tests/unistr/test-u16-uctomb.c: New file.
38770
38771         Tests for module 'unistr/u8-uctomb'.
38772         * modules/unistr/u8-uctomb-tests: New file.
38773         * tests/unistr/test-u8-uctomb.c: New file.
38774
38775         Tests for module 'unistr/u32-mbtoucr'.
38776         * modules/unistr/u32-mbtoucr-tests: New file.
38777         * tests/unistr/test-u32-mbtoucr.c: New file.
38778
38779         Tests for module 'unistr/u16-mbtoucr'.
38780         * modules/unistr/u16-mbtoucr-tests: New file.
38781         * tests/unistr/test-u16-mbtoucr.c: New file.
38782
38783         Tests for module 'unistr/u8-mbtoucr'.
38784         * modules/unistr/u8-mbtoucr-tests: New file.
38785         * tests/unistr/test-u8-mbtoucr.c: New file.
38786
38787         Tests for module 'unistr/u32-mbtouc'.
38788         * modules/unistr/u32-mbtouc-tests: New file.
38789         * tests/unistr/test-u32-mbtouc.c: New file.
38790
38791         Tests for module 'unistr/u16-mbtouc'.
38792         * modules/unistr/u16-mbtouc-tests: New file.
38793         * tests/unistr/test-u16-mbtouc.c: New file.
38794
38795         Tests for module 'unistr/u8-mbtouc'.
38796         * modules/unistr/u8-mbtouc-tests: New file.
38797         * tests/unistr/test-u8-mbtouc.c: New file.
38798
38799         Tests for module 'unistr/u32-mbtouc-unsafe'.
38800         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
38801         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
38802         * tests/unistr/test-u32-mbtouc.h: New file.
38803
38804         Tests for module 'unistr/u16-mbtouc-unsafe'.
38805         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
38806         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
38807         * tests/unistr/test-u16-mbtouc.h: New file.
38808
38809         Tests for module 'unistr/u8-mbtouc-unsafe'.
38810         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
38811         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
38812         * tests/unistr/test-u8-mbtouc.h: New file.
38813
38814         Tests for module 'unistr/u32-mblen'.
38815         * modules/unistr/u32-mblen-tests: New file.
38816         * tests/unistr/test-u32-mblen.c: New file.
38817
38818         Tests for module 'unistr/u16-mblen'.
38819         * modules/unistr/u16-mblen-tests: New file.
38820         * tests/unistr/test-u16-mblen.c: New file.
38821
38822         Tests for module 'unistr/u8-mblen'.
38823         * modules/unistr/u8-mblen-tests: New file.
38824         * tests/unistr/test-u8-mblen.c: New file.
38825
38826         Tests for module 'unistr/u32-to-u16'.
38827         * modules/unistr/u32-to-u16-tests: New file.
38828         * tests/unistr/test-u32-to-u16.c: New file.
38829
38830         Tests for module 'unistr/u32-to-u8'.
38831         * modules/unistr/u32-to-u8-tests: New file.
38832         * tests/unistr/test-u32-to-u8.c: New file.
38833
38834         Tests for module 'unistr/u16-to-u32'.
38835         * modules/unistr/u16-to-u32-tests: New file.
38836         * tests/unistr/test-u16-to-u32.c: New file.
38837
38838         Tests for module 'unistr/u16-to-u8'.
38839         * modules/unistr/u16-to-u8-tests: New file.
38840         * tests/unistr/test-u16-to-u8.c: New file.
38841
38842         Tests for module 'unistr/u8-to-u32'.
38843         * modules/unistr/u8-to-u32-tests: New file.
38844         * tests/unistr/test-u8-to-u32.c: New file.
38845
38846         Tests for module 'unistr/u8-to-u16'.
38847         * modules/unistr/u8-to-u16-tests: New file.
38848         * tests/unistr/test-u8-to-u16.c: New file.
38849
38850         Tests for module 'unistr/u32-check'.
38851         * modules/unistr/u32-check-tests: New file.
38852         * tests/unistr/test-u32-check.c: New file.
38853
38854         Tests for module 'unistr/u16-check'.
38855         * modules/unistr/u16-check-tests: New file.
38856         * tests/unistr/test-u16-check.c: New file.
38857
38858         Tests for module 'unistr/u8-check'.
38859         * modules/unistr/u8-check-tests: New file.
38860         * tests/unistr/test-u8-check.c: New file.
38861
38862         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
38863         (category_equals): New function.
38864         (main): Add more tests.
38865         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
38866
38867         * tests/unictype/test-bidi_byname.c (main): Add more tests.
38868
38869 2010-01-10  Bruno Haible  <bruno@clisp.org>
38870
38871         unistr/u*-strcoll: Try harder to distinguish different strings.
38872         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
38873         compare s1 and s2 to see if they are different.
38874
38875 2010-01-10  Bruno Haible  <bruno@clisp.org>
38876
38877         unistr/u*-stpncpy: Fix the return value.
38878         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
38879         description of the return value consistent with stpncpy in glibc.
38880         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
38881         written non-NUL unit.
38882
38883 2010-01-10  Bruno Haible  <bruno@clisp.org>
38884
38885         unistr/u*-next: Add missing dependencies.
38886         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
38887         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
38888         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
38889
38890 2010-01-10  Bruno Haible  <bruno@clisp.org>
38891
38892         unistr/u8-mbsnlen: Fix return value for incomplete character.
38893         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
38894         u8_mblen.
38895         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
38896         Remove unistr/u8-mblen.
38897         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
38898         u16_mblen.
38899         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
38900         Remove unistr/u16-mblen.
38901
38902 2010-01-10  Bruno Haible  <bruno@clisp.org>
38903
38904         wchar: Fix compilation error when <wchar.h> is used from coreutils.
38905         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
38906         Reported by Brian Gough <bjg@gnu.org> and
38907         Chris Clayton <chris2553@googlemail.com> via
38908         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
38909
38910 2010-01-09  Bruno Haible  <bruno@clisp.org>
38911
38912         unistr/u16-to-u32: Reject invalid input.
38913         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
38914         u16_mbtouc.
38915         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
38916         Remove unistr/u16-mbtouc.
38917
38918         unistr/u16-to-u8: Reject invalid input.
38919         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
38920         u16_mbtouc.
38921         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
38922         Remove unistr/u16-mbtouc.
38923
38924         unistr/u8-to-u32: Reject invalid input.
38925         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
38926         u8_mbtouc.
38927         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
38928         Remove unistr/u8-mbtouc.
38929
38930         unistr/u8-to-u16: Reject invalid input.
38931         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
38932         u8_mbtouc.
38933         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
38934         Remove unistr/u8-mbtouc.
38935
38936 2010-01-09  Bruno Haible  <bruno@clisp.org>
38937
38938         Tests for module 'getlogin'.
38939         * modules/getlogin-tests: New file.
38940         * tests/test-getlogin.c: New file.
38941
38942         New module 'getlogin'.
38943         * lib/unistd.in.h (getlogin): New declaration.
38944         * lib/getlogin.c: New file.
38945         * m4/getlogin.m4: New file.
38946         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
38947         HAVE_GETLOGIN.
38948         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
38949         HAVE_GETLOGIN.
38950         * modules/getlogin: New file.
38951         * doc/posix-functions/getlogin.texi: Mention the new module.
38952         Reported by John W. Eaton <jwe@gnu.org>.
38953
38954 2010-01-09  Bruno Haible  <bruno@clisp.org>
38955
38956         getlogin_r: Support for native Windows.
38957         * lib/getlogin_r.c: Include <windows.h>
38958         (getlogin_r): Implement for native Windows.
38959         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
38960         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
38961         via John W. Eaton <jwe@gnu.org>.
38962
38963 2010-01-09  Bruno Haible  <bruno@clisp.org>
38964
38965         getlogin_r: Small fixes.
38966         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
38967         succeeds.
38968         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
38969         before testing whether getlogin_r is declared. No need to set
38970         HAVE_DECL_GETLOGIN_R to 1.
38971         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
38972
38973 2010-01-09  Bruno Haible  <bruno@clisp.org>
38974
38975         * lib/unistd.in.h (getlogin_r): Add comment.
38976
38977 2010-01-09  Bruno Haible  <bruno@clisp.org>
38978
38979         Tests for module 'getlogin_r'.
38980         * modules/getlogin_r-tests: New file.
38981         * tests/test-getlogin_r.c: New file.
38982
38983 2010-01-09  Jim Meyering  <meyering@redhat.com>
38984
38985         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
38986         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
38987         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
38988
38989 2010-01-08  Simon Josefsson  <simon@josefsson.org>
38990
38991         * lib/dup2.c (rpl_dup2): Improve comment.
38992
38993 2010-01-08  Eric Blake  <ebb9@byu.net>
38994
38995         maint.mk: allow packages to add makefile @@ exceptions
38996         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
38997         (sc_makefile_check): Rename...
38998         (sc_makefile_at_at_check): ...to this, and use hook.
38999
39000         dup2: work around mingw bug
39001         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
39002         Reported by Simon Josefsson.
39003
39004 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
39005
39006         glob: Fix C++ compilation.
39007         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
39008         C++.
39009
39010 2010-01-07  Bruno Haible  <bruno@clisp.org>
39011
39012         Fix indentation of wctype.in.h, broken since 2007-01-06.
39013         * lib/wctype.in.h: Fix indentation of preprocessor directives.
39014
39015 2010-01-07  Bruno Haible  <bruno@clisp.org>
39016
39017         mbslen: Avoid collision with system function.
39018         * lib/string.in.h [MirBSD]: Include <wchar.h>.
39019         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
39020         * m4/mbslen.m4: New file.
39021         * modules/mbslen (Files): Add it.
39022         (configure.ac): Invoke gl_MBSLEN.
39023         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
39024         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
39025         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
39026         via Ian Beckwith <ianb@erislabs.net>.
39027
39028 2010-01-07  Bruno Haible  <bruno@clisp.org>
39029
39030         dirent: Document the last fix.
39031         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
39032
39033 2010-01-07  Bruno Haible  <bruno@clisp.org>
39034
39035         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
39036         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
39037         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
39038         va_list are defined.
39039         * doc/posix-headers/stdio.texi: Document the bug of missing types.
39040         Reported by Eric Blake.
39041
39042 2010-01-07  Bruno Haible  <bruno@clisp.org>
39043
39044         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
39045         * modules/xlist (Depends-on): Add 'list',
39046         * modules/xoset (Depends-on): Add 'oset'.
39047         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39048
39049 2010-01-07  Bruno Haible  <bruno@clisp.org>
39050
39051         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
39052         * doc/posix-functions/strncasecmp.texi: Likewise.
39053
39054 2010-01-07  Bruno Haible  <bruno@clisp.org>
39055
39056         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
39057
39058 2010-01-07  John W. Eaton  <jwe@octave.org>
39059
39060         wctype: allow C++ use
39061         * lib/wctype.in.h: Add extern "C" block for C++.
39062
39063 2010-01-06  Eric Blake  <ebb9@byu.net>
39064
39065         maint.mk: detect incorrect GFDL usage
39066         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
39067
39068 2010-01-06  Jim Meyering  <meyering@redhat.com>
39069         and Eric Blake  <ebb9@byu.net>
39070
39071         maint.mk: ignore multi-line copyright in NEWS
39072         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
39073
39074 2010-01-06  Eric Blake  <ebb9@byu.net>
39075
39076         select: add missing dependency
39077         * modules/select-tests (Depends-on): Move sockets dependency...
39078         * modules/select (Depends-on): ...here.
39079         Reported by Ian Beckwith.
39080
39081         doc: regenerate INSTALL
39082         * doc/INSTALL: Reflect recent autoconf update.
39083         * doc/INSTALL.ISO: Likewise.
39084         * doc/INSTALL.UTF-8: Likewise.
39085
39086         pread: fix compilation on glibc
39087         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
39088         Reported by Ralf Wildenhues.
39089
39090         dirent: fix test failure
39091         * lib/dirent.in.h (includes): Guarantee ino_t.
39092         Reported by Ralf Wildenhues.
39093
39094 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
39095
39096         linkat, renameat: avoid bad free
39097         * lib/at-func2.c (at_func2): Fix typo.
39098         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
39099
39100 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39101
39102         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
39103         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
39104         to avoid failure of symlink test later.
39105
39106 2010-01-06  Eric Blake  <ebb9@byu.net>
39107
39108         stdio, unistd: guarantee ssize_t
39109         * lib/unistd.in.h (includes): Ensure that types required by POSIX
39110         2008 are exposed when needed.
39111         * lib/stdio.in.h (includes): Likewise.
39112         Reported by Ralf Wildenhues.
39113
39114 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
39115
39116         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
39117         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
39118         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
39119
39120 2010-01-06  Jim Meyering  <meyering@redhat.com>
39121
39122         readtokens: this module *does* require xalloc.h
39123         It uses only functions that were omitted by the old syntax-check rule.
39124         * lib/readtokens.c: Include "xalloc.h" once again.
39125         * modules/readtokens (Depends-on): Add xalloc.
39126         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
39127
39128 2010-01-05  Eric Blake  <ebb9@byu.net>
39129
39130         maint: support 'make announcement' from a VPATH build
39131         * top/maint.mk (announcement): Look for correct NEWS file.
39132
39133 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
39134
39135         utimens (fdutimens): ignore a negative FD, per contract
39136         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
39137         when we have a valid file descriptor.  Otherwise, using a brand
39138         new glibc (with just-patched futimens that now fails with EBADF)
39139         would cause this function to fail with ENOSYS.
39140         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
39141         See also http://bugzilla.redhat.com/552320.
39142
39143 2010-01-05  Eric Blake  <ebb9@byu.net>
39144
39145         strcase: document what it provides
39146         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
39147         gnulib module.
39148         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
39149         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
39150
39151 2010-01-05  Jim Meyering  <meyering@redhat.com>
39152
39153         maint: remove useless inclusions of "xalloc.h"
39154         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
39155         * lib/readtokens.c: Likewise.
39156         * lib/same.c: Likewise.
39157         * modules/getloadavg (Depends-on): Remove xalloc.
39158         * modules/readtokens: Likewise.
39159         * modules/same: Likewise.
39160
39161         maint.mk: include 4 more function names in alloca.h-checking regexp
39162         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
39163         regexp.  Before, we would give a false-positive (saying alloca.h
39164         is included unnecessarily) when the only uses involved omitted symbols.
39165
39166         xalloc.h: use consistent formatting
39167         * lib/xalloc.h: Move declarations to start in the first column.
39168
39169 2010-01-05  Eric Blake  <ebb9@byu.net>
39170
39171         mkdir: avoid xalloc
39172         * lib/mkdir.c (includes): Drop unused header.
39173         Reported by John W. Eaton.
39174
39175 2010-01-04  Jim Meyering  <meyering@redhat.com>
39176
39177         nl_langinfo: avoid configure-time syntax error
39178         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
39179         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
39180         the empty string.  Don't let that provoke a shell syntax error.
39181
39182         regcomp, regexec, fnmatch: avoid array bounds read error
39183         * lib/regcomp.c (build_equiv_class): From glibc:
39184         Use only the low 24 bits of a findidx return value as an index
39185         into the weights array.  Patch by Ulrich Drepper:
39186         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
39187         * lib/regexec.c (check_node_accept_bytes): Likewise.
39188         * lib/fnmatch_loop.c (FCT): Likewise.
39189
39190         regcomp: skip collseq lookup when there are no rules
39191         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
39192         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
39193
39194         regcomp: recognize ill-formed { } expressions
39195         * lib/regcomp.c (parse_dup_op): From glibc:
39196         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
39197
39198         regcomp: fix typo in comment
39199         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
39200         s/satisfy/satisfies/.
39201
39202         regcomp: sync from glibc: remove dead store
39203         * lib/regcomp.c (duplicate_node_closure): Remove useless
39204         search_duplicated_node call and dead store.
39205
39206         regcomp: sync from glibc; always use nl_langinfo
39207         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
39208         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
39209         * modules/regex (Depends-on): Add nl_langinfo.
39210
39211 2010-01-04  Eric Blake  <ebb9@byu.net>
39212
39213         fdopendir: fix configure test
39214         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
39215
39216 2010-01-01  Bruno Haible  <bruno@clisp.org>
39217
39218         wchar: Remove unused configure check.
39219         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
39220
39221 2010-01-01  Eric Blake  <ebb9@byu.net>
39222
39223         headers: make check of system header explicit
39224         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
39225         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
39226         ourselves.
39227         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
39228         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39229         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
39230         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
39231         internals.
39232         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
39233         missing.
39234         Suggested by Bruno Haible.
39235
39236 2010-01-01  Jim Meyering  <meyering@redhat.com>
39237
39238         ChangeLog: tweak to eliminate unnecessary copyright line
39239         * ChangeLog: Remove a copyright line that was mistakenly updated
39240         by today's update-copyright run.  Reported by Eric Blake.
39241
39242         test-update-copyright: don't let envvar setting cause test failure
39243         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39244
39245 2010-01-01  Bruno Haible  <bruno@clisp.org>
39246
39247         localename: Avoid gcc warning.
39248         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
39249         function if it is not used.
39250
39251 2010-01-01  Jim Meyering  <meyering@redhat.com>
39252
39253         update nearly all FSF copyright year lists to include 2010
39254         Use the same procedure as for 2009, outlined in
39255         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
39256
39257         version-etc: set COPYRIGHT_YEAR to 2010
39258         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
39259
39260 2009-12-31  Eric Blake  <ebb9@byu.net>
39261
39262         doc: correct availability of cygwin 1.5.x getopt
39263         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
39264         variables.
39265         * doc/posix-functions/opterr.texi (opterr): Likewise.
39266         * doc/posix-functions/optind.texi (optind): Likewise.
39267         * doc/posix-functions/optopt.texi (optopt): Likewise.
39268         * doc/posix-functions/tzname.texi (tzname): Likewise.
39269
39270         openat: update maintainer
39271         * modules/openat (Maintainer): Add myself.
39272
39273         utimens: avoid shadowing warning
39274         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
39275         buffers into one, to avoid shadowing, as well as avoiding a
39276         redundant stat.
39277         Reported by Jim Meyering.
39278
39279         test-dup2: avoid compiler warning
39280         * tests/test-dup2.c (is_inheritable): Only define if used.
39281
39282 2010-01-01  Bruno Haible  <bruno@clisp.org>
39283
39284         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
39285         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
39286         defined, use wctomb instead of wcrtomb.
39287
39288 2010-01-01  Bruno Haible  <bruno@clisp.org>
39289
39290         iconv: Reject native Solaris iconv.
39291         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
39292         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
39293
39294 2009-12-31  Bruno Haible  <bruno@clisp.org>
39295
39296         * tests/test-signal.c (main): Remove test of 'SIG'.
39297
39298 2009-12-31  Bruno Haible  <bruno@clisp.org>
39299
39300         spawn: Fix incomplete fix.
39301         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39302         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39303         warnings for GNULIB_POSIXCHECK again.
39304         Reported by Eric Blake.
39305
39306 2009-12-31  Bruno Haible  <bruno@clisp.org>
39307
39308         Avoid namespace pollution on glibc systems.
39309         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
39310         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
39311         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
39312         glibc systems.
39313
39314 2009-12-31  Bruno Haible  <bruno@clisp.org>
39315
39316         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
39317         (gl_REPLACE_WCHAR_H): Turn into a no-op.
39318         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
39319         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
39320         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
39321         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
39322         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
39323
39324 2009-12-31  Bruno Haible  <bruno@clisp.org>
39325
39326         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
39327         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
39328         afterwards.
39329
39330 2009-12-31  Bruno Haible  <bruno@clisp.org>
39331
39332         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
39333         SYS_UTSNAME_H.
39334
39335 2009-12-31  Bruno Haible  <bruno@clisp.org>
39336
39337         spawn: Fix misapplied patch.
39338         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39339         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39340         warnings for GNULIB_POSIXCHECK.
39341
39342 2009-12-31  Bruno Haible  <bruno@clisp.org>
39343
39344         times: Update after sys_times changed.
39345         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
39346         * modules/times (Files): Add it.
39347         (configure.ac): Invoke gl_FUNC_TIMES.
39348
39349 2009-12-31  Bruno Haible  <bruno@clisp.org>
39350
39351         Use AC_C_INLINE where necessary.
39352         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
39353         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39354         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
39355         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
39356         * m4/mbfile.m4 (gl_MBFILE): Likewise.
39357         * m4/mbiter.m4 (gl_MBITER): Likewise.
39358         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
39359         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39360         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
39361         * modules/u64 (configure.ac): Likewise.
39362
39363 2009-12-31  Bruno Haible  <bruno@clisp.org>
39364
39365         Use AC_C_INLINE instead of module 'inline' where possible.
39366         * modules/inline (Description): Clarify purpose.
39367         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
39368         * modules/count-one-bits (Depends-on): Remove inline.
39369         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
39370         * modules/openat (Depends-on): Remove inline.
39371         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
39372         instead of depending on module 'inline'.
39373         * modules/filevercmp (Depends-on, configure.ac): Likewise.
39374         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
39375         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
39376         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
39377         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
39378         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
39379         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
39380         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
39381         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
39382         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
39383         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
39384         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
39385         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
39386         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
39387         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
39388         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
39389         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
39390         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
39391         Likewise.
39392         * modules/unictype/property-ascii-hex-digit (Depends-on,
39393         configure.ac): Likewise.
39394         * modules/unictype/property-bidi-arabic-digit (Depends-on,
39395         configure.ac): Likewise.
39396         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
39397         configure.ac): Likewise.
39398         * modules/unictype/property-bidi-block-separator (Depends-on,
39399         configure.ac): Likewise.
39400         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
39401         configure.ac): Likewise.
39402         * modules/unictype/property-bidi-common-separator (Depends-on,
39403         configure.ac): Likewise.
39404         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
39405         Likewise.
39406         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
39407         configure.ac): Likewise.
39408         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
39409         configure.ac): Likewise.
39410         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
39411         configure.ac): Likewise.
39412         * modules/unictype/property-bidi-european-digit (Depends-on,
39413         configure.ac): Likewise.
39414         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
39415         configure.ac): Likewise.
39416         * modules/unictype/property-bidi-left-to-right (Depends-on,
39417         configure.ac): Likewise.
39418         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
39419         configure.ac): Likewise.
39420         * modules/unictype/property-bidi-other-neutral (Depends-on,
39421         configure.ac): Likewise.
39422         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
39423         Likewise.
39424         * modules/unictype/property-bidi-segment-separator (Depends-on,
39425         configure.ac): Likewise.
39426         * modules/unictype/property-bidi-whitespace (Depends-on,
39427         configure.ac): Likewise.
39428         * modules/unictype/property-combining (Depends-on, configure.ac):
39429         Likewise.
39430         * modules/unictype/property-composite (Depends-on, configure.ac):
39431         Likewise.
39432         * modules/unictype/property-currency-symbol (Depends-on,
39433         configure.ac): Likewise.
39434         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
39435         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
39436         Likewise.
39437         * modules/unictype/property-default-ignorable-code-point (Depends-on,
39438         configure.ac): Likewise.
39439         * modules/unictype/property-deprecated (Depends-on, configure.ac):
39440         Likewise.
39441         * modules/unictype/property-diacritic (Depends-on, configure.ac):
39442         Likewise.
39443         * modules/unictype/property-extender (Depends-on, configure.ac):
39444         Likewise.
39445         * modules/unictype/property-format-control (Depends-on, configure.ac):
39446         Likewise.
39447         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
39448         Likewise.
39449         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
39450         Likewise.
39451         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
39452         Likewise.
39453         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
39454         Likewise.
39455         * modules/unictype/property-hyphen (Depends-on, configure.ac):
39456         Likewise.
39457         * modules/unictype/property-id-continue (Depends-on, configure.ac):
39458         Likewise.
39459         * modules/unictype/property-id-start (Depends-on, configure.ac):
39460         Likewise.
39461         * modules/unictype/property-ideographic (Depends-on, configure.ac):
39462         Likewise.
39463         * modules/unictype/property-ids-binary-operator (Depends-on,
39464         configure.ac): Likewise.
39465         * modules/unictype/property-ids-trinary-operator (Depends-on,
39466         configure.ac): Likewise.
39467         * modules/unictype/property-ignorable-control (Depends-on,
39468         configure.ac): Likewise.
39469         * modules/unictype/property-iso-control (Depends-on, configure.ac):
39470         Likewise.
39471         * modules/unictype/property-join-control (Depends-on, configure.ac):
39472         Likewise.
39473         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
39474         Likewise.
39475         * modules/unictype/property-line-separator (Depends-on, configure.ac):
39476         Likewise.
39477         * modules/unictype/property-logical-order-exception (Depends-on,
39478         configure.ac): Likewise.
39479         * modules/unictype/property-lowercase (Depends-on, configure.ac):
39480         Likewise.
39481         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
39482         * modules/unictype/property-non-break (Depends-on, configure.ac):
39483         Likewise.
39484         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
39485         Likewise.
39486         * modules/unictype/property-numeric (Depends-on, configure.ac):
39487         Likewise.
39488         * modules/unictype/property-other-alphabetic (Depends-on,
39489         configure.ac): Likewise.
39490         * modules/unictype/property-other-default-ignorable-code-point
39491         (Depends-on, configure.ac): Likewise.
39492         * modules/unictype/property-other-grapheme-extend (Depends-on,
39493         configure.ac): Likewise.
39494         * modules/unictype/property-other-id-continue (Depends-on,
39495         configure.ac): Likewise.
39496         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
39497         Likewise.
39498         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
39499         Likewise.
39500         * modules/unictype/property-other-math (Depends-on, configure.ac):
39501         Likewise.
39502         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
39503         Likewise.
39504         * modules/unictype/property-paired-punctuation (Depends-on,
39505         configure.ac): Likewise.
39506         * modules/unictype/property-paragraph-separator (Depends-on,
39507         configure.ac): Likewise.
39508         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
39509         Likewise.
39510         * modules/unictype/property-pattern-white-space (Depends-on,
39511         configure.ac): Likewise.
39512         * modules/unictype/property-private-use (Depends-on, configure.ac):
39513         Likewise.
39514         * modules/unictype/property-punctuation (Depends-on, configure.ac):
39515         Likewise.
39516         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
39517         Likewise.
39518         * modules/unictype/property-radical (Depends-on, configure.ac):
39519         Likewise.
39520         * modules/unictype/property-sentence-terminal (Depends-on,
39521         configure.ac): Likewise.
39522         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
39523         Likewise.
39524         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
39525         * modules/unictype/property-terminal-punctuation (Depends-on,
39526         configure.ac): Likewise.
39527         * modules/unictype/property-titlecase (Depends-on, configure.ac):
39528         Likewise.
39529         * modules/unictype/property-unassigned-code-value (Depends-on,
39530         configure.ac): Likewise.
39531         * modules/unictype/property-unified-ideograph (Depends-on,
39532         configure.ac): Likewise.
39533         * modules/unictype/property-uppercase (Depends-on, configure.ac):
39534         Likewise.
39535         * modules/unictype/property-variation-selector (Depends-on,
39536         configure.ac): Likewise.
39537         * modules/unictype/property-white-space (Depends-on, configure.ac):
39538         Likewise.
39539         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
39540         Likewise.
39541         * modules/unictype/property-xid-start (Depends-on, configure.ac):
39542         Likewise.
39543         * modules/unictype/property-zero-width (Depends-on, configure.ac):
39544         Likewise.
39545         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
39546         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
39547         Likewise.
39548
39549 2009-12-31  Bruno Haible  <bruno@clisp.org>
39550
39551         Remove unnecessary AC_C_INLINE invocation.
39552         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
39553         since 2009-08-21.
39554
39555 2009-12-31  Jim Meyering  <meyering@redhat.com>
39556
39557         maint.mk: don't require explicit gpg_key_ID in cfg.mk
39558         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
39559         With this change, we can all remove the gpg_key_ID = ... definition
39560         from our respective cfg.mk files.
39561
39562         maint.mk: create announcement template in ~/, not in /tmp
39563         * top/maint.mk (emit_upload_commands): Adjust.
39564         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
39565         Remove temporary file, .ci-msg.
39566
39567 2009-12-31  Eric Blake  <ebb9@byu.net>
39568
39569         link-warning: always build headers with link warnings
39570         * modules/arpa_inet (Makefile.am): Always build replacement
39571         header.
39572         * modules/ctype (Makefile.am): Likewise.
39573         * modules/dirent (Makefile.am): Likewise.
39574         * modules/inttypes (Makefile.am): Likewise.
39575         * modules/langinfo (Makefile.am): Likewise.
39576         * modules/locale (Makefile.am): Likewise.
39577         * modules/spawn (Makefile.am): Likewise.
39578         * modules/sys_file (Makefile.am): Likewise.
39579         * modules/sys_ioctl (Makefile.am): Likewise.
39580         * modules/sys_select (Makefile.am): Likewise.
39581         * modules/sys_socket (Makefile.am): Likewise.
39582         * modules/sys_times (Makefile.am): Likewise.
39583         * modules/sys_utsname (Makefile.am): Likewise.
39584         * modules/sys_wait (Makefile.am): Likewise.
39585         * modules/wchar (Makefile.am): Likewise.
39586         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
39587         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
39588         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
39589         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
39590         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
39591         Likewise.
39592         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
39593         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
39594         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
39595         Likewise.
39596         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
39597         Likewise.
39598         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
39599         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
39600         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
39601         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39602         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
39603         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39604         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39605         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
39606         (gl_WCHAR_H_DEFAULTS): Likewise.
39607
39608 2009-12-31  Eric Blake  <ebb9@byu.net>
39609
39610         signal, spawn: use link warnings
39611         * lib/signal.in.h (sigset_t): Make unconditional.
39612         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
39613         (sigpending, sigprocmask, sigaction): Add link warnings.
39614         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
39615         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
39616         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
39617         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
39618         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
39619         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
39620         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
39621         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
39622         (posix_spawn_file_actions_destroy)
39623         (posix_spawn_file_actions_addopen)
39624         (posix_spawn_file_actions_addclose)
39625         (posix_spawn_file_actions_adddup2): Likewise.
39626         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
39627         * tests/test-signal.c (main): Enhance test.
39628
39629         spawn: improve wrapper support
39630         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
39631         (gl_SPAWN_H_DEFAULTS): New defaults.
39632         * modules/spawn (Makefile.am): Substitute them.
39633         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
39634         Only declare if missing or broken.
39635
39636         sys_times, sys_utsname: use include_next
39637         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
39638         header.
39639         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
39640         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39641         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39642         * modules/sys_times (Depends-on): Add include_next.
39643         (Makefile.am): Substitute additional values.
39644         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
39645         * lib/sys_times.in.h (includes): Include native header, if
39646         available.
39647         * lib/sys_utsname.in.h (includes): Likewise.
39648         * tests/test-sys_times.c (main): Enhance test.
39649
39650         fdutimensat: revert prior patch
39651         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
39652         utimens.h.
39653         Reported by Bruno Haible.
39654
39655 2009-12-30  Eric Blake  <ebb9@byu.net>
39656
39657         sys_wait: drop link-warning dependency
39658         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
39659         link-warning efforts.
39660         * lib/sys_wait.in.h: Likewise.
39661
39662         fdutimensat: remove bogus dependency
39663         * modules/fdutimensat (Depends-on): Drop inline.
39664
39665         unistd: fix typo
39666         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
39667
39668 2009-12-30  Bruno Haible  <bruno@clisp.org>
39669
39670         Fix compilation error with Solaris cc.
39671         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
39672         * lib/unicase/u16-is-invariant.c: Likewise.
39673         * lib/unicase/u32-is-invariant.c: Likewise.
39674         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39675
39676 2009-12-30  Bruno Haible  <bruno@clisp.org>
39677
39678         Fix test crash.
39679         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
39680         locales.
39681         Reported by Simon Josefsson <simon@josefsson.org>.
39682
39683 2009-12-30  Bruno Haible  <bruno@clisp.org>
39684
39685         Fix compilation error on most platforms.
39686         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
39687         Reported by Simon Josefsson <simon@josefsson.org>
39688         and Nelson H. F. Beebe <beebe@math.utah.edu>.
39689
39690 2009-12-30  Eric Blake  <ebb9@byu.net>
39691
39692         futimens, utimensat: work around ntfs-3g bug
39693         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
39694         a ctime bug is present, and expand workaround to cover ntfs-3g.
39695         * lib/utimens.c (fdutimens, lutimens): Likewise.
39696         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
39697         (validate_timespec): Adjust return value.
39698         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
39699         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39700         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
39701
39702 2009-12-29  Eric Blake  <ebb9@byu.net>
39703
39704         link-warning: make usage consistent
39705         * modules/ctype (Depends-on): Add link-warning.
39706         (Makefile.am): Update rules accordingly.
39707         * modules/langinfo (Depends-on, Makefile.am): Likewise.
39708         * modules/locale (Depends-on, Makefile.am): Likewise.
39709         * modules/sys_file (Makefile.am): Likewise.
39710         * modules/getopt-posix (Makefile.am): Delete unused link warning
39711         efforts.
39712         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
39713         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
39714         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
39715         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
39716
39717         stdio: remove unused variables
39718         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
39719         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
39720         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
39721
39722         tests: test more substitute headers
39723         * modules/ctype-tests: New file.
39724         * modules/dirent-tests: Likewise.
39725         * modules/spawn-tests: Likewise.
39726         * modules/sys_file-tests: Likewise.
39727         * modules/sys_ioctl-tests: Likewise.
39728         * modules/sys_wait-tests: Likewise.
39729         * tests/test-ctype.c: Likewise.
39730         * tests/test-dirent.c: Likewise.
39731         * tests/test-spawn.c: Likewise.
39732         * tests/test-sys_file.c: Likewise.
39733         * tests/test-sys_ioctl.c: Likewise.
39734         * tests/test-sys_wait.c: Likewise.
39735         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
39736         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
39737         whether or not flock is in use.
39738
39739         tests: remove License section from module
39740         * modules/arpa_inet-tests: Remove unneeded section.
39741         * modules/byteswap-tests: Likewise.
39742         * modules/ceilf-tests: Likewise.
39743         * modules/ceill-tests: Likewise.
39744         * modules/crypto/des-tests: Likewise.
39745         * modules/crypto/gc-arcfour-tests: Likewise.
39746         * modules/crypto/gc-arctwo-tests: Likewise.
39747         * modules/crypto/gc-des-tests: Likewise.
39748         * modules/crypto/gc-hmac-md5-tests: Likewise.
39749         * modules/crypto/gc-hmac-sha1-tests: Likewise.
39750         * modules/crypto/gc-md2-tests: Likewise.
39751         * modules/crypto/gc-md4-tests: Likewise.
39752         * modules/crypto/gc-md5-tests: Likewise.
39753         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
39754         * modules/crypto/gc-rijndael-tests: Likewise.
39755         * modules/crypto/gc-sha1-tests: Likewise.
39756         * modules/crypto/gc-tests: Likewise.
39757         * modules/crypto/md2-tests: Likewise.
39758         * modules/crypto/md4-tests: Likewise.
39759         * modules/fcntl-h-tests: Likewise.
39760         * modules/floorf-tests: Likewise.
39761         * modules/floorl-tests: Likewise.
39762         * modules/frexp-nolibm-tests: Likewise.
39763         * modules/frexp-tests: Likewise.
39764         * modules/frexpl-nolibm-tests: Likewise.
39765         * modules/frexpl-tests: Likewise.
39766         * modules/getaddrinfo-tests: Likewise.
39767         * modules/inttypes-tests: Likewise.
39768         * modules/isfinite-tests: Likewise.
39769         * modules/isinf-tests: Likewise.
39770         * modules/ldexpl-tests: Likewise.
39771         * modules/locale-tests: Likewise.
39772         * modules/math-tests: Likewise.
39773         * modules/netdb-tests: Likewise.
39774         * modules/netinet_in-tests: Likewise.
39775         * modules/printf-frexp-tests: Likewise.
39776         * modules/printf-frexpl-tests: Likewise.
39777         * modules/priv-set-tests: Likewise.
39778         * modules/random_r-tests: Likewise.
39779         * modules/round-tests: Likewise.
39780         * modules/roundf-tests: Likewise.
39781         * modules/roundl-tests: Likewise.
39782         * modules/search-tests: Likewise.
39783         * modules/select-tests: Likewise.
39784         * modules/signal-tests: Likewise.
39785         * modules/stdbool-tests: Likewise.
39786         * modules/stddef-tests: Likewise.
39787         * modules/stdint-tests: Likewise.
39788         * modules/stdio-tests: Likewise.
39789         * modules/stdlib-tests: Likewise.
39790         * modules/string-tests: Likewise.
39791         * modules/strings-tests: Likewise.
39792         * modules/sys_select-tests: Likewise.
39793         * modules/sys_socket-tests: Likewise.
39794         * modules/sys_stat-tests: Likewise.
39795         * modules/sys_time-tests: Likewise.
39796         * modules/sys_utsname-tests: Likewise.
39797         * modules/sysexits-tests: Likewise.
39798         * modules/time-tests: Likewise.
39799         * modules/trunc-tests: Likewise.
39800         * modules/truncf-tests: Likewise.
39801         * modules/truncl-tests: Likewise.
39802         * modules/tsearch-tests: Likewise.
39803         * modules/unistd-tests: Likewise.
39804         * modules/wchar-tests: Likewise.
39805         * modules/wctype-tests: Likewise.
39806
39807         tests: fix license on several tests
39808         * tests/test-des.c: Update to GPLv3+.
39809         * tests/test-flock.c: Likewise.
39810         * tests/test-fsync.c: Likewise.
39811         * tests/test-futimens.h: Likewise.
39812         * tests/test-gc-arcfour.c: Likewise.
39813         * tests/test-gc-arctwo.c: Likewise.
39814         * tests/test-gc-des.c: Likewise.
39815         * tests/test-gc-hmac-md5.c: Likewise.
39816         * tests/test-gc-hmac-sha1.c: Likewise.
39817         * tests/test-gc-md2.c: Likewise.
39818         * tests/test-gc-md4.c: Likewise.
39819         * tests/test-gc-md5.c: Likewise.
39820         * tests/test-gc-pbkdf2-sha1.c: Likewise.
39821         * tests/test-gc-rijndael.c: Likewise.
39822         * tests/test-gc-sha1.c: Likewise.
39823         * tests/test-gc.c: Likewise.
39824         * tests/test-getcwd.c: Likewise.
39825         * tests/test-link.c: Likewise.
39826         * tests/test-link.h: Likewise.
39827         * tests/test-lutimens.h: Likewise.
39828         * tests/test-md2.c: Likewise.
39829         * tests/test-md4.c: Likewise.
39830         * tests/test-mkdir.h: Likewise.
39831         * tests/test-rename.c: Likewise.
39832         * tests/test-rename.h: Likewise.
39833         * tests/test-safe-alloc.c: Likewise.
39834         * tests/test-utimens-common.h: Likewise.
39835         * tests/test-utimens.h: Likewise.
39836
39837         maint: sync license texts
39838         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
39839         * doc/gpl-3.0.texi: Revert copyright year update.
39840         * doc/lgpl-3.0.texi: Likewise.
39841
39842 2009-12-29  Jim Meyering  <meyering@redhat.com>
39843
39844         update nearly all FSF copyright year lists to include 2009
39845         The files named by the following are exempted:
39846             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
39847               test -f "$dst" && { echo "$dst"; continue; }
39848               test -d "$dst" || continue
39849               echo "$dst"/$(basename "$src")
39850             done > exempt
39851             git ls-files tests/unictype >> exempt
39852         In the remaining files, convert to all-interval notation if
39853         - there is already at least one year interval like 2000-2003
39854         - the file is maintained by me
39855         - the file is in lib/uni*/, where that style already prevails
39856         Otherwise, use update-copyright's default.
39857
39858 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39859         and Eric Blake  <ebb9@byu.net>
39860
39861         tests: don't require debug system() to pass
39862         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
39863         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39864         * tests/test-unlink.h (test_unlink_func): Likewise.
39865         * tests/test-fstatat.c (main): ...into callers.
39866         * tests/test-lstat.c (main): Likewise.
39867         * tests/test-rmdir.c (main): Likewise.
39868         * tests/test-unlink.c (main): Likewise.
39869         * tests/test-unlinkat.c (main): Likewise.
39870         * tests/test-areadlink-with-size.c (main): Don't require a
39871         debug-only system call to pass, aiding cross-testing to mingw.
39872         * tests/test-areadlink.c (main): Likewise.
39873         * tests/test-areadlinkat-with-size.c (main): Likewise.
39874         * tests/test-areadlinkat.c (main): Likewise.
39875         * tests/test-canonicalize-lgpl.c (main): Likewise.
39876         * tests/test-canonicalize.c (main): Likewise.
39877         * tests/test-chown.c (main): Likewise.
39878         * tests/test-fchownat.c (main): Likewise.
39879         * tests/test-lchown.c (main): Likewise.
39880         * tests/test-fdutimensat.c (main): Likewise.
39881         * tests/test-futimens.c (main): Likewise.
39882         * tests/test-link.c (main): Likewise.
39883         * tests/test-linkat.c (main): Likewise.
39884         * tests/test-mkdir.c (main): Likewise.
39885         * tests/test-mkdirat.c (main): Likewise.
39886         * tests/test-mkfifo.c (main): Likewise.
39887         * tests/test-mkfifoat.c (main): Likewise.
39888         * tests/test-mknod.c (main): Likewise.
39889         * tests/test-readlink.c (main): Likewise.
39890         * tests/test-remove.c (main): Likewise.
39891         * tests/test-rename.c (main): Likewise.
39892         * tests/test-renameat.c (main): Likewise.
39893         * tests/test-symlink.c (main): Likewise.
39894         * tests/test-symlinkat.c (main): Likewise.
39895         * tests/test-utimens.c (main): Likewise.
39896         * tests/test-utimensat.c (main): Likewise.
39897
39898 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39899
39900         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
39901         on $(UNUSED_PARAMETER_H) to avoid build failure.
39902
39903 2009-12-28  Jim Meyering  <meyering@redhat.com>
39904
39905         update-copyright: you may specify a max. line length other than 72
39906         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39907
39908         maint: use consistent FSF copyright line syntax
39909         * lib/posixtm.c: Add missing comma in FSF copyright line.
39910         * lib/posixtm.h: Likewise.
39911         * lib/getugroups.c: Add missing ", Inc.".
39912
39913         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
39914         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
39915         FSF copyright line.  Remove trailing blanks.
39916
39917 2009-12-28  Eric Blake  <ebb9@byu.net>
39918
39919         test-dup2: reduce dependencies
39920         * modules/cloexec (Configure.ac): Set witness.
39921         * modules/dup2-tests (Depends-on): Drop cloexec.
39922         * tests/test-dup2.c (main): Skip portion of test if cloexec module
39923         not present.
39924         Suggested by Bruno Haible.
39925
39926 2009-12-26  Bruno Haible  <bruno@clisp.org>
39927
39928         Remove an unneeded dependency.
39929         * modules/fseterr (Depends-on): Remove dup2.
39930
39931 2009-12-26  Eric Blake  <ebb9@byu.net>
39932
39933         tests: use macros.h in more places
39934         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
39935         (ASSERT_STREAM): Provide default of stderr.
39936         * tests/test-dirent-safer.c: Include macros.h, using alternate
39937         stream for assertions.
39938         * tests/test-dup-safer.c: Likewise.
39939         * tests/test-freopen-safer.c: Likewise.
39940         * tests/test-getopt.c: Likewise.
39941         * tests/test-openat-safer.c: Likewise.
39942         * tests/test-pipe.c: Likewise.
39943         * tests/test-popen-safer.c: Likewise.
39944         * modules/dirent-safer-tests (Files): Include macros.h.
39945         * modules/unistd-safer-tests (Files): Likewise.
39946         * modules/freopen-safer-tests (Files): Likewise.
39947         * modules/getopt-posix-tests (Files): Likewise.
39948         * modules/openat-safer-tests (Files): Likewise.
39949         * modules/pipe-tests (Files): Likewise.
39950
39951 2009-12-26  Bruno Haible  <bruno@clisp.org>
39952
39953         javacomp: Portability fix.
39954         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
39955         that it also works on Solaris.
39956
39957 2009-12-26  Bruno Haible  <bruno@clisp.org>
39958
39959         localename: Fix storage allocation of gl_locale_name_thread's result.
39960         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
39961         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
39962         all platforms that have 'uselocale'.
39963         (gl_locale_name_thread_unsafe): New function, extracted from
39964         gl_locale_name_thread.
39965         (gl_locale_name_thread): Call struniq on all platforms that have
39966         'uselocale'.
39967         * tests/test-localename.c (test_locale_name_thread): Check that the
39968         resulting strings are permanently allocated.
39969         * modules/localename-tests (Depends-on): Add strdup.
39970
39971 2009-12-26  Bruno Haible  <bruno@clisp.org>
39972
39973         * tests/test-localename.c (categories): Fill in the strings.
39974
39975 2009-12-26  Jim Meyering  <meyering@redhat.com>
39976
39977         isdir: complete the removal of m4/isdir.m4
39978         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
39979
39980         isdir: clean up, since at least grep still uses it
39981         * lib/isdir.c: Include "isdir.h".
39982         (S_ISDIR): Remove now-unneeded definition.
39983         * modules/isdir (Files): Add lib/isdir.h.
39984         * lib/isdir.h: New file, with declaration.
39985         * m4/isdir.m4: Remove file -- unneeded.
39986
39987 2009-12-25  Bruno Haible  <bruno@clisp.org>
39988
39989         selinux-h: Make generated .h files standalone.
39990         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
39991         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
39992         * lib/se-selinux.in.h: Likewise.
39993         * modules/selinux-h (Depends-on): Add unused-parameter.
39994         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
39995         selinux/selinux.h and selinux/context.h.
39996         Suggested by Eric Blake.
39997
39998 2009-12-25  Bruno Haible  <bruno@clisp.org>
39999
40000         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
40001         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
40002         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
40003         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
40004         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
40005
40006 2009-12-24  Bruno Haible  <bruno@clisp.org>
40007
40008         openat: Fix warning.
40009         * lib/openat-proc.c: Include <unistd.h>.
40010
40011 2009-12-24  Bruno Haible  <bruno@clisp.org>
40012
40013         New module 'unused-parameter'.
40014         * build-aux/unused-parameter.h: New file, extracted from earlier
40015         gnulib-common.m4.
40016         * modules/unused-parameter: New file.
40017         * lib/unistr.h: Include unused-parameter.h.
40018         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
40019         _GL_UNUSED.
40020         * modules/unistr/base (Depends-on): Add unused-parameter.
40021
40022 2009-12-24  Bruno Haible  <bruno@clisp.org>
40023
40024         Add missing dependencies to 'extensions' module.
40025         * m4/extensions.m4: Add comment.
40026         * modules/accept4 (Depends-on): Add extensions.
40027         * modules/dup3 (Depends-on): Likewise.
40028         * modules/fcntl (Depends-on): Likewise.
40029         * modules/futimens (Depends-on): Likewise.
40030         * modules/mknod (Depends-on): Likewise.
40031         * modules/pipe2 (Depends-on): Likewise.
40032         * modules/stat-time (Depends-on): Likewise.
40033         * modules/strcasestr-simple (Depends-on): Likewise.
40034         * modules/strsignal (Depends-on): Likewise.
40035         * modules/utimensat (Depends-on): Likewise.
40036         * modules/localcharset (Depends-on): Likewise. Needed because of
40037         gl_FCNTL_O_FLAGS.
40038         * modules/wcrtomb (Depends-on): Likewise. Needed because of
40039         AC_TYPE_MBSTATE_T.
40040         * modules/wcsnrtombs (Depends-on): Likewise.
40041         * modules/wcsrtombs (Depends-on): Likewise.
40042
40043 2009-12-24  Bruno Haible  <bruno@clisp.org>
40044
40045         binary-io: Avoid gcc warning due to SET_BINARY.
40046         * lib/binary-io.h (SET_BINARY): Cast the result to void.
40047         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
40048
40049 2009-12-24  Bruno Haible  <bruno@clisp.org>
40050
40051         Avoid future namespace pollution on glibc systems.
40052         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
40053         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
40054         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
40055         glibc systems.
40056
40057 2009-12-24  Bruno Haible  <bruno@clisp.org>
40058
40059         Refactor common macros used in tests.
40060         * tests/macros.h: New file.
40061         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
40062         and/or <stdlib.h>, if appropriate.
40063         (ASSERT, SIZEOF): Remove macros.
40064         * tests/test-areadlink-with-size.c: Likewise.
40065         * tests/test-areadlinkat.c: Likewise.
40066         * tests/test-areadlinkat-with-size.c: Likewise.
40067         * tests/test-argmatch.c: Likewise.
40068         * tests/test-argv-iter.c: Likewise.
40069         * tests/test-array-mergesort.c: Likewise.
40070         * tests/test-array_list.c: Likewise.
40071         * tests/test-array_oset.c: Likewise.
40072         * tests/test-avltree_list.c: Likewise.
40073         * tests/test-avltree_oset.c: Likewise.
40074         * tests/test-avltreehash_list.c: Likewise.
40075         * tests/test-base64.c: Likewise.
40076         * tests/test-binary-io.c: Likewise.
40077         * tests/test-bitrotate.c: Likewise.
40078         * tests/test-btowc.c: Likewise.
40079         * tests/test-byteswap.c: Likewise.
40080         * tests/test-c-ctype.c: Likewise.
40081         * tests/test-c-stack.c: Likewise.
40082         * tests/test-c-strcasecmp.c: Likewise.
40083         * tests/test-c-strcasestr.c: Likewise.
40084         * tests/test-c-strncasecmp.c: Likewise.
40085         * tests/test-c-strstr.c: Likewise.
40086         * tests/test-canonicalize-lgpl.c: Likewise.
40087         * tests/test-canonicalize.c: Likewise.
40088         * tests/test-carray_list.c: Likewise.
40089         * tests/test-ceilf1.c: Likewise.
40090         * tests/test-ceilf2.c: Likewise.
40091         * tests/test-ceill.c: Likewise.
40092         * tests/test-chown.c: Likewise.
40093         * tests/test-cloexec.c: Likewise.
40094         * tests/test-copy-acl.c: Likewise.
40095         * tests/test-copy-file.c: Likewise.
40096         * tests/test-count-one-bits.c: Likewise.
40097         * tests/test-dprintf-posix.c: Likewise.
40098         * tests/test-dup2.c: Likewise.
40099         * tests/test-dup3.c: Likewise.
40100         * tests/test-duplocale.c: Likewise.
40101         * tests/test-fbufmode.c: Likewise.
40102         * tests/test-fchdir.c: Likewise.
40103         * tests/test-fchownat.c: Likewise.
40104         * tests/test-fcntl-safer.c: Likewise.
40105         * tests/test-fcntl.c: Likewise.
40106         * tests/test-fdopendir.c: Likewise.
40107         * tests/test-fdutimensat.c: Likewise.
40108         * tests/test-fflush2.c: Likewise.
40109         * tests/test-file-has-acl.c: Likewise.
40110         * tests/test-filevercmp.c: Likewise.
40111         * tests/test-flock.c: Likewise.
40112         * tests/test-floorf1.c: Likewise.
40113         * tests/test-floorf2.c: Likewise.
40114         * tests/test-floorl.c: Likewise.
40115         * tests/test-fnmatch.c: Likewise.
40116         * tests/test-fopen.h: Likewise.
40117         * tests/test-fpending.c: Likewise.
40118         * tests/test-fprintf-posix.c: Likewise.
40119         * tests/test-fpurge.c: Likewise.
40120         * tests/test-freadable.c: Likewise.
40121         * tests/test-freadahead.c: Likewise.
40122         * tests/test-freading.c: Likewise.
40123         * tests/test-freadptr.c: Likewise.
40124         * tests/test-freadptr2.c: Likewise.
40125         * tests/test-freadseek.c: Likewise.
40126         * tests/test-freopen.c: Likewise.
40127         * tests/test-frexp.c: Likewise.
40128         * tests/test-frexpl.c: Likewise.
40129         * tests/test-fseek.c: Likewise.
40130         * tests/test-fseeko.c: Likewise.
40131         * tests/test-fstatat.c: Likewise.
40132         * tests/test-fstrcmp.c: Likewise.
40133         * tests/test-fsync.c: Likewise.
40134         * tests/test-ftell.c: Likewise.
40135         * tests/test-ftello.c: Likewise.
40136         * tests/test-func.c: Likewise.
40137         * tests/test-futimens.c: Likewise.
40138         * tests/test-fwritable.c: Likewise.
40139         * tests/test-fwriting.c: Likewise.
40140         * tests/test-getcwd.c: Likewise.
40141         * tests/test-getdate.c: Likewise.
40142         * tests/test-getdelim.c: Likewise.
40143         * tests/test-getdtablesize.c: Likewise.
40144         * tests/test-getgroups.c: Likewise.
40145         * tests/test-getline.c: Likewise.
40146         * tests/test-getndelim2.c: Likewise.
40147         * tests/test-glob.c: Likewise.
40148         * tests/test-hash.c: Likewise.
40149         * tests/test-i-ring.c: Likewise.
40150         * tests/test-iconv-utf.c: Likewise.
40151         * tests/test-iconv.c: Likewise.
40152         * tests/test-idpriv-drop.c: Likewise.
40153         * tests/test-idpriv-droptemp.c: Likewise.
40154         * tests/test-inet_ntop.c: Likewise.
40155         * tests/test-inet_pton.c: Likewise.
40156         * tests/test-isblank.c: Likewise.
40157         * tests/test-isfinite.c: Likewise.
40158         * tests/test-isinf.c: Likewise.
40159         * tests/test-isnan.c: Likewise.
40160         * tests/test-isnand.h: Likewise.
40161         * tests/test-isnanf.h: Likewise.
40162         * tests/test-isnanl.h: Likewise.
40163         * tests/test-lchown.c: Likewise.
40164         * tests/test-ldexpl.c: Likewise.
40165         * tests/test-link.c: Likewise.
40166         * tests/test-linkat.c: Likewise.
40167         * tests/test-linked_list.c: Likewise.
40168         * tests/test-linkedhash_list.c: Likewise.
40169         * tests/test-localename.c: Likewise.
40170         * tests/test-lseek.c: Likewise.
40171         * tests/test-lstat.c: Likewise.
40172         * tests/test-mbmemcasecmp.c: Likewise.
40173         * tests/test-mbmemcasecoll.c: Likewise.
40174         * tests/test-mbrtowc.c: Likewise.
40175         * tests/test-mbscasecmp.c: Likewise.
40176         * tests/test-mbscasestr1.c: Likewise.
40177         * tests/test-mbscasestr2.c: Likewise.
40178         * tests/test-mbscasestr3.c: Likewise.
40179         * tests/test-mbscasestr4.c: Likewise.
40180         * tests/test-mbschr.c: Likewise.
40181         * tests/test-mbscspn.c: Likewise.
40182         * tests/test-mbsinit.c: Likewise.
40183         * tests/test-mbsncasecmp.c: Likewise.
40184         * tests/test-mbsnrtowcs.c: Likewise.
40185         * tests/test-mbspbrk.c: Likewise.
40186         * tests/test-mbspcasecmp.c: Likewise.
40187         * tests/test-mbsrchr.c: Likewise.
40188         * tests/test-mbsrtowcs.c: Likewise.
40189         * tests/test-mbsspn.c: Likewise.
40190         * tests/test-mbsstr1.c: Likewise.
40191         * tests/test-mbsstr2.c: Likewise.
40192         * tests/test-mbsstr3.c: Likewise.
40193         * tests/test-memchr.c: Likewise.
40194         * tests/test-memchr2.c: Likewise.
40195         * tests/test-memcmp.c: Likewise.
40196         * tests/test-memmem.c: Likewise.
40197         * tests/test-memrchr.c: Likewise.
40198         * tests/test-mkdir.c: Likewise.
40199         * tests/test-mkdirat.c: Likewise.
40200         * tests/test-mkfifo.c: Likewise.
40201         * tests/test-mkfifoat.c: Likewise.
40202         * tests/test-mknod.c: Likewise.
40203         * tests/test-nanosleep.c: Likewise.
40204         * tests/test-nl_langinfo.c: Likewise.
40205         * tests/test-obstack-printf.c: Likewise.
40206         * tests/test-open.c: Likewise.
40207         * tests/test-openat.c: Likewise.
40208         * tests/test-pipe-filter-gi1.c: Likewise.
40209         * tests/test-pipe-filter-gi2-main.c: Likewise.
40210         * tests/test-pipe-filter-ii1.c: Likewise.
40211         * tests/test-pipe-filter-ii2-main.c: Likewise.
40212         * tests/test-pipe2.c: Likewise.
40213         * tests/test-popen.h: Likewise.
40214         * tests/test-posixtm.c: Likewise.
40215         * tests/test-pread.c: Likewise.
40216         * tests/test-printf-frexp.c: Likewise.
40217         * tests/test-printf-frexpl.c: Likewise.
40218         * tests/test-printf-posix.c: Likewise.
40219         * tests/test-priv-set.c: Likewise.
40220         * tests/test-quotearg.c: Likewise.
40221         * tests/test-random_r.c: Likewise.
40222         * tests/test-rawmemchr.c: Likewise.
40223         * tests/test-rbtree_list.c: Likewise.
40224         * tests/test-rbtree_oset.c: Likewise.
40225         * tests/test-rbtreehash_list.c: Likewise.
40226         * tests/test-readlink.c: Likewise.
40227         * tests/test-remove.c: Likewise.
40228         * tests/test-rename.c: Likewise.
40229         * tests/test-renameat.c: Likewise.
40230         * tests/test-rmdir.c: Likewise.
40231         * tests/test-round1.c: Likewise.
40232         * tests/test-roundf1.c: Likewise.
40233         * tests/test-roundl.c: Likewise.
40234         * tests/test-safe-alloc.c: Likewise.
40235         * tests/test-sameacls.c: Likewise.
40236         * tests/test-set-mode-acl.c: Likewise.
40237         * tests/test-setenv.c: Likewise.
40238         * tests/test-sigaction.c: Likewise.
40239         * tests/test-signbit.c: Likewise.
40240         * tests/test-sleep.c: Likewise.
40241         * tests/test-snprintf-posix.c: Likewise.
40242         * tests/test-snprintf.c: Likewise.
40243         * tests/test-sprintf-posix.c: Likewise.
40244         * tests/test-stat-time.c: Likewise.
40245         * tests/test-stat.c: Likewise.
40246         * tests/test-strcasestr.c: Likewise.
40247         * tests/test-strchrnul.c: Likewise.
40248         * tests/test-strerror.c: Likewise.
40249         * tests/test-striconv.c: Likewise.
40250         * tests/test-striconveh.c: Likewise.
40251         * tests/test-striconveha.c: Likewise.
40252         * tests/test-strsignal.c: Likewise.
40253         * tests/test-strstr.c: Likewise.
40254         * tests/test-strtod.c: Likewise.
40255         * tests/test-strverscmp.c: Likewise.
40256         * tests/test-symlink.c: Likewise.
40257         * tests/test-symlinkat.c: Likewise.
40258         * tests/test-trunc1.c: Likewise.
40259         * tests/test-trunc2.c: Likewise.
40260         * tests/test-truncf1.c: Likewise.
40261         * tests/test-truncf2.c: Likewise.
40262         * tests/test-truncl.c: Likewise.
40263         * tests/test-uname.c: Likewise.
40264         * tests/test-unlink.c: Likewise.
40265         * tests/test-unlinkat.c: Likewise.
40266         * tests/test-unsetenv.c: Likewise.
40267         * tests/test-usleep.c: Likewise.
40268         * tests/test-utimens.c: Likewise.
40269         * tests/test-utimensat.c: Likewise.
40270         * tests/test-vasnprintf-posix.c: Likewise.
40271         * tests/test-vasnprintf-posix2.c: Likewise.
40272         * tests/test-vasnprintf.c: Likewise.
40273         * tests/test-vasprintf-posix.c: Likewise.
40274         * tests/test-vasprintf.c: Likewise.
40275         * tests/test-vdprintf-posix.c: Likewise.
40276         * tests/test-vfprintf-posix.c: Likewise.
40277         * tests/test-vprintf-posix.c: Likewise.
40278         * tests/test-vsnprintf-posix.c: Likewise.
40279         * tests/test-vsnprintf.c: Likewise.
40280         * tests/test-vsprintf-posix.c: Likewise.
40281         * tests/test-wcrtomb.c: Likewise.
40282         * tests/test-wcsnrtombs.c: Likewise.
40283         * tests/test-wcsrtombs.c: Likewise.
40284         * tests/test-wctype.c: Likewise.
40285         * tests/test-wcwidth.c: Likewise.
40286         * tests/test-xfprintf-posix.c: Likewise.
40287         * tests/test-xmemdup0.c: Likewise.
40288         * tests/test-xprintf-posix.c: Likewise.
40289         * tests/test-xvasprintf.c: Likewise.
40290         * tests/unicase/test-locale-language.c: Likewise.
40291         * tests/unicase/test-mapping-part1.h: Likewise.
40292         * tests/unicase/test-predicate-part1.h: Likewise.
40293         * tests/unicase/test-u8-casecmp.c: Likewise.
40294         * tests/unicase/test-u8-casecoll.c: Likewise.
40295         * tests/unicase/test-u8-casefold.c: Likewise.
40296         * tests/unicase/test-u8-is-cased.c: Likewise.
40297         * tests/unicase/test-u8-is-casefolded.c: Likewise.
40298         * tests/unicase/test-u8-is-lowercase.c: Likewise.
40299         * tests/unicase/test-u8-is-titlecase.c: Likewise.
40300         * tests/unicase/test-u8-is-uppercase.c: Likewise.
40301         * tests/unicase/test-u8-tolower.c: Likewise.
40302         * tests/unicase/test-u8-totitle.c: Likewise.
40303         * tests/unicase/test-u8-toupper.c: Likewise.
40304         * tests/unicase/test-u16-casecmp.c: Likewise.
40305         * tests/unicase/test-u16-casecoll.c: Likewise.
40306         * tests/unicase/test-u16-casefold.c: Likewise.
40307         * tests/unicase/test-u16-is-cased.c: Likewise.
40308         * tests/unicase/test-u16-is-casefolded.c: Likewise.
40309         * tests/unicase/test-u16-is-lowercase.c: Likewise.
40310         * tests/unicase/test-u16-is-titlecase.c: Likewise.
40311         * tests/unicase/test-u16-is-uppercase.c: Likewise.
40312         * tests/unicase/test-u16-tolower.c: Likewise.
40313         * tests/unicase/test-u16-totitle.c: Likewise.
40314         * tests/unicase/test-u16-toupper.c: Likewise.
40315         * tests/unicase/test-u32-casecmp.c: Likewise.
40316         * tests/unicase/test-u32-casecoll.c: Likewise.
40317         * tests/unicase/test-u32-casefold.c: Likewise.
40318         * tests/unicase/test-u32-is-cased.c: Likewise.
40319         * tests/unicase/test-u32-is-casefolded.c: Likewise.
40320         * tests/unicase/test-u32-is-lowercase.c: Likewise.
40321         * tests/unicase/test-u32-is-titlecase.c: Likewise.
40322         * tests/unicase/test-u32-is-uppercase.c: Likewise.
40323         * tests/unicase/test-u32-tolower.c: Likewise.
40324         * tests/unicase/test-u32-totitle.c: Likewise.
40325         * tests/unicase/test-u32-toupper.c: Likewise.
40326         * tests/unicase/test-ulc-casecmp.c: Likewise.
40327         * tests/unicase/test-ulc-casecoll.c: Likewise.
40328         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
40329         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
40330         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
40331         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
40332         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
40333         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
40334         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
40335         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
40336         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
40337         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
40338         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
40339         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
40340         * tests/unictype/test-bidi_byname.c: Likewise.
40341         * tests/unictype/test-bidi_name.c: Likewise.
40342         * tests/unictype/test-bidi_of.c: Likewise.
40343         * tests/unictype/test-bidi_test.c: Likewise.
40344         * tests/unictype/test-block_list.c: Likewise.
40345         * tests/unictype/test-block_of.c: Likewise.
40346         * tests/unictype/test-block_test.c: Likewise.
40347         * tests/unictype/test-categ_and.c: Likewise.
40348         * tests/unictype/test-categ_and_not.c: Likewise.
40349         * tests/unictype/test-categ_byname.c: Likewise.
40350         * tests/unictype/test-categ_name.c: Likewise.
40351         * tests/unictype/test-categ_none.c: Likewise.
40352         * tests/unictype/test-categ_of.c: Likewise.
40353         * tests/unictype/test-categ_or.c: Likewise.
40354         * tests/unictype/test-categ_test_withtable.c: Likewise.
40355         * tests/unictype/test-combining.c: Likewise.
40356         * tests/unictype/test-decdigit.c: Likewise.
40357         * tests/unictype/test-digit.c: Likewise.
40358         * tests/unictype/test-mirror.c: Likewise.
40359         * tests/unictype/test-numeric.c: Likewise.
40360         * tests/unictype/test-pr_byname.c: Likewise.
40361         * tests/unictype/test-pr_test.c: Likewise.
40362         * tests/unictype/test-predicate-part1.h: Likewise.
40363         * tests/unictype/test-scripts.c: Likewise.
40364         * tests/unictype/test-sy_c_ident.c: Likewise.
40365         * tests/unictype/test-sy_java_ident.c: Likewise.
40366         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
40367         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
40368         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
40369         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
40370         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
40371         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
40372         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
40373         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
40374         * tests/uninorm/test-canonical-decomposition.c: Likewise.
40375         * tests/uninorm/test-compat-decomposition.c: Likewise.
40376         * tests/uninorm/test-composition.c: Likewise.
40377         * tests/uninorm/test-decomposing-form.c: Likewise.
40378         * tests/uninorm/test-decomposition.c: Likewise.
40379         * tests/uninorm/test-u8-nfc.c: Likewise.
40380         * tests/uninorm/test-u8-nfd.c: Likewise.
40381         * tests/uninorm/test-u8-nfkc.c: Likewise.
40382         * tests/uninorm/test-u8-nfkd.c: Likewise.
40383         * tests/uninorm/test-u8-normcmp.c: Likewise.
40384         * tests/uninorm/test-u8-normcoll.c: Likewise.
40385         * tests/uninorm/test-u16-nfc.c: Likewise.
40386         * tests/uninorm/test-u16-nfd.c: Likewise.
40387         * tests/uninorm/test-u16-nfkc.c: Likewise.
40388         * tests/uninorm/test-u16-nfkd.c: Likewise.
40389         * tests/uninorm/test-u16-normcmp.c: Likewise.
40390         * tests/uninorm/test-u16-normcoll.c: Likewise.
40391         * tests/uninorm/test-u32-nfc.c: Likewise.
40392         * tests/uninorm/test-u32-nfd.c: Likewise.
40393         * tests/uninorm/test-u32-nfkc.c: Likewise.
40394         * tests/uninorm/test-u32-nfkd.c: Likewise.
40395         * tests/uninorm/test-u32-normalize-big.c: Likewise.
40396         * tests/uninorm/test-u32-normcmp.c: Likewise.
40397         * tests/uninorm/test-u32-normcoll.c: Likewise.
40398         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
40399         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
40400         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
40401         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
40402         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
40403         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
40404         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
40405         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
40406         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
40407         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
40408         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
40409         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
40410         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
40411         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
40412         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
40413         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
40414         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
40415         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
40416         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
40417         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
40418         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
40419         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
40420         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
40421         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
40422         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
40423         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
40424         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
40425         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
40426         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
40427         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
40428         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
40429         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
40430         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
40431         * tests/uniwidth/test-u8-strwidth.c: Likewise.
40432         * tests/uniwidth/test-u8-width.c: Likewise.
40433         * tests/uniwidth/test-u16-strwidth.c: Likewise.
40434         * tests/uniwidth/test-u16-width.c: Likewise.
40435         * tests/uniwidth/test-u32-strwidth.c: Likewise.
40436         * tests/uniwidth/test-u32-width.c: Likewise.
40437         * tests/uniwidth/test-uc_width.c: Likewise.
40438         * tests/uniwidth/test-uc_width2.c: Likewise.
40439         * modules/acl-tests (Files): Add tests/macros.h.
40440         * modules/areadlink-tests (Files): Likewise.
40441         * modules/areadlink-with-size-tests (Files): Likewise.
40442         * modules/areadlinkat-tests (Files): Likewise.
40443         * modules/areadlinkat-with-size-tests (Files): Likewise.
40444         * modules/argmatch-tests (Files): Likewise.
40445         * modules/argv-iter-tests (Files): Likewise.
40446         * modules/array-list-tests (Files): Likewise.
40447         * modules/array-mergesort-tests (Files): Likewise.
40448         * modules/array-oset-tests (Files): Likewise.
40449         * modules/avltree-list-tests (Files): Likewise.
40450         * modules/avltree-oset-tests (Files): Likewise.
40451         * modules/avltreehash-list-tests (Files): Likewise.
40452         * modules/base64-tests (Files): Likewise.
40453         * modules/binary-io-tests (Files): Likewise.
40454         * modules/bitrotate-tests (Files): Likewise.
40455         * modules/btowc-tests (Files): Likewise.
40456         * modules/byteswap-tests (Files): Likewise.
40457         * modules/c-ctype-tests (Files): Likewise.
40458         * modules/c-stack-tests (Files): Likewise.
40459         * modules/c-strcase-tests (Files): Likewise.
40460         * modules/c-strcasestr-tests (Files): Likewise.
40461         * modules/c-strstr-tests (Files): Likewise.
40462         * modules/canonicalize-lgpl-tests (Files): Likewise.
40463         * modules/canonicalize-tests (Files): Likewise.
40464         * modules/carray-list-tests (Files): Likewise.
40465         * modules/ceilf-tests (Files): Likewise.
40466         * modules/ceill-tests (Files): Likewise.
40467         * modules/chown-tests (Files): Likewise.
40468         * modules/cloexec-tests (Files): Likewise.
40469         * modules/copy-file-tests (Files): Likewise.
40470         * modules/count-one-bits-tests (Files): Likewise.
40471         * modules/dprintf-posix-tests (Files): Likewise.
40472         * modules/dup2-tests (Files): Likewise.
40473         * modules/dup3-tests (Files): Likewise.
40474         * modules/duplocale-tests (Files): Likewise.
40475         * modules/fbufmode-tests (Files): Likewise.
40476         * modules/fchdir-tests (Files): Likewise.
40477         * modules/fcntl-safer-tests (Files): Likewise.
40478         * modules/fcntl-tests (Files): Likewise.
40479         * modules/fdopendir-tests (Files): Likewise.
40480         * modules/fdutimensat-tests (Files): Likewise.
40481         * modules/fflush-tests (Files): Likewise.
40482         * modules/filevercmp-tests (Files): Likewise.
40483         * modules/flock-tests (Files): Likewise.
40484         * modules/floorf-tests (Files): Likewise.
40485         * modules/floorl-tests (Files): Likewise.
40486         * modules/fnmatch-tests (Files): Likewise.
40487         * modules/fopen-safer-tests (Files): Likewise.
40488         * modules/fopen-tests (Files): Likewise.
40489         * modules/fpending-tests (Files): Likewise.
40490         * modules/fprintf-posix-tests (Files): Likewise.
40491         * modules/fpurge-tests (Files): Likewise.
40492         * modules/freadable-tests (Files): Likewise.
40493         * modules/freadahead-tests (Files): Likewise.
40494         * modules/freading-tests (Files): Likewise.
40495         * modules/freadptr-tests (Files): Likewise.
40496         * modules/freadseek-tests (Files): Likewise.
40497         * modules/freopen-tests (Files): Likewise.
40498         * modules/frexp-nolibm-tests (Files): Likewise.
40499         * modules/frexp-tests (Files): Likewise.
40500         * modules/frexpl-nolibm-tests (Files): Likewise.
40501         * modules/frexpl-tests (Files): Likewise.
40502         * modules/fseek-tests (Files): Likewise.
40503         * modules/fseeko-tests (Files): Likewise.
40504         * modules/fstrcmp-tests (Files): Likewise.
40505         * modules/fsync-tests (Files): Likewise.
40506         * modules/ftell-tests (Files): Likewise.
40507         * modules/ftello-tests (Files): Likewise.
40508         * modules/func-tests (Files): Likewise.
40509         * modules/futimens-tests (Files): Likewise.
40510         * modules/fwritable-tests (Files): Likewise.
40511         * modules/fwriting-tests (Files): Likewise.
40512         * modules/getcwd-tests (Files): Likewise.
40513         * modules/getdate-tests (Files): Likewise.
40514         * modules/getdelim-tests (Files): Likewise.
40515         * modules/getdtablesize-tests (Files): Likewise.
40516         * modules/getgroups-tests (Files): Likewise.
40517         * modules/getline-tests (Files): Likewise.
40518         * modules/getndelim2-tests (Files): Likewise.
40519         * modules/glob-tests (Files): Likewise.
40520         * modules/hash-tests (Files): Likewise.
40521         * modules/i-ring-tests (Files): Likewise.
40522         * modules/iconv-tests (Files): Likewise.
40523         * modules/iconv_open-utf-tests (Files): Likewise.
40524         * modules/idpriv-drop-tests (Files): Likewise.
40525         * modules/idpriv-droptemp-tests (Files): Likewise.
40526         * modules/inet_ntop-tests (Files): Likewise.
40527         * modules/inet_pton-tests (Files): Likewise.
40528         * modules/isblank-tests (Files): Likewise.
40529         * modules/isfinite-tests (Files): Likewise.
40530         * modules/isinf-tests (Files): Likewise.
40531         * modules/isnan-tests (Files): Likewise.
40532         * modules/isnand-nolibm-tests (Files): Likewise.
40533         * modules/isnand-tests (Files): Likewise.
40534         * modules/isnanf-nolibm-tests (Files): Likewise.
40535         * modules/isnanf-tests (Files): Likewise.
40536         * modules/isnanl-nolibm-tests (Files): Likewise.
40537         * modules/isnanl-tests (Files): Likewise.
40538         * modules/lchown-tests (Files): Likewise.
40539         * modules/ldexpl-tests (Files): Likewise.
40540         * modules/link-tests (Files): Likewise.
40541         * modules/linkat-tests (Files): Likewise.
40542         * modules/linked-list-tests (Files): Likewise.
40543         * modules/linkedhash-list-tests (Files): Likewise.
40544         * modules/localename-tests (Files): Likewise.
40545         * modules/lseek-tests (Files): Likewise.
40546         * modules/lstat-tests (Files): Likewise.
40547         * modules/mbmemcasecmp-tests (Files): Likewise.
40548         * modules/mbmemcasecoll-tests (Files): Likewise.
40549         * modules/mbrtowc-tests (Files): Likewise.
40550         * modules/mbscasecmp-tests (Files): Likewise.
40551         * modules/mbscasestr-tests (Files): Likewise.
40552         * modules/mbschr-tests (Files): Likewise.
40553         * modules/mbscspn-tests (Files): Likewise.
40554         * modules/mbsinit-tests (Files): Likewise.
40555         * modules/mbsncasecmp-tests (Files): Likewise.
40556         * modules/mbsnrtowcs-tests (Files): Likewise.
40557         * modules/mbspbrk-tests (Files): Likewise.
40558         * modules/mbspcasecmp-tests (Files): Likewise.
40559         * modules/mbsrchr-tests (Files): Likewise.
40560         * modules/mbsrtowcs-tests (Files): Likewise.
40561         * modules/mbsspn-tests (Files): Likewise.
40562         * modules/mbsstr-tests (Files): Likewise.
40563         * modules/memchr-tests (Files): Likewise.
40564         * modules/memchr2-tests (Files): Likewise.
40565         * modules/memcmp-tests (Files): Likewise.
40566         * modules/memmem-tests (Files): Likewise.
40567         * modules/memrchr-tests (Files): Likewise.
40568         * modules/mkdir-tests (Files): Likewise.
40569         * modules/mkfifo-tests (Files): Likewise.
40570         * modules/mkfifoat-tests (Files): Likewise.
40571         * modules/mknod-tests (Files): Likewise.
40572         * modules/nanosleep-tests (Files): Likewise.
40573         * modules/nl_langinfo-tests (Files): Likewise.
40574         * modules/obstack-printf-tests (Files): Likewise.
40575         * modules/open-tests (Files): Likewise.
40576         * modules/openat-tests (Files): Likewise.
40577         * modules/pipe-filter-gi-tests (Files): Likewise.
40578         * modules/pipe-filter-ii-tests (Files): Likewise.
40579         * modules/pipe2-tests (Files): Likewise.
40580         * modules/popen-safer-tests (Files): Likewise.
40581         * modules/popen-tests (Files): Likewise.
40582         * modules/posixtm-tests (Files): Likewise.
40583         * modules/pread-tests (Files): Likewise.
40584         * modules/printf-frexp-tests (Files): Likewise.
40585         * modules/printf-frexpl-tests (Files): Likewise.
40586         * modules/printf-posix-tests (Files): Likewise.
40587         * modules/priv-set-tests (Files): Likewise.
40588         * modules/quotearg-tests (Files): Likewise.
40589         * modules/random_r-tests (Files): Likewise.
40590         * modules/rawmemchr-tests (Files): Likewise.
40591         * modules/rbtree-list-tests (Files): Likewise.
40592         * modules/rbtree-oset-tests (Files): Likewise.
40593         * modules/rbtreehash-list-tests (Files): Likewise.
40594         * modules/readlink-tests (Files): Likewise.
40595         * modules/remove-tests (Files): Likewise.
40596         * modules/rename-tests (Files): Likewise.
40597         * modules/renameat-tests (Files): Likewise.
40598         * modules/rmdir-tests (Files): Likewise.
40599         * modules/round-tests (Files): Likewise.
40600         * modules/roundf-tests (Files): Likewise.
40601         * modules/roundl-tests (Files): Likewise.
40602         * modules/safe-alloc-tests (Files): Likewise.
40603         * modules/setenv-tests (Files): Likewise.
40604         * modules/sigaction-tests (Files): Likewise.
40605         * modules/signbit-tests (Files): Likewise.
40606         * modules/sleep-tests (Files): Likewise.
40607         * modules/snprintf-posix-tests (Files): Likewise.
40608         * modules/snprintf-tests (Files): Likewise.
40609         * modules/sprintf-posix-tests (Files): Likewise.
40610         * modules/stat-tests (Files): Likewise.
40611         * modules/stat-time-tests (Files): Likewise.
40612         * modules/strcasestr-tests (Files): Likewise.
40613         * modules/strchrnul-tests (Files): Likewise.
40614         * modules/strerror-tests (Files): Likewise.
40615         * modules/striconv-tests (Files): Likewise.
40616         * modules/striconveh-tests (Files): Likewise.
40617         * modules/striconveha-tests (Files): Likewise.
40618         * modules/strsignal-tests (Files): Likewise.
40619         * modules/strstr-tests (Files): Likewise.
40620         * modules/strtod-tests (Files): Likewise.
40621         * modules/strverscmp-tests (Files): Likewise.
40622         * modules/symlink-tests (Files): Likewise.
40623         * modules/symlinkat-tests (Files): Likewise.
40624         * modules/trunc-tests (Files): Likewise.
40625         * modules/truncf-tests (Files): Likewise.
40626         * modules/truncl-tests (Files): Likewise.
40627         * modules/uname-tests (Files): Likewise.
40628         * modules/unicase/cased-tests (Files): Likewise.
40629         * modules/unicase/ignorable-tests (Files): Likewise.
40630         * modules/unicase/locale-language-tests (Files): Likewise.
40631         * modules/unicase/tolower-tests (Files): Likewise.
40632         * modules/unicase/totitle-tests (Files): Likewise.
40633         * modules/unicase/toupper-tests (Files): Likewise.
40634         * modules/unicase/u8-casecmp-tests (Files): Likewise.
40635         * modules/unicase/u8-casecoll-tests (Files): Likewise.
40636         * modules/unicase/u8-casefold-tests (Files): Likewise.
40637         * modules/unicase/u8-is-cased-tests (Files): Likewise.
40638         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
40639         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
40640         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
40641         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
40642         * modules/unicase/u8-tolower-tests (Files): Likewise.
40643         * modules/unicase/u8-totitle-tests (Files): Likewise.
40644         * modules/unicase/u8-toupper-tests (Files): Likewise.
40645         * modules/unicase/u16-casecmp-tests (Files): Likewise.
40646         * modules/unicase/u16-casecoll-tests (Files): Likewise.
40647         * modules/unicase/u16-casefold-tests (Files): Likewise.
40648         * modules/unicase/u16-is-cased-tests (Files): Likewise.
40649         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
40650         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
40651         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
40652         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
40653         * modules/unicase/u16-tolower-tests (Files): Likewise.
40654         * modules/unicase/u16-totitle-tests (Files): Likewise.
40655         * modules/unicase/u16-toupper-tests (Files): Likewise.
40656         * modules/unicase/u32-casecmp-tests (Files): Likewise.
40657         * modules/unicase/u32-casecoll-tests (Files): Likewise.
40658         * modules/unicase/u32-casefold-tests (Files): Likewise.
40659         * modules/unicase/u32-is-cased-tests (Files): Likewise.
40660         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
40661         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
40662         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
40663         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
40664         * modules/unicase/u32-tolower-tests (Files): Likewise.
40665         * modules/unicase/u32-totitle-tests (Files): Likewise.
40666         * modules/unicase/u32-toupper-tests (Files): Likewise.
40667         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
40668         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
40669         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
40670         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
40671         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
40672         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
40673         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
40674         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
40675         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
40676         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
40677         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
40678         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
40679         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
40680         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
40681         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
40682         * modules/unictype/bidicategory-name-tests (Files): Likewise.
40683         * modules/unictype/bidicategory-of-tests (Files): Likewise.
40684         * modules/unictype/bidicategory-test-tests (Files): Likewise.
40685         * modules/unictype/block-list-tests (Files): Likewise.
40686         * modules/unictype/block-of-tests (Files): Likewise.
40687         * modules/unictype/block-test-tests (Files): Likewise.
40688         * modules/unictype/category-C-tests (Files): Likewise.
40689         * modules/unictype/category-Cc-tests (Files): Likewise.
40690         * modules/unictype/category-Cf-tests (Files): Likewise.
40691         * modules/unictype/category-Cn-tests (Files): Likewise.
40692         * modules/unictype/category-Co-tests (Files): Likewise.
40693         * modules/unictype/category-Cs-tests (Files): Likewise.
40694         * modules/unictype/category-L-tests (Files): Likewise.
40695         * modules/unictype/category-Ll-tests (Files): Likewise.
40696         * modules/unictype/category-Lm-tests (Files): Likewise.
40697         * modules/unictype/category-Lo-tests (Files): Likewise.
40698         * modules/unictype/category-Lt-tests (Files): Likewise.
40699         * modules/unictype/category-Lu-tests (Files): Likewise.
40700         * modules/unictype/category-M-tests (Files): Likewise.
40701         * modules/unictype/category-Mc-tests (Files): Likewise.
40702         * modules/unictype/category-Me-tests (Files): Likewise.
40703         * modules/unictype/category-Mn-tests (Files): Likewise.
40704         * modules/unictype/category-N-tests (Files): Likewise.
40705         * modules/unictype/category-Nd-tests (Files): Likewise.
40706         * modules/unictype/category-Nl-tests (Files): Likewise.
40707         * modules/unictype/category-No-tests (Files): Likewise.
40708         * modules/unictype/category-P-tests (Files): Likewise.
40709         * modules/unictype/category-Pc-tests (Files): Likewise.
40710         * modules/unictype/category-Pd-tests (Files): Likewise.
40711         * modules/unictype/category-Pe-tests (Files): Likewise.
40712         * modules/unictype/category-Pf-tests (Files): Likewise.
40713         * modules/unictype/category-Pi-tests (Files): Likewise.
40714         * modules/unictype/category-Po-tests (Files): Likewise.
40715         * modules/unictype/category-Ps-tests (Files): Likewise.
40716         * modules/unictype/category-S-tests (Files): Likewise.
40717         * modules/unictype/category-Sc-tests (Files): Likewise.
40718         * modules/unictype/category-Sk-tests (Files): Likewise.
40719         * modules/unictype/category-Sm-tests (Files): Likewise.
40720         * modules/unictype/category-So-tests (Files): Likewise.
40721         * modules/unictype/category-Z-tests (Files): Likewise.
40722         * modules/unictype/category-Zl-tests (Files): Likewise.
40723         * modules/unictype/category-Zp-tests (Files): Likewise.
40724         * modules/unictype/category-Zs-tests (Files): Likewise.
40725         * modules/unictype/category-and-not-tests (Files): Likewise.
40726         * modules/unictype/category-and-tests (Files): Likewise.
40727         * modules/unictype/category-byname-tests (Files): Likewise.
40728         * modules/unictype/category-name-tests (Files): Likewise.
40729         * modules/unictype/category-none-tests (Files): Likewise.
40730         * modules/unictype/category-of-tests (Files): Likewise.
40731         * modules/unictype/category-or-tests (Files): Likewise.
40732         * modules/unictype/category-test-withtable-tests (Files): Likewise.
40733         * modules/unictype/combining-class-tests (Files): Likewise.
40734         * modules/unictype/ctype-alnum-tests (Files): Likewise.
40735         * modules/unictype/ctype-alpha-tests (Files): Likewise.
40736         * modules/unictype/ctype-blank-tests (Files): Likewise.
40737         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
40738         * modules/unictype/ctype-digit-tests (Files): Likewise.
40739         * modules/unictype/ctype-graph-tests (Files): Likewise.
40740         * modules/unictype/ctype-lower-tests (Files): Likewise.
40741         * modules/unictype/ctype-print-tests (Files): Likewise.
40742         * modules/unictype/ctype-punct-tests (Files): Likewise.
40743         * modules/unictype/ctype-space-tests (Files): Likewise.
40744         * modules/unictype/ctype-upper-tests (Files): Likewise.
40745         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
40746         * modules/unictype/decimal-digit-tests (Files): Likewise.
40747         * modules/unictype/digit-tests (Files): Likewise.
40748         * modules/unictype/mirror-tests (Files): Likewise.
40749         * modules/unictype/numeric-tests (Files): Likewise.
40750         * modules/unictype/property-alphabetic-tests (Files): Likewise.
40751         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
40752         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
40753         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
40754         Likewise.
40755         * modules/unictype/property-bidi-block-separator-tests (Files):
40756         Likewise.
40757         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
40758         Likewise.
40759         * modules/unictype/property-bidi-common-separator-tests (Files):
40760         Likewise.
40761         * modules/unictype/property-bidi-control-tests (Files): Likewise.
40762         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
40763         Likewise.
40764         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
40765         Likewise.
40766         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
40767         Likewise.
40768         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
40769         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
40770         Likewise.
40771         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
40772         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
40773         Likewise.
40774         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
40775         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
40776         * modules/unictype/property-bidi-segment-separator-tests (Files):
40777         Likewise.
40778         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
40779         * modules/unictype/property-byname-tests (Files): Likewise.
40780         * modules/unictype/property-combining-tests (Files): Likewise.
40781         * modules/unictype/property-composite-tests (Files): Likewise.
40782         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
40783         * modules/unictype/property-dash-tests (Files): Likewise.
40784         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
40785         * modules/unictype/property-default-ignorable-code-point-tests (Files):
40786         Likewise.
40787         * modules/unictype/property-deprecated-tests (Files): Likewise.
40788         * modules/unictype/property-diacritic-tests (Files): Likewise.
40789         * modules/unictype/property-extender-tests (Files): Likewise.
40790         * modules/unictype/property-format-control-tests (Files): Likewise.
40791         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
40792         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
40793         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
40794         * modules/unictype/property-hex-digit-tests (Files): Likewise.
40795         * modules/unictype/property-hyphen-tests (Files): Likewise.
40796         * modules/unictype/property-id-continue-tests (Files): Likewise.
40797         * modules/unictype/property-id-start-tests (Files): Likewise.
40798         * modules/unictype/property-ideographic-tests (Files): Likewise.
40799         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
40800         * modules/unictype/property-ids-trinary-operator-tests (Files):
40801         Likewise.
40802         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
40803         * modules/unictype/property-iso-control-tests (Files): Likewise.
40804         * modules/unictype/property-join-control-tests (Files): Likewise.
40805         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
40806         * modules/unictype/property-line-separator-tests (Files): Likewise.
40807         * modules/unictype/property-logical-order-exception-tests (Files):
40808         Likewise.
40809         * modules/unictype/property-lowercase-tests (Files): Likewise.
40810         * modules/unictype/property-math-tests (Files): Likewise.
40811         * modules/unictype/property-non-break-tests (Files): Likewise.
40812         * modules/unictype/property-not-a-character-tests (Files): Likewise.
40813         * modules/unictype/property-numeric-tests (Files): Likewise.
40814         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
40815         * modules/unictype/property-other-default-ignorable-code-point-tests
40816         (Files): Likewise.
40817         * modules/unictype/property-other-grapheme-extend-tests (Files):
40818         Likewise.
40819         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
40820         * modules/unictype/property-other-id-start-tests (Files): Likewise.
40821         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
40822         * modules/unictype/property-other-math-tests (Files): Likewise.
40823         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
40824         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
40825         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
40826         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
40827         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
40828         * modules/unictype/property-private-use-tests (Files): Likewise.
40829         * modules/unictype/property-punctuation-tests (Files): Likewise.
40830         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
40831         * modules/unictype/property-radical-tests (Files): Likewise.
40832         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
40833         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
40834         * modules/unictype/property-space-tests (Files): Likewise.
40835         * modules/unictype/property-terminal-punctuation-tests (Files):
40836         Likewise.
40837         * modules/unictype/property-test-tests (Files): Likewise.
40838         * modules/unictype/property-titlecase-tests (Files): Likewise.
40839         * modules/unictype/property-unassigned-code-value-tests (Files):
40840         Likewise.
40841         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
40842         * modules/unictype/property-uppercase-tests (Files): Likewise.
40843         * modules/unictype/property-variation-selector-tests (Files): Likewise.
40844         * modules/unictype/property-white-space-tests (Files): Likewise.
40845         * modules/unictype/property-xid-continue-tests (Files): Likewise.
40846         * modules/unictype/property-xid-start-tests (Files): Likewise.
40847         * modules/unictype/property-zero-width-tests (Files): Likewise.
40848         * modules/unictype/scripts-tests (Files): Likewise.
40849         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
40850         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
40851         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
40852         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
40853         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
40854         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
40855         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
40856         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
40857         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
40858         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
40859         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
40860         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
40861         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
40862         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
40863         * modules/uninorm/composition-tests (Files): Likewise.
40864         * modules/uninorm/decomposing-form-tests (Files): Likewise.
40865         * modules/uninorm/decomposition-tests (Files): Likewise.
40866         * modules/uninorm/filter-tests (Files): Likewise.
40867         * modules/uninorm/nfc-tests (Files): Likewise.
40868         * modules/uninorm/nfd-tests (Files): Likewise.
40869         * modules/uninorm/nfkc-tests (Files): Likewise.
40870         * modules/uninorm/nfkd-tests (Files): Likewise.
40871         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
40872         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
40873         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
40874         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
40875         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
40876         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
40877         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
40878         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
40879         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
40880         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
40881         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
40882         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
40883         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
40884         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
40885         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
40886         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
40887         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
40888         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
40889         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
40890         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
40891         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
40892         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
40893         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
40894         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
40895         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
40896         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
40897         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
40898         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
40899         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
40900         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
40901         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
40902         * modules/uniwidth/u8-width-tests (Files): Likewise.
40903         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
40904         * modules/uniwidth/u16-width-tests (Files): Likewise.
40905         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
40906         * modules/uniwidth/u32-width-tests (Files): Likewise.
40907         * modules/uniwidth/width-tests (Files): Likewise.
40908         * modules/unlink-tests (Files): Likewise.
40909         * modules/unsetenv-tests (Files): Likewise.
40910         * modules/usleep-tests (Files): Likewise.
40911         * modules/utimens-tests (Files): Likewise.
40912         * modules/utimensat-tests (Files): Likewise.
40913         * modules/vasnprintf-posix-tests (Files): Likewise.
40914         * modules/vasnprintf-tests (Files): Likewise.
40915         * modules/vasprintf-posix-tests (Files): Likewise.
40916         * modules/vasprintf-tests (Files): Likewise.
40917         * modules/vdprintf-posix-tests (Files): Likewise.
40918         * modules/vfprintf-posix-tests (Files): Likewise.
40919         * modules/vprintf-posix-tests (Files): Likewise.
40920         * modules/vsnprintf-posix-tests (Files): Likewise.
40921         * modules/vsnprintf-tests (Files): Likewise.
40922         * modules/vsprintf-posix-tests (Files): Likewise.
40923         * modules/wcrtomb-tests (Files): Likewise.
40924         * modules/wcsnrtombs-tests (Files): Likewise.
40925         * modules/wcsrtombs-tests (Files): Likewise.
40926         * modules/wctype-tests (Files): Likewise.
40927         * modules/wcwidth-tests (Files): Likewise.
40928         * modules/xmemdup0-tests (Files): Likewise.
40929         * modules/xprintf-posix-tests (Files): Likewise.
40930         * modules/xvasprintf-tests (Files): Likewise.
40931
40932 2009-12-24  Eric Blake  <ebb9@byu.net>
40933
40934         test-nanosleep: fix typo
40935         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
40936         patch.
40937         Reported by Bruno Haible.
40938
40939 2009-12-24  Bruno Haible  <bruno@clisp.org>
40940
40941         Reduce namespace pollution on glibc systems.
40942         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
40943         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
40944         systems.
40945         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
40946         <getopt.h> on glibc systems.
40947         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
40948         systems.
40949         * lib/fcntl.c: Include <unistd.h> here instead.
40950
40951 2009-12-24  Bruno Haible  <bruno@clisp.org>
40952
40953         * lib/stdlib.in.h (includes): Fix typo in today's commit.
40954
40955 2009-12-24  Eric Blake  <ebb9@byu.net>
40956
40957         tests: add signature checks
40958         * tests/signature.h (SIGNATURE_CHECK): New file.
40959         * modules/atexit-tests (Files): Use it.
40960         * modules/btowc-tests (Files): Likewise.
40961         * modules/canonicalize-lgpl-tests (Files): Likewise.
40962         * modules/ceilf-tests (Files): Likewise.
40963         * modules/ceill-tests (Files): Likewise.
40964         * modules/chown-tests (Files): Likewise.
40965         * modules/dprintf-posix-tests (Files): Likewise.
40966         * modules/dup2-tests (Files): Likewise.
40967         * modules/dup3-tests (Files): Likewise.
40968         * modules/duplocale-tests (Files): Likewise.
40969         * modules/fchdir-tests (Files): Likewise.
40970         * modules/fcntl-tests (Files): Likewise.
40971         * modules/fdopendir-tests (Files): Likewise.
40972         * modules/fflush-tests (Files): Likewise.
40973         * modules/flock-tests (Files): Likewise.
40974         * modules/floorf-tests (Files): Likewise.
40975         * modules/floorl-tests (Files): Likewise.
40976         * modules/fnmatch-tests (Files): Likewise.
40977         * modules/fopen-tests (Files): Likewise.
40978         * modules/fprintf-posix-tests (Files): Likewise.
40979         * modules/freopen-tests (Files): Likewise.
40980         * modules/frexp-nolibm-tests (Files): Likewise.
40981         * modules/frexp-tests (Files): Likewise.
40982         * modules/frexpl-nolibm-tests (Files): Likewise.
40983         * modules/frexpl-tests (Files): Likewise.
40984         * modules/fseek-tests (Files): Likewise.
40985         * modules/fseeko-tests (Files): Likewise.
40986         * modules/fsync-tests (Files): Likewise.
40987         * modules/ftell-tests (Files): Likewise.
40988         * modules/ftello-tests (Files): Likewise.
40989         * modules/futimens-tests (Files): Likewise.
40990         * modules/getaddrinfo-tests (Files): Likewise.
40991         * modules/getcwd-tests (Files): Likewise.
40992         * modules/getdelim-tests (Files): Likewise.
40993         * modules/getdtablesize-tests (Files): Likewise.
40994         * modules/getgroups-tests (Files): Likewise.
40995         * modules/gethostname-tests (Files): Likewise.
40996         * modules/getline-tests (Files): Likewise.
40997         * modules/getopt-posix-tests (Files): Likewise.
40998         * modules/gettimeofday-tests (Files): Likewise.
40999         * modules/glob-tests (Files): Likewise.
41000         * modules/iconv-tests (Files): Likewise.
41001         * modules/inet_ntop-tests (Files): Likewise.
41002         * modules/inet_pton-tests (Files): Likewise.
41003         * modules/isblank-tests (Files): Likewise.
41004         * modules/lchown-tests (Files): Likewise.
41005         * modules/ldexpl-tests (Files): Likewise.
41006         * modules/link-tests (Files): Likewise.
41007         * modules/linkat-tests (Files): Likewise.
41008         * modules/lseek-tests (Files): Likewise.
41009         * modules/lstat-tests (Files): Likewise.
41010         * modules/mbrtowc-tests (Files): Likewise.
41011         * modules/mbsinit-tests (Files): Likewise.
41012         * modules/mbsnrtowcs-tests (Files): Likewise.
41013         * modules/mbsrtowcs-tests (Files): Likewise.
41014         * modules/memchr-tests (Files): Likewise.
41015         * modules/memcmp-tests (Files): Likewise.
41016         * modules/memmem-tests (Files): Likewise.
41017         * modules/memrchr-tests (Files): Likewise.
41018         * modules/mkdir-tests (Files): Likewise.
41019         * modules/mkfifo-tests (Files): Likewise.
41020         * modules/mkfifoat-tests (Files): Likewise.
41021         * modules/mknod-tests (Files): Likewise.
41022         * modules/nanosleep-tests (Files): Likewise.
41023         * modules/nl_langinfo-tests (Files): Likewise.
41024         * modules/obstack-printf-tests (Files): Likewise.
41025         * modules/open-tests (Files): Likewise.
41026         * modules/openat-tests (Files): Likewise.
41027         * modules/perror-tests (Files): Likewise.
41028         * modules/pipe2-tests (Files): Likewise.
41029         * modules/poll-tests (Files): Likewise.
41030         * modules/popen-tests (Files): Likewise.
41031         * modules/posix_spawn-tests (Files): Likewise.
41032         * modules/posix_spawnp-tests (Files): Likewise.
41033         * modules/pread-tests (Files): Likewise.
41034         * modules/printf-posix-tests (Files): Likewise.
41035         * modules/pty-tests (Files): Likewise.
41036         * modules/random_r-tests (Files): Likewise.
41037         * modules/rawmemchr-tests (Files): Likewise.
41038         * modules/readlink-tests (Files): Likewise.
41039         * modules/remove-tests (Files): Likewise.
41040         * modules/rename-tests (Files): Likewise.
41041         * modules/renameat-tests (Files): Likewise.
41042         * modules/rmdir-tests (Files): Likewise.
41043         * modules/round-tests (Files): Likewise.
41044         * modules/roundf-tests (Files): Likewise.
41045         * modules/roundl-tests (Files): Likewise.
41046         * modules/select-tests (Files): Likewise.
41047         * modules/setenv-tests (Files): Likewise.
41048         * modules/sigaction-tests (Files): Likewise.
41049         * modules/sleep-tests (Files): Likewise.
41050         * modules/snprintf-posix-tests (Files): Likewise.
41051         * modules/snprintf-tests (Files): Likewise.
41052         * modules/sprintf-posix-tests (Files): Likewise.
41053         * modules/stat-tests (Files): Likewise.
41054         * modules/strcasestr-tests (Files): Likewise.
41055         * modules/strchrnul-tests (Files): Likewise.
41056         * modules/strerror-tests (Files): Likewise.
41057         * modules/strsignal-tests (Files): Likewise.
41058         * modules/strstr-tests (Files): Likewise.
41059         * modules/strtod-tests (Files): Likewise.
41060         * modules/strverscmp-tests (Files): Likewise.
41061         * modules/symlink-tests (Files): Likewise.
41062         * modules/symlinkat-tests (Files): Likewise.
41063         * modules/times-tests (Files): Likewise.
41064         * modules/trunc-tests (Files): Likewise.
41065         * modules/truncf-tests (Files): Likewise.
41066         * modules/truncl-tests (Files): Likewise.
41067         * modules/tsearch-tests (Files): Likewise.
41068         * modules/uname-tests (Files): Likewise.
41069         * modules/unlink-tests (Files): Likewise.
41070         * modules/unsetenv-tests (Files): Likewise.
41071         * modules/usleep-tests (Files): Likewise.
41072         * modules/utimensat-tests (Files): Likewise.
41073         * modules/vasprintf-tests (Files): Likewise.
41074         * modules/vdprintf-posix-tests (Files): Likewise.
41075         * modules/vfprintf-posix-tests (Files): Likewise.
41076         * modules/vprintf-posix-tests (Files): Likewise.
41077         * modules/vsnprintf-posix-tests (Files): Likewise.
41078         * modules/vsnprintf-tests (Files): Likewise.
41079         * modules/vsprintf-posix-tests (Files): Likewise.
41080         * modules/wcrtomb-tests (Files): Likewise.
41081         * modules/wcsnrtombs-tests (Files): Likewise.
41082         * modules/wcsrtombs-tests (Files): Likewise.
41083         * modules/wcwidth-tests (Files): Likewise.
41084         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
41085         * tests/test-isinf.c (isinf): Likewise.
41086         * tests/test-isnan.c (isnan): Likewise.
41087         * tests/test-signbit.c (signbit): Likewise.
41088         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
41089         declaration, either as macro or with correct signature.
41090         (select): Ensure function under test is declared with correct
41091         signature in correct header.
41092         * tests/test-atexit.c (atexit): Likewise.
41093         * tests/test-btowc.c (btowc): Likewise.
41094         * tests/test-canonicalize-lgpl.c (realpath)
41095         (canonicalize_file_name): Likewise.
41096         * tests/test-ceilf1.c (ceilf): Likewise.
41097         * tests/test-ceill.c (ceill): Likewise.
41098         * tests/test-chown.c (chown): Likewise.
41099         * tests/test-dprintf-posix.c (dprintf): Likewise.
41100         * tests/test-dup2.c (dup2): Likewise.
41101         * tests/test-dup3.c (dup3): Likewise.
41102         * tests/test-duplocale.c (duplocale): Likewise.
41103         * tests/test-fchdir.c (fchdir): Likewise.
41104         * tests/test-fchownat.c (fchownat): Likewise.
41105         * tests/test-fcntl.c (fcntl): Likewise.
41106         * tests/test-fdopendir.c (fdopendir): Likewise.
41107         * tests/test-fflush.c (fflush): Likewise.
41108         * tests/test-flock.c (flock): Likewise.
41109         * tests/test-floorf1.c (floorf): Likewise.
41110         * tests/test-floorl.c (floorl): Likewise.
41111         * tests/test-fnmatch.c (fnmatch): Likewise.
41112         * tests/test-fopen.c (fopen): Likewise.
41113         * tests/test-fprintf-posix.c (fprintf): Likewise.
41114         * tests/test-freopen.c (freopen): Likewise.
41115         * tests/test-frexp.c (frexp): Likewise.
41116         * tests/test-frexpl.c (frexpl): Likewise.
41117         * tests/test-fseek.c (fseek): Likewise.
41118         * tests/test-fseeko.c (fseeko): Likewise.
41119         * tests/test-fstatat.c (fstatat): Likewise.
41120         * tests/test-fsync.c (fsync): Likewise.
41121         * tests/test-ftell.c (ftell): Likewise.
41122         * tests/test-ftello.c (ftello): Likewise.
41123         * tests/test-futimens.c (futimens): Likewise.
41124         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
41125         (gai_strerror): Likewise.
41126         * tests/test-getcwd.c (getcwd): Likewise.
41127         * tests/test-getdelim.c (getdelim): Likewise.
41128         * tests/test-getdtablesize.c (getdtablesize): Likewise.
41129         * tests/test-getgroups.c (getgroups): Likewise.
41130         * tests/test-gethostname.c (gethostname): Likewise.
41131         * tests/test-getline.c (getline): Likewise.
41132         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
41133         Likewise.
41134         * tests/test-gettimeofday.c (gettimeofday): Likewise.
41135         * tests/test-glob.c (glob, globfree): Likewise.
41136         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
41137         * tests/test-inet_ntop.c (inet_ntop): Likewise.
41138         * tests/test-inet_pton.c (inet_pton): Likewise.
41139         * tests/test-isblank.c (isblank): Likewise.
41140         * tests/test-lchown.c (lchown): Likewise.
41141         * tests/test-ldexpl.c (ldexpl): Likewise.
41142         * tests/test-link.c (link): Likewise.
41143         * tests/test-linkat.c (linkat): Likewise.
41144         * tests/test-lseek.c (lseek): Likewise.
41145         * tests/test-lstat.c (lstat): Likewise.
41146         * tests/test-mbrtowc.c (mbrtowc): Likewise.
41147         * tests/test-mbsinit.c (mbsinit): Likewise.
41148         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
41149         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
41150         * tests/test-memchr.c (memchr): Likewise.
41151         * tests/test-memcmp.c (memcmp): Likewise.
41152         * tests/test-memmem.c (memmem): Likewise.
41153         * tests/test-memrchr.c (memrchr): Likewise.
41154         * tests/test-mkdir.c (mkdir): Likewise.
41155         * tests/test-mkdirat.c (mkdirat): Likewise.
41156         * tests/test-mkfifo.c (mkfifo): Likewise.
41157         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
41158         * tests/test-mknod.c (mknod): Likewise.
41159         * tests/test-nanosleep.c (nanosleep): Likewise.
41160         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
41161         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
41162         Likewise.
41163         * tests/test-open.c (open): Likewise.
41164         * tests/test-openat.c (openat): Likewise.
41165         * tests/test-perror.c (perror): Likewise.
41166         * tests/test-pipe2.c (pipe2): Likewise.
41167         * tests/test-poll.c (poll): Likewise.
41168         * tests/test-popen.c (popen, pclose): Likewise.
41169         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
41170         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
41171         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
41172         (posix_spawn_file_actions_destroy)
41173         (posix_spawn_file_actions_addclose)
41174         (posix_spawn_file_actions_addopen)
41175         (posix_spawn_file_actions_adddup2): Likewise.
41176         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
41177         * tests/test-pread.c (pread): Likewise.
41178         * tests/test-printf-posix.c (printf): Likewise.
41179         * tests/test-pty.c (openpty, forkpty): Likewise.
41180         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
41181         (random_r): Likewise.
41182         * tests/test-rawmemchr.c (rawmemchr): Likewise.
41183         * tests/test-readlink.c (readlink): Likewise.
41184         * tests/test-remove.c (remove): Likewise.
41185         * tests/test-rename.c (rename): Likewise.
41186         * tests/test-renameat.c (renameat): Likewise.
41187         * tests/test-rmdir.c (rmdir): Likewise.
41188         * tests/test-round1.c (round): Likewise.
41189         * tests/test-roundf1.c (roundf): Likewise.
41190         * tests/test-roundl.c (roundl): Likewise.
41191         * tests/test-setenv.c (setenv): Likewise.
41192         * tests/test-sigaction.c (sigaction): Likewise.
41193         * tests/test-sleep.c (sleep): Likewise.
41194         * tests/test-snprintf.c (snprintf): Likewise.
41195         * tests/test-sprintf-posix.c (sprintf): Likewise.
41196         * tests/test-stat.c (stat): Likewise.
41197         * tests/test-stpncpy.c (stpncpy): Likewise.
41198         * tests/test-strcasestr.c (strcasestr): Likewise.
41199         * tests/test-strchrnul.c (strchrnul): Likewise.
41200         * tests/test-strerror.c (strerror): Likewise.
41201         * tests/test-strsignal.c (strsignal): Likewise.
41202         * tests/test-strstr.c (strstr): Likewise.
41203         * tests/test-strtod.c (strtod): Likewise.
41204         * tests/test-strverscmp.c (strverscmp): Likewise.
41205         * tests/test-symlink.c (symlink): Likewise.
41206         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
41207         * tests/test-times.c (times): Likewise.
41208         * tests/test-trunc1.c (trunc): Likewise.
41209         * tests/test-truncf1.c (truncf): Likewise.
41210         * tests/test-truncl.c (truncl): Likewise.
41211         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
41212         Likewise.
41213         * tests/test-uname.c (uname): Likewise.
41214         * tests/test-unlink.c (unlink): Likewise.
41215         * tests/test-unlinkat.c (unlinkat): Likewise.
41216         * tests/test-unsetenv.c (unsetenv): Likewise.
41217         * tests/test-usleep.c (usleep): Likewise.
41218         * tests/test-utimensat.c (utimensat): Likewise.
41219         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
41220         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
41221         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
41222         * tests/test-vprintf-posix.c (vprintf): Likewise.
41223         * tests/test-vsnprintf.c (vsnprintf): Likewise.
41224         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
41225         * tests/test-wcrtomb.c (wcrtomb): Likewise.
41226         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
41227         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
41228         * tests/test-wcwidth.c (wcwidth): Likewise.
41229
41230         build: pull in conditional headers during GNULIB_POSIXCHECK
41231         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
41232         definitions from any conditionally-included headers.
41233         * lib/stdlib.in.h (includes): Likewise.
41234         * lib/unistd.in.h (includes): Likewise.
41235
41236 2009-12-24  Bruno Haible  <bruno@clisp.org>
41237
41238         * tests/test-argv-iter.c: Include header file being tested immediately
41239         after config.h.
41240         * tests/test-base64.c: Likewise.
41241         * tests/test-flock.c: Likewise.
41242         * tests/test-fsync.c: Likewise.
41243         * tests/test-getdate.c: Likewise.
41244         * tests/test-getndelim2.c: Likewise.
41245         * tests/test-isfinite.c: Likewise.
41246         * tests/test-isinf.c: Likewise.
41247         * tests/test-strerror.c: Likewise.
41248         * tests/test-strsignal.c: Likewise.
41249
41250 2009-12-23  Eric Blake  <ebb9@byu.net>
41251
41252         unistd: work around cygwin bug
41253         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
41254         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
41255         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41256
41257 2009-12-23  Bruno Haible  <bruno@clisp.org>
41258
41259         localename: More tests.
41260         * tests/test-localename.c (SIZEOF): New macro.
41261         (categories): New variable.
41262         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
41263         test_locale_name_default): Add test w.r.t. thread locale.
41264         (test_locale_name_thread): New function.
41265         (main): Invoke it.
41266
41267         localename: Make aware of thread locale.
41268         * lib/localename.h (gl_locale_name_thread): New declaration.
41269         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
41270         behaviour with respect to thread locale.
41271         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
41272         <langinfo.h>, glthread/lock.h.
41273         (SIZE_BITS): New macro.
41274         (string_hash): New function.
41275         (struct hash_node): New type.
41276         (HASH_TABLE_SIZE): New macro.
41277         (struniq_hash_table, struniq_lock): New variables.
41278         (struniq): New function.
41279         (gl_locale_name_thread): New function.
41280         (gl_locale_name): Invoke it.
41281         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
41282         * modules/localename (Depends-on): Add lock.
41283         Reported by Mike Gran <spk121@yahoo.com>.
41284
41285 2009-12-23  Eric Blake  <ebb9@byu.net>
41286
41287         va-args: new module
41288         * modules/va-args: New file.
41289         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
41290         * MODULES.html.sh (Core language properties): Mention it.
41291
41292         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
41293         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
41294         named alias for __attribute__((__unused__)).
41295         * lib/chown.c: Update client.
41296         * lib/fchmodat.c: Likewise.
41297         * lib/fts.c: Likewise.
41298         * lib/getdate.y: Likewise.
41299         * lib/getgroups.c: Likewise.
41300         * lib/getopt.c: Likewise.
41301         * lib/getugroups.c: Likewise.
41302         * lib/mkdir.c: Likewise.
41303         * lib/mkfifo.c: Likewise.
41304         * lib/mkfifoat.c: Likewise.
41305         * lib/mknod.c: Likewise.
41306         * lib/mknodat.c: Likewise.
41307         * lib/readlink.c: Likewise.
41308         * lib/se-context.in.h: Likewise.
41309         * lib/se-selinux.in.h: Likewise.
41310         * lib/sockets.c: Likewise.
41311         * lib/symlink.c: Likewise.
41312         * lib/symlinkat.c: Likewise.
41313         * lib/unicodeio.c: Likewise.
41314         * lib/unistr.h: Likewise.
41315         * tests/test-areadlink.c: Likewise.
41316         * tests/test-areadlinkat.c: Likewise.
41317         * tests/test-filenamecat.c: Likewise.
41318         * tests/test-fseeko.c: Likewise.
41319         * tests/test-ftello.c: Likewise.
41320         * tests/test-getdate.c: Likewise.
41321         * tests/test-getgroups.c: Likewise.
41322         * tests/test-gethostname.c: Likewise.
41323         * tests/test-quotearg.c: Likewise.
41324         * tests/test-version-etc.c: Likewise.
41325         * tests/test-xalloc-die.c: Likewise.
41326         * tests/test-xfprintf-posix.c: Likewise.
41327         * tests/test-xprintf-posix.c: Likewise.
41328         * tests/test-xvasprintf.c: Likewise.
41329
41330         tests: avoid compiler warnings
41331         * tests/test-fcntl.c (main): Delete unused parameters.
41332         * tests/test-freopen-safer.c (main): Likewise.
41333         * tests/test-xalloc-die.c (main): Mark unused parameters.
41334         * tests/test-fseeko.c (main): Likewise.
41335         * tests/test-ftello.c (main): Likewise.
41336         * tests/test-nanosleep.c (main): Avoid declaration warning.
41337         * tests/test-sleep.c (main): Likewise.
41338         * tests/test-unsetenv.c (main): Silence warning about string
41339         literal.
41340         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
41341
41342 2009-12-23  Bruno Haible  <bruno@clisp.org>
41343
41344         * tests/test-localename.c (test_locale_name): New function, extracted
41345         from main. Also test mixed situations.
41346         (test_locale_name_posix, test_locale_name_environ,
41347         test_locale_name_default): New functions.
41348         (main): Invoke them all.
41349         * modules/localename-tests (configure.ac): Test for newlocale.
41350
41351 2009-12-23  Bruno Haible  <bruno@clisp.org>
41352
41353         unistd: Ensure getcwd gets declared before being overridden.
41354         * lib/unistd.in.h: Conditionally include <io.h>.
41355
41356 2009-12-22  Bruno Haible  <bruno@clisp.org>
41357
41358         wchar: Diagnose broken combination of glibc and gcc versions and flags.
41359         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
41360         (gl_WCHAR_H): Invoke it.
41361         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
41362         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
41363         Reported by Karl Berry <karl@freefriends.org>.
41364
41365 2009-12-22  Eric Blake  <ebb9@byu.net>
41366
41367         math, unistd: avoid redundant includes
41368         * lib/math.in.h (isnan): No need to re-include <math.h>.
41369         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
41370
41371         getsubopt: work around cygwin bug
41372         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
41373         avoid conflicting with system getsubopt.
41374         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
41375         bug.
41376
41377         getopt: synchronize from glibc
41378         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
41379         parameter order.  Adjust all callers.
41380         (_getopt_internal_r, main): Adjust quoting in error messages.
41381         Drop considerations for outdated POSIX 1003.2 error message.
41382         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
41383         callers.
41384         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
41385
41386         test-getopt: test stderr behavior
41387         * modules/getopt-posix-tests (Depends-on): Add dup2.
41388         * tests/test-getopt.c (ASSERT): Avoid stderr.
41389         (main): Move stderr to a temporary file.
41390         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
41391         Instead, add parameter to inform caller if output occurred.
41392         (test_getopt): Adjust all existing tests to expect silence, and
41393         add new tests of leading ":".
41394         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41395         glibc shortcomings with leading "-:" or "+:" in optstring.
41396         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41397         Likewise.
41398         * doc/posix-functions/getopt.texi (getopt): Likewise.
41399
41400         test-getopt: enhance test
41401         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
41402         supports optind=0.
41403         * tests/test-getopt.c (OPTIND_MIN): Move...
41404         * tests/test-getopt.h (OPTIND_MIN): ...here.
41405         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
41406         Require that optind=0 works, since modern BSD supports it in
41407         addition to optreset, and since coreutils expects it.
41408         (test_getopt_long_only): New test.
41409         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41410         glibc shortcomings with 'W;', and enforcement of optind=0.
41411         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41412         Likewise.
41413
41414 2009-12-21  Bruno Haible  <bruno@clisp.org>
41415
41416         localename: Improvements for MacOS X and Cygwin.
41417         * lib/localename.h (gl_locale_name_environ): New declaration.
41418         * lib/localename.c (gl_locale_name_environ): New function, extracted from
41419         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
41420         (gl_locale_name_posix): Invoke it.
41421         (gl_locale_name_default): Add comments. Use Windows native API also on
41422         Cygwin.
41423
41424 2009-12-21  Bruno Haible  <bruno@clisp.org>
41425
41426         Update list of Win32 locale ids.
41427         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
41428         (LANG_SAMI): Renamed from LANG_SAAMI.
41429         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
41430         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
41431         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
41432         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
41433         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
41434         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
41435         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
41436         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
41437         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
41438         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
41439         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
41440         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
41441         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
41442         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
41443         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
41444         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
41445         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
41446         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
41447         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
41448         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
41449         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
41450         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
41451         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
41452         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
41453         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
41454         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
41455         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
41456         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
41457         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
41458         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
41459         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
41460         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
41461         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
41462         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
41463         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
41464         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
41465         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
41466         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
41467         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
41468         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
41469         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
41470         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
41471         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
41472         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
41473         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
41474         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
41475         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
41476         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
41477         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
41478         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
41479         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
41480         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
41481         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
41482         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
41483         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
41484         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
41485         Add more languages and countries for Sami, Sorbian. Add more countries
41486         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
41487         for Pashto. Change country for Syriac, Tswana.
41488
41489 2009-12-21  Eric Blake  <ebb9@byu.net>
41490
41491         test-utimens: avoid spurious failure
41492         * tests/test-chown.h (nap): Factor...
41493         * tests/nap.h: ...into new file.
41494         * tests/test-lchown.h (nap): Avoid duplication.
41495         * tests/test-utimens-common.h (nap): Use shared implementation,
41496         necessary on file systems with 1-second resolution.
41497         * modules/chown-tests (Files): Include new file.
41498         * modules/fdutimensat-tests (Files): Likewise.
41499         * modules/futimens-tests (Files): Likewise.
41500         * modules/lchown-tests (Files): Likewise.
41501         * modules/openat-tests (Files): Likewise.
41502         * modules/utimens-tests (Files): Likewise.
41503         * modules/utimensat-tests (Files): Likewise.
41504
41505 2009-12-19  Eric Blake  <ebb9@byu.net>
41506
41507         futimens, utimensat: work around Linux bug
41508         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
41509         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41510         * lib/utimensat.c (rpl_utimensat): Work around it.
41511         * lib/futimens.c (rpl_futimens): Adjust comment.
41512
41513         utimens: work around Linux ctime bug
41514         * lib/utimens.c (detect_ctime_bug): New helper function.
41515         (update_timespec): Differentiate between workaround needed for
41516         this bug vs. what is needed for systems that lack utimensat.
41517         (fdutimens, lutimens): Work around bug.
41518
41519         utimens: check for ctime update
41520         * tests/test-utimens-common.h (check_ctime): Define.
41521         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
41522         * tests/test-futimens.h (test_futimens): Likewise.
41523         * tests/test-lutimens.h (test_lutimens): Likewise.
41524         * doc/posix-functions/futimens.texi (futimens): Document the bug.
41525         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41526
41527 2009-12-19  Bruno Haible  <bruno@clisp.org>
41528
41529         dprintf-posix: Check against memory leak fixed on 2009-12-15.
41530         * tests/test-dprintf-posix2.sh: New file.
41531         * tests/test-dprintf-posix2.c: New file.
41532         * modules/dprintf-posix-tests (Files): Add them.
41533         (configure.ac): Check for getrlimit and setrlimit.
41534         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41535
41536 2009-12-19  Bruno Haible  <bruno@clisp.org>
41537
41538         fprintf-posix: Check against memory leak fixed on 2009-12-15.
41539         * tests/test-fprintf-posix3.sh: New file.
41540         * tests/test-fprintf-posix3.c: New file.
41541         * modules/fprintf-posix-tests (Files): Add them.
41542         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41543
41544 2009-12-19  Eric Blake  <ebb9@byu.net>
41545
41546         dirfd: fix prototype
41547         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
41548         * lib/dirfd.c (dirfd): Likewise.
41549
41550         canonicalize: reduce memory usage
41551         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
41552         allocation to size.
41553         Reported by Solar Designer <solar@openwall.com>.
41554
41555 2009-12-19  Bruno Haible  <bruno@clisp.org>
41556
41557         New module attribute 'Applicability'.
41558         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
41559         * gnulib-tool: New option --extract-applicability.
41560         (func_usage): Document it.
41561         (sed_extract_prog): Recognize it.
41562         (func_get_applicability): New function.
41563         (func_import): Generalize handling of 'link-warning' module.
41564         * modules/link-warning (Applicability): New section.
41565         * modules/arg-nonnull (Applicability): New section.
41566         Repoted by Simon Josefsson <simon@josefsson.org>.
41567
41568 2009-12-19  Bruno Haible  <bruno@clisp.org>
41569
41570         fflush: tweak
41571         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
41572         * lib/fseeko.c (rpl_fseeko): Likewise.
41573
41574 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
41575
41576         * lib/gl_list.h: Fix typo in comment.
41577
41578 2009-12-16  Eric Blake  <ebb9@byu.net>
41579
41580         fcntl: use to simplify other modules
41581         * modules/cloexec (Depends-on): Add fcntl.
41582         * modules/fchdir (Depends-on): Likewise.
41583         * modules/fd-safer-flag (Depends-on): Likewise.
41584         * modules/unistd-safer (Depends-on): Likewise.
41585         * modules/dup3 (configure.ac): Set module indicator.
41586         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
41587         missing.
41588         * lib/fchdir.c (_gl_register_dup): Fix comment.
41589         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
41590         * lib/dup-safer.c (dup_safer): Likewise.
41591         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
41592         * lib/dup3.c (dup3): Likewise.
41593         * tests/test-fchdir.c (main): Enhance test.
41594         Fixes a dup_cloexec bug reported by Ondřej Vašík.
41595
41596         fcntl: port portions of fcntl to mingw
41597         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
41598         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
41599         replacement for mingw.
41600         * modules/fcntl (Description): Update.
41601         (Depends-on): Add dup2.
41602         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
41603         * modules/fcntl-h (Makefile.am): Substitute it.
41604         * lib/fcntl.in.h (fcntl): Update declaration.
41605         (F_DUPFD, F_GETFD): New macros, when needed.
41606         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41607         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
41608         * tests/test-fcntl.c (check_flags, main): Enhance test for items
41609         we now guarantee.
41610
41611         fcntl: work around cygwin bug in F_DUPFD
41612         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
41613         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
41614         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
41615         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
41616         * doc/posix-functions/fcntl.texi (fcntl): Document it.
41617
41618         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
41619         * modules/fcntl (Files): List new files.
41620         (configure.ac): Run a test.
41621         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
41622         * lib/fcntl.c (rpl_fcntl): Likewise.
41623         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
41624         (gl_FCNTL_H): Always replace fcntl.h.
41625         * modules/fcntl-h (Makefile.am): Substitute witnesses.
41626         * lib/fcntl.in.h (fcntl): Declare replacement.
41627         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
41628         needed, plus a witness.
41629         * doc/posix-functions/fcntl.texi (fcntl): Document this.
41630         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41631         * tests/test-fcntl.c: New file.
41632         * modules/fcntl-tests: Likewise.
41633
41634         binary-io: avoid potential compilation warning
41635         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
41636         directives.
41637
41638         fflush: avoid compilation error on NetBSD
41639         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
41640         between off_t and fpos_t, since the latter is sometimes a struct.
41641         * lib/fseeko.c (rpl_fseeko): Likewise.
41642         Reported by Alexander Nasonov <alnsn@yandex.ru>.
41643
41644 2009-12-15  Eric Blake  <ebb9@byu.net>
41645
41646         fcntl-h, stdio, sys_ioctl: fix declarations
41647         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
41648         function must not take arguments.
41649         * lib/sys_ioctl.in.h (ioctl): Likewise.
41650         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
41651         (open): Add a link warning.
41652
41653 2009-12-15  Jim Meyering  <meyering@redhat.com>
41654
41655         areadlink, areadlink-with-size: relax license to LGPLv2+
41656         * modules/areadlink (License): Relax to LGPLv2+.
41657         * modules/areadlink-with-size (License): Likewise.
41658
41659 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
41660             Bruno Haible  <bruno@clisp.org>
41661
41662         *printf: Fix memory leak.
41663         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
41664         * lib/vfprintf.c (vfprintf): Likewise.
41665         * lib/dprintf.c (dprintf): Likewise.
41666         * lib/vdprintf.c (vdprintf): Likewise.
41667
41668 2009-12-14  Eric Blake  <ebb9@byu.net>
41669
41670         accept4: adjust module dependencies
41671         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
41672
41673         utimens: one more try at avoiding compiler warning
41674         * lib/utimens.c (lutimens): Lower scope of result.
41675
41676 2009-12-13  Bruno Haible  <bruno@clisp.org>
41677
41678         Move the malloc checking from module 'list' to new module 'xlist'.
41679         * modules/xlist: New file.
41680         * lib/gl_xlist.h: New file.
41681         * lib/gl_xlist.c: New file.
41682         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
41683         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
41684         gl_list_add_last, gl_list_add_before, gl_list_add_after,
41685         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
41686         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
41687         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
41688         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
41689         gl_sortedlist_nx_add): New declarations.
41690         (struct gl_list_implementation): Rename and change methods accordingly.
41691         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
41692         (gl_list_nx_create): Renamed from gl_list_create.
41693         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41694         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41695         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41696         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41697         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41698         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41699         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41700         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41701         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
41702         gl_list_create_empty.
41703         (gl_list_nx_create): Renamed from gl_list_create.
41704         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41705         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41706         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41707         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41708         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41709         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41710         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41711         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41712         * lib/gl_array_list.c: Don't include xalloc.h.
41713         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
41714         NULL upon out-of-memory.
41715         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
41716         out-of-memory.
41717         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
41718         Change return type to 'int'.
41719         (gl_array_nx_set_at): Renamed from gl_array_set_at.
41720         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41721         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
41722         upon out-of-memory.
41723         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
41724         upon out-of-memory.
41725         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
41726         upon out-of-memory.
41727         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
41728         upon out-of-memory.
41729         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
41730         out-of-memory.
41731         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
41732         Update.
41733         (gl_array_list_implementation): Update.
41734         * lib/gl_carray_list.c: Don't include xalloc.h.
41735         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
41736         Return NULL upon out-of-memory.
41737         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
41738         out-of-memory.
41739         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
41740         Change return type to 'int'.
41741         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
41742         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41743         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
41744         upon out-of-memory.
41745         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
41746         upon out-of-memory.
41747         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
41748         out-of-memory.
41749         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
41750         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
41751         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
41752         Update.
41753         (gl_carray_list_implementation): Update.
41754         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
41755         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
41756         gl_linked_create_empty. Return NULL upon out-of-memory.
41757         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
41758         out-of-memory.
41759         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
41760         Change return type to 'int'. Return -1 upon out-of-memory.
41761         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
41762         out-of-memory.
41763         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
41764         upon out-of-memory.
41765         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
41766         upon out-of-memory.
41767         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
41768         NULL upon out-of-memory.
41769         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
41770         upon out-of-memory.
41771         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
41772         out-of-memory.
41773         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
41774         Update.
41775         * lib/gl_linked_list.c: Don't include xalloc.h.
41776         (gl_linked_list_implementation): Update.
41777         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
41778         (add_to_bucket): Change return type to 'int'.
41779         (gl_linkedhash_list_implementation): Update.
41780         * lib/gl_anytree_list1.h (free_subtree): New function.
41781         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
41782         gl_tree_create_empty. Return NULL upon out-of-memory.
41783         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
41784         Change return type to 'int'. Return -1 upon out-of-memory.
41785         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
41786         out-of-memory.
41787         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
41788         (gl_tree_remove_node): New function, moved here from
41789         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
41790         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
41791         Update.
41792         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
41793         malloc, not xmalloc. Return NULL upon out-of-memory.
41794         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41795         out-of-memory.
41796         (gl_tree_remove_node_from_tree): New function, extracted from
41797         gl_tree_remove_node.
41798         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41799         upon out-of-memory.
41800         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41801         out-of-memory.
41802         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41803         upon out-of-memory.
41804         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41805         upon out-of-memory.
41806         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41807         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
41808         not xmalloc. Return NULL upon out-of-memory.
41809         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41810         out-of-memory.
41811         (gl_tree_remove_node_from_tree): New function, extracted from
41812         gl_tree_remove_node.
41813         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41814         upon out-of-memory.
41815         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41816         out-of-memory.
41817         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41818         upon out-of-memory.
41819         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41820         upon out-of-memory.
41821         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41822         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
41823         gl_anytree_list1.h before gl_anyavltree_list2.h.
41824         (gl_avltree_list_implementation): Update.
41825         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
41826         gl_anytree_list1.h before gl_anyavltree_list2.h.
41827         (gl_rbtree_list_implementation): Update.
41828         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
41829         Change return type to 'int'. Return -1 upon out-of-memory. Use
41830         __builtin_expect.
41831         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
41832         (gl_avltreehash_list_implementation): Update.
41833         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
41834         (gl_rbtreehash_list_implementation): Update.
41835         * modules/array-list (Depends-on): Remove xalloc.
41836         * modules/carray-list (Depends-on): Likewise.
41837         * modules/linked-list (Depends-on): Likewise.
41838         * modules/linkedhash-list (Depends-on): Likewise.
41839         * modules/avltree-list (Depends-on): Likewise.
41840         * modules/rbtree-list (Depends-on): Likewise.
41841         * modules/avltreehash-list (Depends-on): Likewise.
41842         * modules/rbtreehash-list (Depends-on): Likewise.
41843
41844         * modules/xsublist: New file.
41845         * lib/gl_xsublist.h: New file.
41846         * lib/gl_xsublist.c: New file.
41847         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
41848         (gl_sublist_nx_create): New declaration.
41849         * lib/gl_sublist.c: Don't include xalloc.h.
41850         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
41851         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
41852         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
41853         Change return type to 'int'. Return -1 upon out-of-memory.
41854         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
41855         upon out-of-memory.
41856         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
41857         NULL upon out-of-memory.
41858         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
41859         upon out-of-memory.
41860         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
41861         NULL upon out-of-memory.
41862         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
41863         NULL upon out-of-memory.
41864         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
41865         upon out-of-memory.
41866         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
41867         (gl_sublist_list_implementation): Update.
41868         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
41869         upon out-of-memory.
41870         * modules/sublist (Depends-on): Remove xalloc.
41871
41872         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
41873         * tests/test-carray_list.c: Likewise.
41874         * tests/test-linked_list.c: Likewise.
41875         * tests/test-linkedhash_list.c: Likewise.
41876         * tests/test-avltree_list.c: Likewise.
41877         * tests/test-rbtree_list.c: Likewise.
41878         * tests/test-avltreehash_list.c: Likewise.
41879         * tests/test-rbtreehash_list.c: Likewise.
41880         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
41881         * modules/carray-list-tests (Makefile.am): Likewise.
41882         * modules/linked-list-tests (Makefile.am): Likewise.
41883         * modules/linkedhash-list-tests (Makefile.am): Likewise.
41884         * modules/avltree-list-tests (Makefile.am): Likewise.
41885         * modules/rbtree-list-tests (Makefile.am): Likewise.
41886         * modules/avltreehash-list-tests (Makefile.am): Likewise.
41887         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
41888
41889         * NEWS: Mention the changes.
41890
41891         * lib/clean-temp.c: Include gl_xlist.h.
41892         * modules/clean-temp (Depends-on): Add xlist.
41893
41894         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
41895         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
41896
41897         * tests/test-array_oset.c: Include gl_xlist.h.
41898         * modules/array-oset-tests (Depends-on): Add xlist.
41899
41900         Reported by José E. Marchesi <jemarch@gnu.org>.
41901
41902 2009-12-13  Bruno Haible  <bruno@clisp.org>
41903
41904         Move the malloc checking from module 'oset' to new module 'xoset'.
41905         * modules/xoset: New file.
41906         * lib/gl_xoset.h: New file.
41907         * lib/gl_xoset.c: New file.
41908         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
41909         declarations.
41910         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
41911         (struct gl_oset_implementation): Rename and change methods accordingly.
41912         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
41913         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41914         'int'. Mark as __warn_unused_result__.
41915         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
41916         gl_oset_create_empty.
41917         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41918         'int'.
41919         * lib/gl_array_oset.c: Don't include xalloc.h.
41920         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
41921         malloc, not xmalloc.
41922         (grow): Change return type to 'int'. Don't call xalloc_die.
41923         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
41924         to 'int'.
41925         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
41926         'int'.
41927         (gl_array_oset_implementation): Update.
41928         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
41929         gl_tree_create_empty.
41930         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
41931         'int'.
41932         * lib/gl_avltree_oset.c: Don't include xalloc.h.
41933         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41934         xmalloc.
41935         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41936         not xmalloc.
41937         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41938         xmalloc.
41939         (gl_avltree_oset_implementation): Update.
41940         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
41941         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41942         xmalloc.
41943         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41944         not xmalloc.
41945         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41946         xmalloc.
41947         (gl_rbtree_oset_implementation): Update.
41948         * modules/array-oset (Depends-on): Remove xalloc.
41949         * modules/avltree-oset (Depends-on): Likewise.
41950         * modules/rbtree-oset (Depends-on): Likewise.
41951         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
41952         * tests/test-avltree_oset.c: Likewise.
41953         * tests/test-rbtree_oset.c: Likewise.
41954         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
41955         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
41956         * modules/rbtree-oset-tests (Makefile.am): Likewise.
41957         * NEWS: Mention the change.
41958
41959 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
41960
41961         maint.mk: allow a project to override release-prep commands
41962         * top/maint.mk (alpha, beta, stable): Move release-preparatory
41963         commands into a new rule.
41964         (release-prep): New rule.
41965         (release-prep-hook): New overridable variable.
41966
41967 2009-12-13  Bruno Haible  <bruno@clisp.org>
41968
41969         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
41970
41971 2009-12-13  Jim Meyering  <meyering@redhat.com>
41972
41973         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
41974         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
41975
41976 2009-12-12  Bruno Haible  <bruno@clisp.org>
41977
41978         duplocale: Tweak.
41979         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
41980
41981 2009-12-12  Karl Berry  <karl@gnu.org>
41982
41983         * config/srclist.txt (strtoll.c): tab changes, no more sync.
41984
41985 2009-12-12  Bruno Haible  <bruno@clisp.org>
41986
41987         * m4/po.m4: Undo incorrect untabification.
41988
41989 2009-12-12  Bruno Haible  <bruno@clisp.org>
41990
41991         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
41992         * modules/c-strtod (Depends-on): Add locale.
41993         * modules/c-strtold (Depends-on): Likewise.
41994
41995 2009-12-12  Bruno Haible  <bruno@clisp.org>
41996
41997         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
41998
41999 2009-12-11  Eric Blake  <ebb9@byu.net>
42000
42001         setenv: relax requirement in light of POSIX ruling
42002         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
42003         not NULL.
42004         * tests/test-setenv.c (main): Relax test.
42005         * tests/test-unsetenv.c (main): Likewise.
42006         * doc/posix-functions/setenv.texi (setenv): Document this.
42007         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
42008
42009 2009-12-11  Bruno Haible  <bruno@clisp.org>
42010
42011         New module 'fd-safer-flag'.
42012         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
42013         * lib/dup-safer.c (dup_safer_flag): Remove function.
42014         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
42015         * lib/fd-safer.c (fd_safer_flag): Remove function.
42016         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
42017         * modules/cloexec (configure.ac): Drop indicator macro.
42018         * modules/fd-safer-flag: New file.
42019         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
42020         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
42021         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
42022
42023 2009-12-11  Bruno Haible  <bruno@clisp.org>
42024
42025         Tests for module 'nl_langinfo'.
42026         * modules/nl_langinfo-tests: New file.
42027         * tests/test-nl_langinfo.sh: New file.
42028         * tests/test-nl_langinfo.c: New file.
42029
42030         New module 'nl_langinfo'.
42031         * lib/nl_langinfo.c: New file.
42032         * m4/nl_langinfo.m4: New file.
42033         * modules/nl_langinfo: New file.
42034         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
42035
42036 2009-12-11  Bruno Haible  <bruno@clisp.org>
42037
42038         Tests for module 'langinfo'.
42039         * modules/langinfo-tests: New file.
42040         * tests/test-langinfo.c: New file.
42041
42042         New module 'langinfo'.
42043         * lib/langinfo.in.h: New file.
42044         * m4/langinfo_h.m4: New file.
42045         * modules/langinfo: New file.
42046         * doc/posix-headers/langinfo.texi: Mention the new module.
42047
42048 2009-12-11  Bruno Haible  <bruno@clisp.org>
42049
42050         * lib/config.charset: Untabify.
42051
42052 2009-12-11  Bruno Haible  <bruno@clisp.org>
42053
42054         * modules/unistd-safer (configure.ac): Drop indicator macro.
42055
42056 2009-12-11  Bruno Haible  <bruno@clisp.org>
42057
42058         Move pipe2-safer code to its own file.
42059         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
42060         * lib/pipe-safer.c (pipe2_safer): Remove function.
42061         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
42062         (Makefile.am): Add it to lib_SOURCES.
42063
42064 2009-12-10  Bruno Haible  <bruno@clisp.org>
42065
42066         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
42067
42068 2009-12-10  Bruno Haible  <bruno@clisp.org>
42069
42070         Declare which arguments expect non-NULL values, for GCC and clang.
42071         * build-aux/arg-nonnull.h: New file.
42072         * modules/arg-nonnull: New file.
42073         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
42074         (inet_ntop, inet_pton): Use it.
42075         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
42076         (closedir, dirfd, opendir, scandir, alphasort): Use it.
42077         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
42078         (open, openat): Use it.
42079         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
42080         (fnmatch): Use it.
42081         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
42082         (getopt, getopt_long, getopt_long_only): Use it.
42083         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
42084         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
42085         Use it.
42086         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
42087         (iconv_open): Use it.
42088         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
42089         (strtoimax, strtoumax): Use it.
42090         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
42091         (duplocale): Use it.
42092         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
42093         (frexp, frexpl): Use it.
42094         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
42095         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
42096         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
42097         (tsearch, tfind, tdelete, twalk): Use it.
42098         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
42099         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
42100         sigpending): Use it.
42101         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
42102         (posix_spawn, posix_spawnp, posix_spawnattr_init,
42103         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
42104         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
42105         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
42106         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
42107         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
42108         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
42109         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
42110         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
42111         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
42112         Use it.
42113         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
42114         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
42115         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
42116         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
42117         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
42118         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
42119         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
42120         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
42121         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
42122         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
42123         strtoull, unsetenv): Use it.
42124         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
42125         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
42126         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
42127         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
42128         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
42129         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
42130         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
42131         (strcasecmp, strncasecmp): Use it.
42132         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
42133         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
42134         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
42135         rpl_setsockopt): Use it.
42136         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
42137         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
42138         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
42139         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
42140         (gettimeofday): Use it.
42141         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
42142         (times): Use it.
42143         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
42144         (uname): Use it.
42145         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
42146         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
42147         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
42148         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
42149         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
42150         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
42151         unlinkat, write): Use it.
42152         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
42153         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
42154         * lib/argv-iter.h: Include arg-nonnull.h.
42155         (_ATTRIBUTE_NONNULL_): Remove macro.
42156         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
42157         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
42158         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
42159         optimization.
42160         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
42161         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
42162         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
42163         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
42164         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
42165         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
42166         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
42167         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
42168         * modules/arpa_inet (Depends-on): Add arg-nonnull.
42169         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
42170         * modules/dirent (Depends-on): Add arg-nonnull.
42171         (Makefile.am): Insert arg-nonnull.h into dirent.h.
42172         * modules/fcntl-h (Depends-on): Add arg-nonnull.
42173         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
42174         * modules/fnmatch (Depends-on): Add arg-nonnull.
42175         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
42176         * modules/getopt-posix (Depends-on): Add arg-nonnull.
42177         (Makefile.am): Insert arg-nonnull.h into getopt.h.
42178         * modules/glob (Depends-on): Add arg-nonnull.
42179         (Makefile.am): Insert arg-nonnull.h into glob.h.
42180         * modules/iconv_open (Depends-on): Add arg-nonnull.
42181         (Makefile.am): Insert arg-nonnull.h into iconv.h.
42182         * modules/inttypes (Depends-on): Add arg-nonnull.
42183         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
42184         * modules/locale (Depends-on): Add arg-nonnull.
42185         (Makefile.am): Insert arg-nonnull.h into locale.h.
42186         * modules/math (Depends-on): Add arg-nonnull.
42187         (Makefile.am): Insert arg-nonnull.h into math.h.
42188         * modules/netdb (Depends-on): Add arg-nonnull.
42189         (Makefile.am): Insert arg-nonnull.h into netdb.h.
42190         * modules/search (Depends-on): Add arg-nonnull.
42191         (Makefile.am): Insert arg-nonnull.h into search.h.
42192         * modules/signal (Depends-on): Add arg-nonnull.
42193         (Makefile.am): Insert arg-nonnull.h into signal.h.
42194         * modules/spawn (Depends-on): Add arg-nonnull.
42195         (Makefile.am): Insert arg-nonnull.h into spawn.h.
42196         * modules/stdio (Depends-on): Add arg-nonnull.
42197         (Makefile.am): Insert arg-nonnull.h into stdio.h.
42198         * modules/stdlib (Depends-on): Add arg-nonnull.
42199         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
42200         * modules/string (Depends-on): Add arg-nonnull.
42201         (Makefile.am): Insert arg-nonnull.h into string.h.
42202         * modules/strings (Depends-on): Add arg-nonnull.
42203         (Makefile.am): Insert arg-nonnull.h into strings.h.
42204         * modules/sys_socket (Depends-on): Add arg-nonnull.
42205         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
42206         * modules/sys_stat (Depends-on): Add arg-nonnull.
42207         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
42208         * modules/sys_time (Depends-on): Add arg-nonnull.
42209         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
42210         * modules/sys_times (Depends-on): Add arg-nonnull.
42211         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
42212         * modules/sys_utsname (Depends-on): Add arg-nonnull.
42213         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
42214         * modules/time (Depends-on): Add arg-nonnull.
42215         (Makefile.am): Insert arg-nonnull.h into time.h.
42216         * modules/unistd (Depends-on): Add arg-nonnull.
42217         (Makefile.am): Insert arg-nonnull.h into unistd.h.
42218         * modules/wchar (Depends-on): Add arg-nonnull.
42219         (Makefile.am): Insert arg-nonnull.h into wchar.h.
42220         * modules/argv-iter (Depends-on): Add arg-nonnull.
42221         * tests/test-canonicalize.c (null_ptr): New function.
42222         (main): Use it.
42223         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
42224         (main): Use it.
42225         * tests/test-memmem.c (null_ptr): New function.
42226         (main): Use it.
42227         Reported by Jim Meyering.
42228
42229 2009-12-10  Bruno Haible  <bruno@clisp.org>
42230
42231         Use spaces for indentation, not tabs.
42232         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
42233         * m4/*.m4: Untabify.
42234         * build-aux/*.h: Untabify.
42235         * tests/**/*.[hc]: Untabify.
42236         * README: New section "Indent with spaces, not TABs", based on
42237         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
42238         * NEWS: Mention the change.
42239
42240 2009-12-10  Bruno Haible  <bruno@clisp.org>
42241
42242         pty test: Fix link error.
42243         * modules/pty-tests (Makefile.am): Add the default LDADD value to
42244         test_pty_LDADD.
42245
42246 2009-12-07  Simon Josefsson  <simon@josefsson.org>
42247
42248         * modules/pty: New file.
42249         * modules/pty-tests: New file.
42250         * m4/pty.m4: New file.
42251         * tests/test-pty.c: New file.
42252         * doc/glibc-headers/pty.texi: Modified.
42253         * doc/glibc-functions/forkpty.texi: Modified.
42254         * doc/glibc-functions/openpty.texi: Modified.
42255
42256 2009-12-10  Bruno Haible  <bruno@clisp.org>
42257
42258         Avoid syntax error in C++ mode.
42259         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
42260
42261 2009-12-10  Bruno Haible  <bruno@clisp.org>
42262
42263         Use sed with option -e.
42264         * gnulib-tool (func_version, func_emit_copyright_notice,
42265         func_emit_initmacro_end, func_import, func_create_testdir): Pass
42266         option -e to sed.
42267         * modules/link-warning (Makefile.am): Likewise.
42268
42269 2009-12-10  Jim Meyering  <meyering@redhat.com>
42270
42271         mgetgroups: do not write bytes beyond end of malloc'd buffer
42272         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
42273         username, we call getgroups with a one-element-shorter buffer,
42274         but still told it the length was original, max_n_groups.
42275
42276 2009-12-09  Eric Blake  <ebb9@byu.net>
42277
42278         cloexec: relax license
42279         * modules/cloexec (Maintainer): Add myself.
42280         (License): Use LGPL, not GPL.
42281
42282         link-warning: optimize generation
42283         * modules/link-warning (Makefile.am): Reduce process usage.
42284
42285 2009-12-09  Bruno Haible  <bruno@clisp.org>
42286
42287         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
42288         workaround was added on 2009-11-17.
42289
42290 2009-12-09  Jim Meyering  <meyering@redhat.com>
42291             Bruno Haible  <bruno@clisp.org>
42292
42293         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
42294         * modules/link-warning (Makefile.am): Make the comment-removing sed
42295         command more robust in the face of bootstrap-prepended comment lines.
42296
42297 2009-12-09  Bruno Haible  <bruno@clisp.org>
42298
42299         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
42300         most one group.
42301
42302 2009-12-09  Simon Josefsson <simon@josefsson.org>
42303             Bruno Haible  <bruno@clisp.org>
42304
42305         * build-aux/link-warning.h: Add copyright notice.
42306         * modules/link-warning (Makefile.am): Generate link-warning.h from
42307         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
42308         * NEWS: Mention change in link-warning module.
42309         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
42310         * modules/dirent (Makefile.am): Add dependency to dirent.h.
42311         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
42312         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
42313         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
42314         * modules/math (Makefile.am): Add dependency to math.h.
42315         * modules/search (Makefile.am): Add dependency to search.h.
42316         * modules/signal (Makefile.am): Add dependency to signal.h.
42317         * modules/spawn (Makefile.am): Add dependency to spawn.h.
42318         * modules/stdio (Makefile.am): Add dependency to stdio.h.
42319         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
42320         * modules/string (Makefile.am): Add dependency to string.h.
42321         * modules/strings (Makefile.am): Add dependency to strings.h.
42322         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
42323         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
42324         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
42325         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
42326         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
42327         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
42328         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
42329         * modules/unistd (Makefile.am): Add dependency to unistd.h.
42330         * modules/wchar (Makefile.am): Add dependency to wchar.h.
42331
42332 2009-12-09  Bruno Haible  <bruno@clisp.org>
42333
42334         fchdir: Optimize away rpl_fstat when possible.
42335         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
42336         REPLACE_OPEN_DIRECTORY.
42337         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
42338
42339 2009-12-09  Bruno Haible  <bruno@clisp.org>
42340
42341         * lib/fchdir.c: Update comment.
42342
42343 2009-12-09  Bruno Haible  <bruno@clisp.org>
42344
42345         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
42346
42347 2009-12-08  Eric Blake  <ebb9@byu.net>
42348
42349         fchdir: avoid memory leak on re-registration.
42350         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
42351
42352 2009-12-08  Jim Meyering  <meyering@redhat.com>
42353
42354         init.sh: avoid Solaris 10 /bin/sh portability problem
42355         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
42356         sourced script:
42357           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
42358           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
42359           bar
42360         tests/init.sh relied on that, accepting a --set-path=DIR argument,
42361         and two tests used that idiom.
42362         * tests/init.sh: Update suggested usage comments.
42363         (path_prepend_): New function, to be used in place
42364         of the --src-path=DIR option.
42365         (setup_): Move PATH-prepending code into path_prepend_.
42366         * tests/test-pread.sh: Adapt to new usage.
42367         * tests/test-xalloc-die.sh: Likewise.
42368
42369 2009-12-08  Simon Josefsson  <simon@josefsson.org>
42370
42371         * doc/gnulib.texi (Glibc pty.h): Add.
42372         * doc/glibc-functions/forkpty.texi: Add.
42373         * doc/glibc-functions/openpty.texi: Add.
42374         Suggested by Bruno Haible.
42375
42376 2009-12-08  Eric Blake  <ebb9@byu.net>
42377
42378         fchdir: fix logic bugs
42379         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
42380         * tests/test-fchdir.c (main): Enhance test.
42381         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
42382         is in use.
42383
42384         dup2: fix logic bugs
42385         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
42386         REPLACE_DUP2 to decide when rpl_dup2 is needed.
42387         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
42388         exists.
42389         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
42390
42391 2009-12-07  Eric Blake  <ebb9@byu.net>
42392
42393         unlink: fix m4 detection
42394         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
42395
42396         unistd-safer: add unit test
42397         * modules/unistd-safer-tests: New file.
42398         * tests/test-dup-safer.c: Likewise.
42399         * tests/test-cloexec.c (setmode): Avoid compiler warning.
42400         * tests/test-dup2.c (setmode): Likewise.
42401         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
42402
42403         cloexec: preserve text vs. binary across dup_cloexec
42404         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
42405         mode.
42406         * modules/dup2-tests (Depends-on): Add binary-io.
42407         * modules/cloexec-tests (Depends-on): Likewise.
42408         * tests/test-dup2.c (setmode, is_mode): New helpers.
42409         (main): Add tests that translation mode is preserved.
42410         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
42411         Reported by Bruno Haible.
42412
42413         mgetgroups: reduce duplicate listings
42414         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
42415         resulting array.
42416         * tests/test-chown.h (test_chown): Simplify client.
42417         * tests/test-lchown.h (test_lchown): Likewise.
42418
42419 2009-12-06  Bruno Haible  <bruno@clisp.org>
42420
42421         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
42422         value.
42423
42424 2009-12-06  Bruno Haible  <bruno@clisp.org>
42425
42426         * lib/progname.c: Include stdio.h, stdlib.h.
42427         (set_program_name): Reject a NULL argument.
42428
42429 2009-12-05  Eric Blake  <ebb9@byu.net>
42430
42431         pipe2-safer: new module
42432         * modules/pipe2-safer: New file.
42433         * lib/unistd-safer.h (pipe2_safer): New prototype.
42434         * lib/unistd--.h (pipe2): New wrapper.
42435         * lib/pipe-safer.c (pipe2_safer): New function.
42436         * modules/pipe (Depends-on): Add pipe2-safer.
42437         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
42438
42439         stdlib-safer: preserve cloexec flag for mkostemp[s]
42440         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
42441         fd_safer_flag.
42442
42443         unistd-safer: allow preservation of cloexec status via flag
42444         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
42445         prototypes.
42446         * lib/dup-safer.c (dup_safer_flag): New function.
42447         * lib/fd-safer.c (fd_safer_flag): Likewise.
42448         * modules/cloexec (configure.ac): Set witness.
42449
42450         test-dup2: enhance test
42451         * modules/dup2-tests (Depends-on): Add cloexec.
42452         * tests/test-dup2.c (main): Enhance test.
42453
42454         cloexec: add dup_cloexec
42455         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
42456         header and comments.
42457         * lib/cloexec.c (set_cloexec_flag): Add comments.
42458         (dup_cloexec): New function, with mingw implementation borrowed
42459         from...
42460         * lib/w32spawn.h (dup_noinherit): ...here.
42461         * modules/execute (Depends-on): Add cloexec.
42462         * modules/pipe (Depends-on): Likewise.
42463         * modules/cloexec (Depends-on): Add dup2.
42464         * modules/cloexec-tests (Files): New file.
42465         * tests/test-cloexec.c: Likewise.
42466
42467         test-xalloc-die: fix test for mingw
42468         * modules/xalloc-die-tests (Files): Add tests/init.sh.
42469         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
42470         directory and .exe suffix off argv[0] output.
42471
42472         test-fseeko: fix test for mingw
42473         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
42474         than undefining fseek, so test will pass on mingw.
42475
42476 2009-12-05  Bruno Haible  <bruno@clisp.org>
42477
42478         * lib/progname.h (set_program_name): Clarify specification.
42479         * lib/progname.c (set_program_name): Likewise.
42480         Reported by Jim Meyering.
42481
42482 2009-12-05  Jim Meyering  <meyering@redhat.com>
42483
42484         maint.mk: backslash-escape parens in default regexp
42485         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
42486         backslash-escape the literal parentheses.
42487
42488         maint.mk: news-date-check: use grep -E
42489         * top/maint.mk (today): Define a Make variable, not a...
42490         (news-date-check): ...shell variable.
42491         (news-date-regexp): Use the Make variable.
42492         Use grep's -E option.  Change the failing diagnostic to mention
42493         the variable, $(news-date-regexp).
42494
42495 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
42496
42497         maintainer-makefile: allow customization of NEWS entry format
42498         * top/maint.mk (news-date-regexp): New overridable variable.
42499         (news-date-check): Use it.
42500
42501 2009-12-04  Eric Blake  <ebb9@byu.net>
42502
42503         mgetgroups: add xgetgroups, and avoid ENOSYS failures
42504         * lib/mgetgroups.h (xgetgroups): New prototype.
42505         * lib/mgetgroups.c (xgetgroups): New wrapper.
42506         (mgetgroups): Handle ENOSYS.
42507         * modules/mgetgroups (Depends-on): Add realloc.
42508         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
42509
42510         mgetgroups: avoid argument promotion issues with -1
42511         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
42512         for invalid gid_t.
42513         * tests/test-chown.h (getegid, test_chown): Likewise.
42514         * tests/test-lchown.h (getegid, test_lchown): Likewise.
42515
42516 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
42517
42518         exclude: Fix header file problems.
42519         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
42520
42521 2009-12-01  Jim Meyering  <meyering@redhat.com>
42522
42523         fts: fts_open: do not let an empty string cause immediate failure
42524         This is required in support of GNU rm, for which the command
42525         "rm A '' B" must process and remove both A and B, in spite of
42526         the empty string argument.
42527         * lib/fts.c (fts_open): Do not let the presence of an empty string
42528         cause fts_open to fail immediately.  Most fts-using tools must be
42529         able to process all arguments, in order, and can be expected to
42530         diagnose such arguments themselves.
42531
42532 2009-11-30  Eric Blake  <ebb9@byu.net>
42533
42534         utimens: fix compilation error
42535         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
42536         Declare variable at right scope.
42537
42538 2009-11-29  Jim Meyering  <meyering@redhat.com>
42539
42540         bootstrap: handle perl-5.11's changed --version output
42541         * build-aux/bootstrap (get_version): Handle perl separately,
42542         since perl-5.11's --version output is different.
42543
42544 2009-11-28  Jim Meyering  <meyering@redhat.com>
42545
42546         userspec: depend on the inttostr module, too
42547         * modules/userspec (Depends-on): Add inttostr.
42548
42549         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
42550         * lib/userspec.c (parse_with_separator): Do not accept a user ID
42551         number of MAXUID when it evaluates to (uid_t) -1.
42552         Likewise for group ID.  Reported by Matt McCutchen in
42553         <http://savannah.gnu.org/bugs/?28113>
42554
42555         userspec: reformat to use spaces, not TABs
42556         * lib/userspec.c: Expand TABs to spaces.
42557         Add Emacs' "indent-tabs-mode: nil" hint.
42558
42559 2009-11-27  Eric Blake  <ebb9@byu.net>
42560
42561         getopt-gnu: flush out another BSD bug
42562         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
42563         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
42564         flush out BSD bug.
42565         * tests/test-getopt.h (test_getopt): End lists with NULL.
42566         * tests/test-getopt_long.h (test_getopt_long): Likewise.
42567         (test_getopt_long_posix): Enhance test.
42568         * modules/getopt-posix-tests (Depends-on): Add stdbool.
42569         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
42570         getopt-gnu.
42571         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
42572         Likewise.
42573
42574 2009-11-27  Simon Josefsson  <simon@josefsson.org>
42575
42576         * modules/idpriv-droptemp-tests (Notice): Fix text.
42577
42578 2009-11-27  Jim Meyering  <meyering@redhat.com>
42579
42580         test-xalloc-die: avoid spurious failure due to libtool argv difference
42581         In a libtool-enabled project, this test would fail due to a difference
42582         in the emitted program name, e.g.,
42583         -test-xalloc-die: memory exhausted
42584         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
42585         Use program to avoid that.
42586         * modules/xalloc-die-tests (Depends-on): Add progname.
42587         * tests/test-xalloc-die.c: Include progname.h".
42588         (program_name): Remove decl.
42589         (main): Call set_program_name.
42590         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
42591
42592 2009-11-26  Richard Jones  <rjones@redhat.com>
42593
42594         w32sock: leave win32 error in place.
42595         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
42596
42597 2009-11-26  Eric Blake  <ebb9@byu.net>
42598
42599         init.sh: suggest to use skip_ and fail_ functions in comments
42600         * tests/init.sh: Add a sentence.
42601
42602 2009-11-25  Bruno Haible  <bruno@clisp.org>
42603
42604         init.sh: add documentation in comments
42605         * tests/init.sh: Add some developer and user documentation.
42606
42607 2009-11-26  Jim Meyering  <meyering@redhat.com>
42608
42609         init.sh: accommodate even those who specify bogus srcdir manually
42610         * tests/init.sh: Normally, srcdir is guaranteed by automake and
42611         configure-time tests to be sanitized, so that there is no need to
42612         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
42613         (with no double quotes) suffices.  However, since tests may be
42614         invoked manually, and since you may explicitly set srcdir to the
42615         name of a directory containing spaces, do quote its uses here.
42616         * tests/test-pread.sh: Likewise.
42617         Suggested by Bruno Haible.
42618
42619         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
42620         * tests/test-pread.sh: Write no data into the pipe, because
42621         test-pread actually reads none.  This avoids a diagnostic,
42622         "bash: echo: write error: Broken pipe", that arises in the unusual
42623         event something is ignoring SIGPIPE, and might be interpreted
42624         as some sort of failure.  Reported by Bruno Haible.
42625
42626 2009-11-25  Jim Meyering  <meyering@redhat.com>
42627
42628         test-pread: cover failure with ESPIPE and EINVAL
42629         * tests/test-pread.c (main): Test for failure, too.
42630         * tests/test-pread.sh: Invoke with stdin on a pipe.
42631         Suggested by Eric Blake.
42632
42633         pread: improvement and fix
42634         * modules/pread (Depends-on): Depend on lseek, for portability to
42635         e.g., mingw.  Suggested by Eric Blake.
42636         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
42637
42638         unistd.in.h: correct declaration of pread
42639         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
42640         Reported by Richard W.M. Jones.
42641
42642         test-pread.sh: distribute the test script
42643         * modules/pread-tests (Files): Include test-pread.sh.
42644
42645         test-pread.sh: clean up
42646         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
42647         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
42648         That is unnecessary, since it's always ".".
42649         Suggestion from Eric Blake.
42650
42651         test-pread.sh: make executable
42652         * tests/test-pread.sh: Set executable bit.
42653         Reported by Eric Blake.
42654
42655         correct typo in test-pread.sh
42656         * tests/test-pread.sh: Add #! line.
42657
42658         test pread
42659         * tests/test-pread.c: New file.
42660         * tests/test-pread.sh: Likewise.
42661         * modules/pread-tests: Likewise.
42662
42663         pread: new module
42664         * modules/pread: New file.
42665         * lib/unistd.in.h (pread): Define/declare.
42666         * lib/pread.c (pread): New file.
42667         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
42668         * modules/unistd (Makefile.am): Substitute witnesses.
42669         * doc/posix-functions/pread.texi (pread): Update.
42670         * MODULES.html.sh: Add pread.
42671
42672 2009-11-25  Jim Meyering  <meyering@redhat.com>
42673
42674         tests/init.sh: new file to be used via most *.sh tests
42675         * tests/init.sh: New file.
42676
42677 2009-11-25  Eric Blake  <ebb9@byu.net>
42678
42679         utimens: work around older Linux failure with symlinks
42680         * lib/utimens.c (lutimensat_works_really): New variable.
42681         (fdutimens, lutimens): Use it to manage kernels that support
42682         nanosecond times on files, but not on symlinks.
42683         Reported by Ondřej Vašík.
42684
42685         utimes: fix configure grammar
42686         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
42687
42688 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
42689
42690         regex: Fix fastmap for multibyte character ranges.
42691         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
42692         characters when a multibyte character range is included.
42693
42694 2009-11-22  Andy Wingo  <wingo@pobox.com>
42695
42696         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
42697         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
42698
42699 2009-11-24  Bruno Haible  <bruno@clisp.org>
42700
42701         doc: Most *_l functions exist in MacOS X 10.5.
42702         * doc/posix-functions/duplocale.texi: Update platforms list.
42703         * doc/posix-functions/freelocale.texi: Likewise.
42704         * doc/posix-functions/newlocale.texi: Likewise.
42705         * doc/posix-functions/uselocale.texi: Likewise.
42706         * doc/posix-functions/isalnum_l.texi: Likewise.
42707         * doc/posix-functions/isalpha_l.texi: Likewise.
42708         * doc/posix-functions/isblank_l.texi: Likewise.
42709         * doc/posix-functions/iscntrl_l.texi: Likewise.
42710         * doc/posix-functions/isdigit_l.texi: Likewise.
42711         * doc/posix-functions/isgraph_l.texi: Likewise.
42712         * doc/posix-functions/islower_l.texi: Likewise.
42713         * doc/posix-functions/isprint_l.texi: Likewise.
42714         * doc/posix-functions/ispunct_l.texi: Likewise.
42715         * doc/posix-functions/isspace_l.texi: Likewise.
42716         * doc/posix-functions/isupper_l.texi: Likewise.
42717         * doc/posix-functions/iswalnum_l.texi: Likewise.
42718         * doc/posix-functions/iswalpha_l.texi: Likewise.
42719         * doc/posix-functions/iswblank_l.texi: Likewise.
42720         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42721         * doc/posix-functions/iswctype_l.texi: Likewise.
42722         * doc/posix-functions/iswdigit_l.texi: Likewise.
42723         * doc/posix-functions/iswgraph_l.texi: Likewise.
42724         * doc/posix-functions/iswlower_l.texi: Likewise.
42725         * doc/posix-functions/iswprint_l.texi: Likewise.
42726         * doc/posix-functions/iswpunct_l.texi: Likewise.
42727         * doc/posix-functions/iswspace_l.texi: Likewise.
42728         * doc/posix-functions/iswupper_l.texi: Likewise.
42729         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42730         * doc/posix-functions/isxdigit_l.texi: Likewise.
42731         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
42732         * doc/posix-functions/strcasecmp_l.texi: Likewise.
42733         * doc/posix-functions/strcoll_l.texi: Likewise.
42734         * doc/posix-functions/strfmon_l.texi: Likewise.
42735         * doc/posix-functions/strftime_l.texi: Likewise.
42736         * doc/posix-functions/strncasecmp_l.texi: Likewise.
42737         * doc/posix-functions/strxfrm_l.texi: Likewise.
42738         * doc/posix-functions/tolower_l.texi: Likewise.
42739         * doc/posix-functions/toupper_l.texi: Likewise.
42740         * doc/posix-functions/towctrans_l.texi: Likewise.
42741         * doc/posix-functions/towlower_l.texi: Likewise.
42742         * doc/posix-functions/towupper_l.texi: Likewise.
42743         * doc/posix-functions/wcscoll_l.texi: Likewise.
42744         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42745         * doc/posix-functions/wctrans_l.texi: Likewise.
42746         * doc/posix-functions/wctype_l.texi: Likewise.
42747         * doc/glibc-functions/strptime_l.texi: Likewise.
42748         * doc/glibc-functions/strtod_l.texi: Likewise.
42749         * doc/glibc-functions/strtof_l.texi: Likewise.
42750         * doc/glibc-functions/strtol_l.texi: Likewise.
42751         * doc/glibc-functions/strtold_l.texi: Likewise.
42752         * doc/glibc-functions/strtoll_l.texi: Likewise.
42753         * doc/glibc-functions/strtoul_l.texi: Likewise.
42754         * doc/glibc-functions/strtoull_l.texi: Likewise.
42755         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42756         * doc/glibc-functions/wcstod_l.texi: Likewise.
42757         * doc/glibc-functions/wcstof_l.texi: Likewise.
42758         * doc/glibc-functions/wcstol_l.texi: Likewise.
42759         * doc/glibc-functions/wcstold_l.texi: Likewise.
42760         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42761         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42762         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42763
42764 2009-11-24  Bruno Haible  <bruno@clisp.org>
42765
42766         duplocale: Fix logic bug.
42767         * lib/duplocale.c: Don't include <langinfo.h>.
42768         (_NL_LOCALE_NAME): Remove macro.
42769         (rpl_duplocale): Use setlocale instead of nl_langinfo.
42770         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
42771
42772 2009-11-23  Jim Meyering  <meyering@redhat.com>
42773
42774         test-update-copyright: don't hard-code /usr/bin/perl
42775         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
42776         perl to print the current year.  Gilles Espinasse reported that
42777         the replaced use of perl was hard-coded as /usr/bin/perl.
42778
42779 2009-11-23  Bruno Haible  <bruno@clisp.org>
42780
42781         duplocale: Add support for glibc 2.3.x.
42782         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
42783
42784 2009-11-22  Bruno Haible  <bruno@clisp.org>
42785
42786         vasnprintf: Tiny optimization.
42787         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
42788         MacOS X.
42789
42790 2009-11-22  Bruno Haible  <bruno@clisp.org>
42791
42792         Tests for module 'duplocale'.
42793         * modules/duplocale-tests: New file.
42794         * tests/test-duplocale.c: New file.
42795
42796         New module 'duplocale'.
42797         * m4/duplocale.m4: New file.
42798         * lib/locale.in.h (duplocale): New declaration.
42799         * lib/duplocale.c: New file.
42800         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
42801         gl_LOCALE_H_DEFAULTS): New macros.
42802         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
42803         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
42804         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
42805         REPLACE_DUPLOCALE.
42806         * modules/duplocale: New file.
42807         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
42808
42809 2009-11-22  Bruno Haible  <bruno@clisp.org>
42810
42811         * modules/locale-tests (configure.ac): Test for newlocale function.
42812         * tests/test-locale.c: When the system has extended locale functions,
42813         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
42814
42815         locale: Make locale_t available when possible.
42816         * lib/locale.in.h: Include <xlocale.h> when it exists.
42817         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
42818         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
42819         * modules/locale (Depends-on): Add extensions.
42820         (Makefile.am): Also substitute HAVE_XLOCALE_H.
42821         * doc/posix-headers/locale.texi: Document the problem with locale_t.
42822
42823 2009-11-22  Bruno Haible  <bruno@clisp.org>
42824
42825         Add comments.
42826         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
42827         invocation.
42828         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
42829         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
42830         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42831
42832 2009-11-22  Bruno Haible  <bruno@clisp.org>
42833
42834         error: account for the possibility of freopen (stdout).
42835         * lib/error.c: Include <unistd.h>.
42836         (flush_stdout): New function, extracted from error and error_at_line.
42837         Determine stdout's fd dynamically.
42838         (error, error_at_line): Invoke flush_stdout.
42839         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
42840         * modules/error (Depends-on): Add unistd.
42841
42842 2009-11-22  Bruno Haible  <bruno@clisp.org>
42843
42844         diffseq: Add comment.
42845         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
42846
42847 2009-11-22  Jim Meyering  <meyering@redhat.com>
42848
42849         c-stack: avoid defining an unused static function
42850         * lib/c-stack.c (find_stack_direction): Do not define this function
42851         when it will not be used.
42852
42853         diffseq: avoid spurious gcc warnings
42854         * lib/diffseq.h (IF_LINT2): Define.
42855         (compareseq): Use it to initialize two members of "part".
42856         This avoids two used-uninitialized warnings.
42857
42858 2009-11-21  Jim Meyering  <meyering@redhat.com>
42859
42860         c-stack: avoid "ignoring return value of `write'" warning
42861         * lib/c-stack.c: Include "ignore-value.h".
42862         (die): Explicitly ignore each write return value.
42863         * modules/c-stack (Depends-on): Add ignore-value.
42864
42865 2009-11-21  Bruno Haible  <bruno@clisp.org>
42866
42867         diffseq: reduce scope of variable 'best'.
42868         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
42869         variable, earlier used for two different purposes.
42870
42871 2009-11-21  Jim Meyering  <meyering@redhat.com>
42872
42873         diffseq: remove useless assignment to "best"
42874         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
42875         assignment.  At that point "best" is already guaranteed to be zero.
42876
42877 2009-11-20  Eric Blake  <ebb9@byu.net>
42878
42879         build: mention ftp redirector in release announcements
42880         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
42881         values that used to come from cfg.mk; mention FTP redirect URL.
42882         * build-aux/announce-gen: Mention the mirror list.
42883         Suggested by Karl Berry.
42884
42885         nanosleep: improve port to mingw
42886         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
42887         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
42888         LIB_NANOSLEEP, but only when needed.
42889         * modules/select (Link): Document LIBSOCKET.
42890         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
42891         enough.
42892
42893         nanosleep: work around cygwin bug
42894         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
42895         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
42896         bug.
42897         (getnow): Delete, not needed.
42898         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
42899         LIB_CLOCK_GETTIME.
42900         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
42901         clock-time, gettime.
42902         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
42903         bug.
42904         * modules/nanosleep-tests: New test.
42905         * tests/test-nanosleep.c: New file.
42906
42907         sleep: work around cygwin bug
42908         * lib/sleep.c (rpl_sleep): Work around the bug.
42909         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
42910         (gl_PREREQ_SLEEP): Delete unused macro.
42911         * modules/sleep (Depends-on): Add verify.
42912         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42913         * modules/unistd (Makefile.am): Substitute witness.
42914         * lib/unistd.in.h (sleep): Update prototype.
42915         * doc/posix-functions/sleep.texi (sleep): Document the bug.
42916         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
42917         * modules/sleep-tests (Depends-on): Check for alarm.
42918
42919 2009-11-20  Jim Meyering  <meyering@redhat.com>
42920
42921         maint.mk: improve sc_prohibit_magic_number_exit
42922         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
42923         so it does not match uses like System.exit(1).
42924         Add comments showing how to correct all offenders.
42925
42926 2009-11-19  Eric Blake  <ebb9@byu.net>
42927
42928         xalloc-die-tests: add missing library
42929         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
42930
42931         test-xvasprintf: silence compiler warnings
42932         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
42933         empty string from gcc.
42934
42935 2009-11-19  Jim Meyering  <meyering@redhat.com>
42936
42937         xfreopen: new module, from coreutils
42938         * modules/xfreopen: New module.
42939         * lib/xfreopen.c: New file.
42940         * lib/xfreopen.h: New file.
42941         * MODULES.html.sh (File stream based Input/Output"): Add it.
42942
42943 2009-11-19  Eric Blake  <ebb9@byu.net>
42944
42945         manywarnings: depend on warnings
42946         * modules/manywarnings (Depends-on): Add warnings.
42947
42948         build: avoid compiler warnings
42949         * lib/select.c (rpl_select): Delete unused variable.
42950         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
42951
42952 2009-11-18  Eric Blake  <ebb9@byu.net>
42953
42954         tests: avoid false negative with --with-packager
42955         * tests/test-version-etc.sh: Discard packager information.
42956         * tests/test-argp-version-etc-1.sh: Likewise.
42957         Reported by Mike Frysinger.
42958
42959         utimens: fix regression on Solaris
42960         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
42961         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
42962         can only change fd timestamps via futimesat.  Instead, use an
42963         additional witness macro to avoid BSD bug.
42964         Reported by Jim Meyering.
42965
42966 2009-11-17  Eric Blake  <ebb9@byu.net>
42967
42968         usleep: use it to simplify tests
42969         * modules/stat-time-tests (Depends-on): Add usleep.
42970         (configure.ac): Drop usleep check.
42971         * modules/chown-tests (Depends-on, configure.ac): Likewise.
42972         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
42973         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
42974         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
42975         * modules/openat-tests (Depends-on, configure.ac): Likewise.
42976         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
42977         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
42978         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
42979         Likewise.
42980         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
42981         * tests/test-lchown.h (nap): Likewise.
42982         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
42983         * tests/test-stat-time.c (nap): Likewise.
42984         * tests/test-utimens-common.h (nap): Update comments.
42985
42986         usleep: new module
42987         * modules/usleep: New file.
42988         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
42989         * lib/usleep.c (usleep): Likewise.
42990         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
42991         * modules/unistd (Makefile.am): Substitute witnesses.
42992         * lib/unistd.in.h (usleep): Add declaration.
42993         * doc/pastposix-functions/usleep.texi (usleep): Document this.
42994         * MODULES.html.sh (Date and time): Likewise.
42995         * modules/usleep-tests (Depends-on): New test.
42996         * tests/test-usleep.c: New file.
42997
42998         chown: work around OpenBSD bug
42999         * lib/chown.c (rpl_chown): Work around the bug.
43000         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
43001         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
43002         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
43003         * modules/chown (Depends-on): Add stdbool.
43004         * modules/lchown (Depends-on): Likewise.
43005         * doc/posix-functions/chown.texi (chown): Document the bug.
43006         * doc/posix-functions/lchown.texi (lchown): Likewise.
43007         * tests/test-lchown.h (test_chown): Relax test.
43008
43009         mkstemp: avoid conflict with C++ keyword template
43010         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
43011         * lib/mkostemp.c (mkostemp): Likewise.
43012         * lib/mkostemps.c (mkostemps): Likewise.
43013         * lib/mkstemp.c (mkstemp): Likewise.
43014         * lib/mkstemps.c (mkstemps): Likewise.
43015
43016         xalloc-die-tests: optimize
43017         * tests/test-xalloc-die.sh: Reduce number of processes.
43018
43019 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43020
43021         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
43022         patch from ludo@gnu.org (Ludovic Courtès).
43023
43024 2009-11-17  Jim Meyering  <meyering@redhat.com>
43025
43026         version-etc: use proper license string
43027         * modules/version-etc (License): Use LGPL, not LGPLv3+.
43028         * modules/version-etc-fsf: Likewise.
43029
43030 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43031
43032         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
43033         printed to stdout.  Deal with EOL differences.
43034
43035 2009-11-17  Eric Blake  <ebb9@byu.net>
43036
43037         unsetenv: work around Solaris bug
43038         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
43039         * lib/unsetenv.c (rpl_unsetenv): Work around it.
43040         Reported by Jim Meyering.
43041
43042         vasnprintf: avoid compiler warnings
43043         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
43044         variables.
43045         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
43046
43047 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43048
43049         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
43050         settings since xalloc-die is no longer the self test,
43051         xalloc-die.sh is.
43052
43053 2009-11-17  Jim Meyering  <meyering@redhat.com>
43054
43055         test-xalloc-die.sh: make the code agree with the commit log
43056         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
43057         at the end, just in case you happen to have a test-xalloc-die
43058         program in some other PATH directory.
43059
43060         test-xalloc-die.sh: fix a portability bug
43061         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
43062         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
43063         Otherwise, argv[0] (as often seen in diagnostics) would be too
43064         system-dependent, sometimes with, and sometimes without the leading "./".
43065
43066         version-etc-fsf: relax license to LGPLv3+
43067         * modules/version-etc-fsf (License): Relax license.
43068
43069 2009-11-16  Eric Blake  <ebb9@byu.net>
43070
43071         xalloc-die-tests: avoid printing null pointer
43072         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
43073         shell script.
43074         * tests/test-xalloc-die.c (program_name): Declare.
43075         * tests/test-xalloc-die.sh (tmpfiles): New file.
43076
43077         setenv, unsetenv: work around various bugs
43078         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
43079         (setenv) [HAVE_SETENV]: Work around bugs.
43080         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
43081         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
43082         for bugs.
43083         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
43084         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
43085         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
43086         * modules/stdlib (Makefile.am): Update substitutions.
43087         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
43088         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
43089         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
43090         * modules/setenv-tests: New test.
43091         * modules/unsetenv-tests: Likewise.
43092         * tests/test-setenv.c: New file.
43093         * tests/test-unsetenv.c: Likewise.
43094
43095 2009-11-16  Jim Meyering  <meyering@redhat.com>
43096
43097         version-etc: relax license to LGPLv3+
43098         * modules/version-etc (License): Relax license.
43099
43100         better AC_REQUIRE expanded-before-required-warning avoidance
43101         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
43102         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
43103         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
43104         which is no longer needed.
43105
43106 2009-11-16  Eric Blake  <ebb9@byu.net>
43107
43108         test-freading: clean up temporary file
43109         * tests/test-freading.c (main): Remove file on success, and use
43110         ASSERT more liberally.
43111         Reported by Jim Meyering.
43112
43113 2009-11-16  Jim Meyering  <meyering@redhat.com>
43114
43115         avoid new AC_REQUIRE expanded-before-required warnings
43116         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
43117         merely using it.
43118         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
43119         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
43120
43121 2009-11-15  Simon Josefsson  <simon@josefsson.org>
43122
43123         * tests/test-xalloc-die.c: New file.
43124         * modules/xalloc-die-tests: New file.
43125         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
43126         XFAIL_TESTS so it can be appended by modules.
43127
43128 2009-11-15  Simon Josefsson  <simon@josefsson.org>
43129
43130         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
43131         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
43132
43133 2009-11-14  Eric Blake  <ebb9@byu.net>
43134
43135         fnmatch: avoid compiler warning
43136         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
43137         to silence compiler warning about mismatch signedness in ?:.
43138         Reported by Robert Millan.
43139
43140         intprops: add double-inclusion guard
43141         * lib/intprops.h: Allow idempotent includes.
43142         Suggested by Bruce Korb.
43143
43144         openat: detect Solaris fchownat bug
43145         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
43146         penalizing glibc chownat when only lchownat is broken.
43147         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
43148         trailing slash bugs.
43149         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
43150         * modules/openat-tests (Files): Include more files.
43151         (Depends-on): Add mgetgroups, sleep, stat-time.
43152         (configure.ac): Add additional checks.
43153         (Makefile.am): Build new test.
43154         * tests/test-fchownat.c: New file.
43155
43156         lchown: detect Solaris and FreeBSD bug
43157         * lib/lchown.c (rpl_lchown): Work around bug.
43158         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
43159         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43160         * modules/unistd (Makefile.am): Populate it.
43161         * lib/unistd.in.h (lchown): Update declaration.
43162         * doc/posix-functions/lchown.texi (lchown): Document the bug.
43163         * modules/lchown-tests: New file.
43164         * tests/test-lchown.h (test_lchown): Likewise.
43165         * tests/test-lchown.c (main): Likewise.
43166
43167         chown: detect Solaris and FreeBSD bug
43168         * lib/chown.c (rpl_chown): Work around bug.
43169         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
43170         (gl_PREREQ_CHOWN): Delete.
43171         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43172         * modules/unistd (Makefile.am): Populate it.
43173         * lib/unistd.in.h (chown): Update declaration.
43174         * lib/lchown.c (chown): Update client.
43175         * modules/lchown (Depends-on): Add lstat.
43176         * doc/posix-functions/chown.texi (chown): Document the bug.
43177         * doc/posix-functions/getgroups.texi (getgroups): Document
43178         getgroups pitfall.
43179         * modules/chown-tests: New file.
43180         * tests/test-chown.h (test_chown): Likewise.
43181         * tests/test-chown.c (main): Likewise.
43182
43183 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
43184
43185         gnulib-tool: correctly detect absence of m4 directories
43186         * gnulib-tool: Avoid extra newline on data passed to wc -l.
43187
43188 2009-11-14  Jim Meyering  <meyering@redhat.com>
43189
43190         maint.mk: Prohibit inclusion of "xalloc.h" without use.
43191         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43192
43193 2009-11-14  John W. Eaton  <jwe@gnu.org>
43194
43195         strftime.h: wrap function declaration in extern "C" block
43196         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
43197
43198 2009-11-13  Eric Blake  <ebb9@byu.net>
43199
43200         getgroups: avoid compiler warning
43201         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
43202
43203         getgroups: work around FreeBSD bug
43204         * lib/getgroups.c (rpl_getgroups): Work around the bug.
43205         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
43206         * doc/posix-functions/getgroups.texi (getgroups): Document it.
43207         * tests/test-getgroups.c (main): Fix buffer overrun.
43208
43209         getgroups: avoid compilation failure
43210         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
43211         * modules/getgroups (Depends-on): Add stdint.
43212
43213 2009-11-13  Jim Meyering  <meyering@redhat.com>
43214
43215         test-getgroups: avoid compilation failure
43216         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
43217
43218 2009-11-13  Eric Blake  <ebb9@byu.net>
43219
43220         mgetgroups: new module, taken from coreutils
43221         * modules/mgetgroups: New file.
43222         * lib/mgetgroups.h: Likewise.
43223         * lib/mgetgroups.c (mgetgroups): Likewise.
43224         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
43225         * MODULES.html.sh (Users and groups): Mention it.
43226
43227         getgroups: don't expose GETGROUPS_T to user
43228         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
43229         an element at a time if GETGROUPS_T is wrong size.
43230         * lib/getugroups.h (getugroups): Change signature.
43231         * lib/unistd.in.h (getgroups): Likewise.
43232         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
43233         signature needs fixing.
43234         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
43235         AC_TYPE_GETGROUPS.
43236         * modules/group-member (Depends-on): Add getgroups.
43237         * lib/group-member.c (group_info, get_group_info): Use gid_t.
43238         (group_member): Rely on getgroups replacement.
43239         * lib/getugroups.c (getugroups): Use gid_t.
43240         * tests/test-getgroups.c (main): Likewise.
43241         * NEWS: Mention the signature change.
43242         * doc/posix-functions/getgroups.texi (getgroups): Mention the
43243         problem with signature.
43244         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
43245         GETGROUPS_T is still useful for setgroups.
43246
43247         getgroups, getugroups: provide stubs for mingw
43248         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
43249         * lib/getugroups.c (getugroups): Likewise.
43250         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
43251         function.  Modernize replacement scheme.
43252         (gl_PREREQ_GETGROUPS): Delete.
43253         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
43254         * modules/getgroups (configure.ac): Declare witness.
43255         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
43256         * modules/unistd (Depends-on): Substitute witness.
43257         * lib/unistd.in.h (getgroups): Declare replacement.
43258
43259         getgroups: avoid calling exit
43260         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
43261         drop xalloc.
43262         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
43263         dependencies.
43264         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
43265         exiting, in the rare case of malloc failure.
43266
43267         getgroups: fix logic error
43268         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
43269         has more than 20 groups.
43270         * modules/getgroups-tests: New test.
43271         * tests/test-getgroups.c: New file.
43272
43273 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43274
43275         * tests/test-base64.c: Improve.
43276
43277 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43278
43279         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
43280         Blake <ebb9@byu.net>.
43281
43282 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43283
43284         * tests/test-xvasprintf.c: Add %s%s related checks.
43285
43286 2009-11-12  Eric Blake  <ebb9@byu.net>
43287
43288         version-etc: match standards.texi style
43289         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
43290         and use <> only for URLs.
43291
43292 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
43293
43294         fts: do not fail on a submount during traversal
43295         * lib/fts.c (fts_build): Read the stat info again after opening
43296         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
43297         Original report at http://bugzilla.redhat.com/501848.
43298
43299 2009-11-12  Jim Meyering  <meyering@redhat.com>
43300
43301         bootstrap: sync from coreutils
43302         * build-aux/bootstrap (bootstrap_epilogue): New function.
43303         Use git_modules_config in one more place.  This make bootstrap's
43304         --gnulib-srcdir option more useful for testing.
43305
43306         bootstrap: generalize autoheader check
43307         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
43308         AC_CONFIG_HEADERS.
43309
43310 2009-11-11  Eric Blake  <ebb9@byu.net>
43311
43312         mkfifoat: use new modules for Solaris and BSD bugs
43313         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
43314         * lib/mkfifoat.c (mknodat): Split...
43315         * lib/mknodat.c (mknodat): ...into new file.
43316         * modules/mkfifoat (Files): Ship new file.
43317         (Depends-on): Add mkfifo, mknod.
43318         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
43319         (Depends-on): Add symlink.
43320         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
43321         redundant with test_mkfifo.h.
43322         (do_mkfifoat, do_mknodat): New helpers.
43323
43324         mknod: new module
43325         * modules/mknod: New file.
43326         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
43327         * lib/mknod.c (mknod): Likewise.
43328         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43329         defaults.
43330         * modules/sys_stat (Makefile.am): Substitute them.
43331         * lib/sys_stat.in.h (mknod): Declare replacement.
43332         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43333         Document it.
43334         * doc/posix-functions/mknod.texi (mknod): Likewise.
43335         * modules/mknod-tests: New test.
43336         * tests/test-mknod.c: Likewise.
43337
43338         mkfifo: new module
43339         * modules/mkfifo: New file.
43340         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
43341         * lib/mkfifo.c (mkfifo): Likewise.
43342         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43343         defaults.
43344         * modules/sys_stat (Makefile.am): Substitute them.
43345         * lib/sys_stat.in.h (mkfifo): Declare replacement.
43346         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43347         Document it.
43348         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
43349         * modules/mkfifo-tests: New test.
43350         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
43351         from test-mkfifoat.c.
43352         * tests/test-mkfifo.c: New file.
43353
43354         readlink: detect FreeBSD bug
43355         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
43356         slash on symlink.
43357         * doc/posix-functions/readlink.texi (readlink): Document the bug.
43358         * tests/test-readlink.h (test_readlink): Enhance test.
43359
43360         symlink: detect FreeBSD bug
43361         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
43362         slash on symlink.
43363         * doc/posix-functions/symlink.texi (symlink): Document the bug.
43364         * tests/test-symlink.h (test_symlink): Enhance test.
43365
43366 2009-11-10  Eric Blake  <ebb9@byu.net>
43367
43368         link: detect FreeBSD bug
43369         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
43370         symlink.
43371         * doc/posix-functions/link.texi (link): Document the bug.
43372         * tests/test-link.h (test_link): Enhance test.
43373         * tests/test-linkat.c (main): Update caller.
43374
43375         unlink, remove: detect FreeBSD bug
43376         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
43377         slash on symlink.
43378         * doc/posix-functions/unlink.texi (unlink): Document the bug.
43379         * doc/posix-functions/remove.texi (remove): Likewise.
43380         * tests/test-unlink.h (test_unlink): Enhance test.
43381         * tests/test-remove.c (main): Likewise.
43382
43383 2009-11-09  Eric Blake  <ebb9@byu.net>
43384
43385         rename: detect FreeBSD bug
43386         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
43387         slash on symlink.
43388         * modules/renameat-tests (Depends-on): Add filenamecat.
43389         * tests/test-rename.h (test_rename): Allow one more errno.
43390         * tests/test-renameat.c (main): Likewise.
43391         * doc/posix-functions/rename.texi (rename): Document the bug.
43392
43393         open: detect FreeBSD bug
43394         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
43395         symlink.
43396         * doc/posix-functions/open.texi (open): Document the bug.
43397         * doc/posix-functions/utimes.texi (utimes): Likewise.
43398         * tests/test-open.h (test_open): Add parameters, and test symlink
43399         handling.
43400         * tests/test-open.c (main): Adjust caller.
43401         * tests/test-fcntl-safer.c (main): Likewise.
43402         * modules/open-tests (Depends-on): Add stdbool, symlink.
43403         * modules/fcntl-safer-tests (Depends-on): Likewise.
43404         * tests/test-openat.c (main): Add test-open tests.
43405
43406         stat: detect FreeBSD bug
43407         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
43408         symlink.
43409         * doc/posix-functions/stat.texi (stat): Document the bug.
43410         * tests/test-stat.h (test_stat_func): Add argument.
43411         * tests/test-stat.c (main): Adjust caller.
43412         * tests/test-fstatat.c (main): Likewise.
43413         * modules/stat-tests (Depends-on): Add stdbool, symlink.
43414         Reported by Jim Meyering.
43415
43416 2009-11-09  James Youngman  <jay@gnu.org>
43417
43418         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
43419         * lib/strftime.c: Correct placement of #include "ignore-value.h".
43420
43421 2009-11-08  Jim Meyering  <meyering@redhat.com>
43422
43423         utimens: remove invalid futimesat call
43424         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
43425         It used the file descriptor of the target file as the DIR_FD
43426         parameter and NULL as the file name.  That caused failure with
43427         errno == EFAULT on FreeBSD-8.0-rc2
43428
43429 2009-11-07  Eric Blake  <ebb9@byu.net>
43430
43431         fflush, freadseek: use fseeko, not fseek
43432         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
43433         (clear_ungetc_buffer): Avoid potential problems on large files.
43434         * lib/freadseek.c (freadseek): Likewise.
43435         * modules/freadseek (Depends-on): Add fseeko.
43436         * modules/fseek (configure.ac): Set a witness.
43437         * tests/test-fflush.c (main): Use fseeko.
43438         * tests/test-fpurge.c (fseek): Disable link warning.
43439         * tests/test-freadable.c (fseek): Likewise.
43440         * tests/test-freading.c (fseek): Likewise.
43441         * tests/test-fseeko.c (fseek): Likewise.
43442         * tests/test-ftell.c (fseek): Likewise.
43443         * tests/test-ftello.c (fseek): Likewise.
43444         * tests/test-fwritable.c (fseek): Likewise.
43445         * tests/test-fwriting.c (fseek): Likewise.
43446
43447 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43448
43449         * modules/memchr (Depends-on): Drop getpagesize dependency.
43450
43451 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43452
43453         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
43454         Reported by Ludovic Courtès.
43455         * build-aux/pmccabe2html: Improve example usage.
43456         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
43457
43458 2009-11-06  Jim Meyering  <meyering@redhat.com>
43459
43460         do-release-commit-and-tag: New module.
43461         Automate the release-commit and tag process.
43462         * build-aux/do-release-commit-and-tag: New script, from coreutils.
43463         * modules/do-release-commit-and-tag: New file.
43464         * MODULES.html.sh (Support for maintaining and releasing): Add it.
43465
43466 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43467
43468         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
43469         because test-select.c uses inet_pton.
43470
43471 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43472
43473         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
43474         GETADDRINFO_LIB.  Bump serial number.
43475         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
43476         Suggested by Eric Blake <ebb9@byu.net>.
43477
43478 2009-11-05  Eric Blake  <ebb9@byu.net>
43479
43480         strtod: detect darwin bug
43481         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
43482         Reported by Leo Davis.
43483
43484         freopen-safer: new module
43485         * modules/freopen-safer: New module.
43486         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
43487         * lib/freopen-safer.c (freopen_safer): New file.
43488         * lib/stdio-safer.h (freopen_safer): New declaration.
43489         * lib/stdio--.h (freopen): New override.
43490         * MODULES.html.sh (File stream based Input/Output): Mention it.
43491         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
43492         freopen-safer module.
43493         * doc/posix-functions/stderr.texi (stderr): Likewise.
43494         * doc/posix-functions/stdin.texi (stdin): Likewise.
43495         * doc/posix-functions/stdout.texi (stdout): Likewise.
43496         * modules/freopen-safer-tests: New test.
43497         * tests/test-reopen-safer.c: New file.
43498
43499 2009-11-05  Jim Meyering  <meyering@redhat.com>
43500
43501         maint.mk: Prohibit inclusion of "close-stream.h" without use.
43502         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43503
43504 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43505
43506         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
43507
43508 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43509
43510         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
43511
43512 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43513
43514         Fix link error.
43515         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43516         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43517
43518 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43519
43520         * tests/test-func.c: Also test value of __func__.
43521
43522 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43523
43524         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
43525         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
43526
43527 2009-11-05  Bruno Haible  <bruno@clisp.org>
43528
43529         Fix link error.
43530         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43531         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43532         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
43533
43534 2009-11-05  Bruno Haible  <bruno@clisp.org>
43535
43536         Tests for module 'inet_pton'.
43537         * modules/inet_pton-tests: New file.
43538         * tests/test-inet_pton.c: New file.
43539
43540 2009-11-05  Bruno Haible  <bruno@clisp.org>
43541
43542         Tests for module 'inet_ntop'.
43543         * modules/inet_ntop-tests: New file.
43544         * tests/test-inet_ntop.c: New file.
43545
43546 2009-11-04  Eric Blake  <ebb9@byu.net>
43547
43548         stdlib-safer: wrap all mkstemp variants
43549         * modules/mkostemp (configure.ac): Set witness.
43550         * modules/mkostemps (configure.ac): Likewise.
43551         * modules/mkstemps (configure.ac): Likewise.
43552         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
43553         (mkstemps_safer): Wrap more functions.
43554         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
43555         wrapping.
43556         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
43557         (mkstemps_safer): Implement the wrappers.
43558
43559         mkstemps, mkostemps: new modules
43560         * modules/mkostemps: New module.
43561         * modules/mkstemps: Likewise.
43562         * lib/mkostemps.c (mkostemps): New file.
43563         * lib/mkstemps.c (mkstemps): Likewise.
43564         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
43565         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
43566         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
43567         * modules/stdlib (Makefile.am): Substitute them.
43568         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
43569         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
43570         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
43571         * doc/gnulib.texi (Glibc stdlib.h): Include them.
43572         * MODULES.html.sh (File system functions): Mention them.
43573
43574         tempname: resync from glibc
43575         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
43576         same values for __GT_FILE as glibc.  Abort even when assertions
43577         are disabled.
43578         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
43579         match its value otherwise.  Allow idempotent inclusion.
43580         * lib/mkdtemp.c (mkdtemp): Adjust caller.
43581         * lib/mkostemp.c (mkostemp): Likewise.
43582         * lib/mkstemp.c (mkstemp): Likewise.
43583         * lib/tmpfile.c (tmpfile): Likewise.
43584         * NEWS: Document this.
43585
43586         utimens: fix use of futimens on older Linux
43587         * lib/utimens.c (fdutimens): Use updated, rather than original,
43588         timespec to avoid bug in older Linux kernel.
43589         Reported by Simon Josefsson.
43590
43591 2009-11-04  Bruno Haible  <bruno@clisp.org>
43592
43593         Make num_processors more flexible and consistent.
43594         * lib/nproc.h (enum nproc_query): New type.
43595         (num_processors): Add a 'query' argument.
43596         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
43597         (num_processors): Add a 'query' argument. Test the value of the
43598         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
43599         mingw, count the number of CPUs available for the current process.
43600         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
43601         Check for sched_getaffinity and sched_getaffinity_np.
43602         * modules/nproc (Depends-on): Add c-ctype, extensions.
43603         * NEWS: Mention the change.
43604
43605 2009-11-03  Bruno Haible  <bruno@clisp.org>
43606
43607         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
43608
43609 2009-11-03  Jim Meyering  <meyering@redhat.com>
43610
43611         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
43612         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
43613         if it is defined.
43614
43615 2009-11-02  Eric Blake  <ebb9@byu.net>
43616
43617         mktime, timegm: share common declaration
43618         * lib/mktime-internal.h: New file.
43619         * lib/mktime.c: Use it rather than open-coding a declaration.
43620         * lib/timegm.c: Likewise.
43621         * modules/mktime (Files): Ship it.
43622         * modules/timegm (Files): Likewise.
43623         Suggested by Bruno Haible.
43624
43625         test-update-copyright: update test to match script changes
43626         * tests/test-update-copyright.sh: Avoid hard-coding perl
43627         location.  Don't update *.bak created by earlier runs.
43628
43629 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
43630             Simon Josefsson  <simon@josefsson.org>
43631             Bruno Haible  <bruno@clisp.org>
43632
43633         Fix link error on Solaris 8.
43634         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
43635         also in libnsl. Define also INET_PTON_LIB.
43636         * modules/inet_pton (Link): New section.
43637
43638 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43639             Bruno Haible  <bruno@clisp.org>
43640
43641         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
43642         * modules/inet_ntop (Link): New section.
43643         Reported by Boyan Kasarov <bkasarov@gmail.com>.
43644
43645 2009-11-02  Eric Blake  <ebb9@byu.net>
43646
43647         maint: avoid compiler warnings in m4 macros
43648         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
43649         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
43650
43651 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43652
43653         * m4/pmccabe2html.m4: Remove file.
43654         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
43655         function.  Change maintainer.
43656         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
43657         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
43658         Courtès).
43659
43660 2009-10-31  Eric Blake  <ebb9@byu.net>
43661
43662         fseeko: fix m4 regression
43663         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
43664         regression from 2009-10-27.
43665         Reported by Ralf Wildenhues.
43666
43667 2009-10-31  Jim Meyering  <meyering@redhat.com>
43668
43669         inttostr: aesthetics and improved (compile-time) safety
43670         Define inttype_is_signed rather than inttype_is_unsigned,
43671         since the sole use is via "#if inttype_is_signed".
43672         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
43673         inttype_is_unsigned.
43674         * lib/offtostr.c (inttype_is_signed): Likewise.
43675         * lib/uinttostr.c (inttype_is_signed): Likewise.
43676         * lib/umaxtostr.c (inttype_is_signed): Likewise.
43677         * lib/inttostr.c (inttostr): Use verify to cross-check the
43678         inttype_is_signed value and the signedness of the actual type.
43679         * modules/inttostr (Depends-on): Add verify.
43680
43681 2009-10-30  Eric Blake  <ebb9@byu.net>
43682
43683         build: avoid compiler warnings
43684         * lib/fchmodat.c (lchmod): Mark unused variables.
43685         * lib/getopt.c (_getopt_initialize): Likewise.
43686         * lib/mktime.c (__mktime_internal): Provide prototype.
43687         * lib/inttostr.c (inttostr): Avoid compiler warning even with
43688         older gcc that do not understand #pragma GCC diagnostic.
43689         * lib/uinttostr.c (inttype_is_unsigned): Define.
43690         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
43691
43692 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
43693
43694         stat: fix compilation on AIX
43695         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
43696         only see struct stat64.
43697
43698 2009-10-30  Eric Blake  <ebb9@byu.net>
43699
43700         exclude: make more robust
43701         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
43702         rather than masking a coding bug.
43703         Suggested by Bruno Haible.
43704
43705 2009-10-30  Jim Meyering  <meyering@redhat.com>
43706
43707         perl scripts: remove #!/usr/bin/perl in favor of more portable...
43708         Rather than putting #!/usr/bin/perl on the first line,
43709         start with a variant of what's recommended by "man perlrun" that
43710         invokes the first "perl" program from your shell's search path.
43711         * build-aux/gitlog-to-changelog: Replace #!... as above.
43712         Add a "Local Variables" perl mode setting.
43713         Prompted by a patch from Ludovic Courtès.
43714         Improved by Eric Blake.
43715         * build-aux/useless-if-before-free: Likewise.
43716         * build-aux/announce-gen: Likewise.
43717         * build-aux/update-copyright: Likewise.
43718
43719 2009-10-29  Eric Blake  <ebb9@byu.net>
43720
43721         filenamecat-lgpl: adjust clients
43722         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
43723         filenamecat.
43724         * modules/renameat (Depends-on): Likewise.
43725
43726         filenamecat: split into filenamecat-lgpl
43727         * modules/filenamecat-lgpl: New module.
43728         * modules/filenamecat (Files): Move library-safe files into
43729         filenamecat-lgpl.
43730         (Depends-on): Add filenamecat-lgpl.
43731         (configure.ac): Declare witness.
43732         * lib/filenamecat.h (file_name_concat): Only declare when using
43733         GPL module.
43734         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
43735         Move...
43736         * lib/filenamecat-lgpl.c: ...into new file.
43737         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
43738         (gl_FILE_NAME_CONCAT): Use it.
43739         * MODULES.html.sh (File system functions): Mention new module.
43740
43741         argp: avoid memory leak
43742         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
43743         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
43744         base_name, since the latter malloc()s and can call exit().
43745         Leak introduced 2006-07-03.
43746
43747         dirname-lgpl: adjust clients that don't need full dirname
43748         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
43749         * modules/filenamecat (Depends-on): Likewise.
43750         * modules/linkat (Depends-on): Likewise.
43751         * modules/mkancesdirs (Depends-on): Likewise.
43752         * modules/mkdir (Depends-on): Likewise.
43753         * modules/openat (Depends-on): Likewise.
43754         * modules/savewd (Depends-on): Likewise.
43755         * modules/rename (Depends-on): Likewise.
43756         (License): Relax license.
43757         * modules/mkdir-tests (Depends-on): Drop progname.
43758         (Makefile.am): Delete unneeded LDADD.
43759         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
43760
43761         dirname: split into dirname-lgpl
43762         * modules/dirname-lgpl: New module.
43763         * modules/dirname (Files): Move library-safe files into
43764         dirname-lgpl.
43765         (Depends-on): Add dirname-lgpl.
43766         (configure.ac): Declare witness.
43767         * modules/double-slash-root (License): Relax license.
43768         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
43769         module.
43770         * lib/dirname.c (dir_len, mdir_name): Move...
43771         * lib/dirname-lgpl.c: ...into new file.
43772         * lib/basename.c (last_component, base_len): Move...
43773         * lib/basename-lgpl.c: ...into new file.
43774         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
43775         (gl_DIRNAME): Use it.
43776         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
43777         Mention new module.
43778         * modules/dirname-tests (Depends-on): Add progname.
43779         * tests/test-dirname.c (program_name): Delete.
43780
43781         mkdir: make safe for libraries
43782         * modules/mkdir (Depends-on): Drop xalloc.
43783         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
43784         exit.
43785
43786         tests: avoid some compiler warnings
43787         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
43788         literals.
43789         * tests/test-memchr.c (main): Avoid type mismatch.
43790         * tests/test-arpa_inet.c (main): Avoid unused parameters.
43791         * tests/test-base64.c (main): Likewise.
43792         * tests/test-getdelim.c (main): Likewise.
43793         * tests/test-gethostname.c (main): Likewise.
43794         * tests/test-getline.c (main): Likewise.
43795         * tests/test-netinet_in.c (main): Likewise.
43796         * tests/test-select.c (open_server_socket, main): Likewise.
43797         * tests/test-select-stdin.c (main): Likewise.
43798         * tests/test-sockets.c (main): Likewise.
43799         * tests/test-strsignal.c (main): Likewise.
43800         * tests/test-sys_select.c (main): Likewise.
43801         * tests/test-sys_socket.c (main): Likewise.
43802         * tests/test-u64.c (main): Likewise.
43803         * tests/test-xfprintf-posix.c (main): Likewise.
43804         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
43805
43806         sockets: avoid compiler warning
43807         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
43808
43809         maint: detect usage(1) and other suspicious exits
43810         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
43811
43812 2009-10-29  Jim Meyering  <meyering@redhat.com>
43813
43814         timespec: long-to-int truncation could make timespec_cmp malfunction
43815         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
43816         a multiple of 2^32 nanoseconds as no difference.
43817
43818 2009-10-28  Jim Meyering  <meyering@redhat.com>
43819
43820         fprintftime: wrap macro code argument in "do {...} while(0)"
43821         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
43822         cpy macro must be a statement that can be followed by a semicolon.
43823         Now that the else clause contains a comment and is hence longer
43824         than one line, I require curly braces.  That in turn requires
43825         that we wrap this code block in the standard do...while(0).
43826
43827         fprintftime: remove stray semicolon from previous change
43828         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
43829
43830         fprintftime: avoid a warning about ignored fwrite return value
43831         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
43832         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
43833         that is unsafe.
43834         * modules/fprintftime (Depends-on): Add ignore-value.
43835
43836         exclude: avoid an unwarranted warning
43837         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
43838
43839 2009-10-27  Eric Blake  <ebb9@byu.net>
43840
43841         fseek: avoid compilation failure when fflush is replaced
43842         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
43843         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
43844         module is in use.
43845         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
43846         module is not in use; since REPLACE_FSEEK worked otherwise.
43847         (GNULIB_FTELLO): Likewise for ftell.
43848         Reported by Ian Beckwith and others.
43849
43850 2009-10-27  Bruno Haible  <bruno@clisp.org>
43851
43852         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
43853         Reported by Jim Meyering.
43854
43855 2009-10-27  Jim Meyering  <jim@meyering.net>
43856             Bruno Haible  <bruno@clisp.org>
43857
43858         Avoid warning despite dropping the return value of fwrite.
43859         * lib/unicodeio.c: Include ignore-value.h.
43860         (fwrite_success_callback): Explicitly ignore fwrite's return value.
43861         * modules/unicodeio (Depends-on): Add ignore-value.
43862
43863 2009-10-26  Eric Blake  <ebb9@byu.net>
43864
43865         areadlinkat: fix fallback path
43866         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
43867         pointer and zero.
43868
43869 2009-10-22  Pádraig Brady  <P@draigBrady.com>
43870
43871         Use a better IO block size for modern systems
43872         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
43873         * lib/md2.c: Likewise.
43874         * lib/md4.c: Likewise.
43875         * lib/md5.c: Likewise.
43876         * lib/sha1.c: Likewise.
43877         * lib/sha256.c: Likewise.
43878         * lib/sha512.c: Likewise.
43879
43880 2009-10-22  Eric Blake  <ebb9@byu.net>
43881
43882         tests: avoid several compiler warnings
43883         * tests/test-getcwd.c (main): Avoid buffer underflow.
43884         * tests/test-getdate.c (main): String literals are not safe with
43885         putenv, so use setenv.  Declare unused argument.
43886         * modules/getdate-tests (Depends-on): Add setenv.
43887         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
43888         problems with string literals in char *.
43889         * tests/test-hash.c (main): Avoid shadowing declaration.
43890         (insert_new): Treat string literals as char const *.
43891         * tests/test-getopt.h (test_getopt): Likewise.
43892         (getopt_loop): Alter types to minimize casting elsewhere.
43893         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
43894         (test_getopt_long_posix): Likewise.
43895         (do_getopt_long): Add wrapper to minimize casting.
43896         * tests/test-atexit.c (clear_temp_file): Use void.
43897         * tests/test-areadlink-with-size.c (main): Declare unused
43898         arguments.
43899         * tests/test-areadlink.c (main): Likewise.
43900         * tests/test-areadlinkat-with-size.c (main): Likewise.
43901         * tests/test-areadlinkat.c (main): Likewise.
43902         * tests/test-canonicalize-lgpl.c (main): Likewise.
43903         * tests/test-canonicalize.c (main): Likewise.
43904         * tests/test-dirent-safer.c (main): Likewise.
43905         * tests/test-dirname.c (main): Likewise.
43906         * tests/test-dup2.c (main): Likewise.
43907         * tests/test-fchdir.c (main): Likewise.
43908         * tests/test-fcntl-h.c (main): Likewise.
43909         * tests/test-fcntl-safer.c (main): Likewise.
43910         * tests/test-fdopendir.c (main): Likewise.
43911         * tests/test-fdutimensat.c (main): Likewise.
43912         * tests/test-fflush.c (main): Likewise.
43913         * tests/test-filenamecat.c (main): Likewise.
43914         * tests/test-filevercmp.c (main): Likewise.
43915         * tests/test-fopen-safer.c (main): Likewise.
43916         * tests/test-fopen.c (main): Likewise.
43917         * tests/test-fpending.c (main): Likewise.
43918         * tests/test-fpurge.c (main): Likewise.
43919         * tests/test-freading.c (main): Likewise.
43920         * tests/test-fstatat.c (main): Likewise.
43921         * tests/test-fsync.c (main): Likewise.
43922         * tests/test-futimens.c (main): Likewise.
43923         * tests/test-getndelim2.c (main): Likewise.
43924         * tests/test-gettimeofday.c (main): Likewise.
43925         * tests/test-getopt.c (main): Likewise.
43926         * tests/test-i-ring.c (main): Likewise.
43927         * tests/test-inttypes.c (main): Likewise.
43928         * tests/test-link.c (main): Likewise.
43929         * tests/test-lstat.c (main): Likewise.
43930         * tests/test-math.c (main): Likewise.
43931         * tests/test-md5.c (main): Likewise.
43932         * tests/test-memchr2.c (main): Likewise.
43933         * tests/test-memrchr.c (main): Likewise.
43934         * tests/test-mkdir.c (main): Likewise.
43935         * tests/test-mkdirat.c (main): Likewise.
43936         * tests/test-mkfifoat.c (main): Likewise.
43937         * tests/test-open.c (main): Likewise.
43938         * tests/test-openat-safer.c (main): Likewise.
43939         * tests/test-openat.c (main): Likewise.
43940         * tests/test-quotearg.c (main): Likewise.
43941         * tests/test-rawmemchr.c (main): Likewise.
43942         * tests/test-readlink.c (main): Likewise.
43943         * tests/test-remove.c (main): Likewise.
43944         * tests/test-rename.c (main): Likewise.
43945         * tests/test-renameat.c (main): Likewise.
43946         * tests/test-rmdir.c (main): Likewise.
43947         * tests/test-sha1.c (main): Likewise.
43948         * tests/test-signal.c (main): Likewise.
43949         * tests/test-sigaction.c (main): Likewise.
43950         * tests/test-stat.c (main): Likewise.
43951         * tests/test-stat-time.c (main): Likewise.
43952         * tests/test-stddef.c (main): Likewise.
43953         * tests/test-stdint.c (main): Likewise.
43954         * tests/test-stdio.c (main): Likewise.
43955         * tests/test-stdlib.c (main): Likewise.
43956         * tests/test-strchrnul.c (main): Likewise.
43957         * tests/test-strerror.c (main): Likewise.
43958         * tests/test-string.c (main): Likewise.
43959         * tests/test-strtod.c (main): Likewise.
43960         * tests/test-strverscmp.c (main): Likewise.
43961         * tests/test-symlink.c (main): Likewise.
43962         * tests/test-symlinkat.c (main): Likewise.
43963         * tests/test-sys_stat.c (main): Likewise.
43964         * tests/test-sys_time.c (main): Likewise.
43965         * tests/test-time.c (main): Likewise.
43966         * tests/test-unistd.c (main): Likewise.
43967         * tests/test-unlink.c (main): Likewise.
43968         * tests/test-unlinkat.c (main): Likewise.
43969         * tests/test-utimens.c (main): Likewise.
43970         * tests/test-utimensat.c (main): Likewise.
43971         * tests/test-version-etc.c (main): Likewise.
43972         * tests/test-wchar.c (main): Likewise.
43973         * tests/test-wctype.c (main): Likewise.
43974         * tests/test-xprintf-posix.c (main): Likewise.
43975         * tests/test-posixtm.c (main): Likewise.
43976         (STREQ): Delete unused macro.
43977         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
43978         shadowed variables.
43979         * tests/test-memchr.c (main): Likewise.
43980
43981 2009-10-21  Eric Blake  <ebb9@byu.net>
43982
43983         areadlinkat: avoid failure on older glibc
43984         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
43985         rather than mis-comparing 0 against FUNC_RESULT of char*.
43986
43987 2009-10-21  Bruno Haible  <bruno@clisp.org>
43988
43989         * modules/stpncpy (License): Relicense under LGPLv2+.
43990         Reported by David Lutterkort <lutter@redhat.com>.
43991
43992 2009-10-20  Eric Blake  <ebb9@byu.net>
43993
43994         utimensat: work around Solaris 9 bug
43995         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
43996         has trailing slash bugs.
43997         * tests/test-lutimens.h (test_lutimens): Enhance test.
43998         * tests/test-utimens.h (test_utimens): Likewise.
43999         * doc/posix-functions/utime.texi (utime): Enhance documentation.
44000         * doc/posix-functions/utimes.texi (utimes): Likewise.
44001         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44002         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
44003         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
44004         * doc/posix-functions/futimens.texi (futimens): Likewise.
44005
44006         fdutimensat: new module
44007         * modules/fdutimensat: New file.
44008         * lib/fdutimensat.c (fdutimensat): Likewise.
44009         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
44010         * MODULES.html.sh (File system functions): Mention module.
44011         * modules/fdutimensat-tests: New test.
44012         * tests/test-fdutimensat.c: Likewise.
44013
44014         doc: regenerate INSTALL
44015         * doc/INSTALL: Reflect recent autoconf update.
44016         * doc/INSTALL.ISO: Likewise.
44017         * doc/INSTALL.UTF-8: Likewise.
44018
44019 2009-10-20  Pádraig Brady  <P@draigBrady.com>
44020
44021         acl: warn if ACL support is not detected
44022         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
44023
44024 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
44025
44026         * lib/nproc.h: Add extern "C" block for C++.
44027
44028 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
44029             Bruno Haible  <bruno@clisp.org>
44030
44031         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
44032         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
44033         * doc/posix-functions/isalpha.texi: Likewise.
44034         * doc/posix-functions/isblank.texi: Likewise.
44035         * doc/posix-functions/iscntrl.texi: Likewise.
44036         * doc/posix-functions/isdigit.texi: Likewise.
44037         * doc/posix-functions/isgraph.texi: Likewise.
44038         * doc/posix-functions/islower.texi: Likewise.
44039         * doc/posix-functions/isprint.texi: Likewise.
44040         * doc/posix-functions/ispunct.texi: Likewise.
44041         * doc/posix-functions/isspace.texi: Likewise.
44042         * doc/posix-functions/isupper.texi: Likewise.
44043         * doc/posix-functions/isxdigit.texi: Likewise.
44044
44045 2009-10-18  Bruno Haible  <bruno@clisp.org>
44046
44047         Tests for module 'isblank'.
44048         * modules/isblank-tests: New file.
44049         * tests/test-isblank.c: New file.
44050
44051         New module 'isblank'.
44052         * lib/isblank.c: New file.
44053         * m4/isblank.m4: New file.
44054         * modules/isblank: New file.
44055         * doc/posix-functions/isblank.texi: Mention the new module.
44056
44057 2009-10-18  Bruno Haible  <bruno@clisp.org>
44058
44059         New module 'ctype'.
44060         * lib/ctype.in.h: New file.
44061         * m4/ctype.m4: New file.
44062         * modules/ctype: New file.
44063         * doc/posix-headers/ctype.texi: Mention the new module.
44064
44065 2009-10-18  Jim Meyering  <meyering@redhat.com>
44066
44067         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
44068         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
44069         right after its initialization, rather than farther down.
44070         Keeping these in close proximity makes it easier to ensure
44071         that each such variable is initialized.  E.g.,
44072
44073             LIB_CLOCK_GETTIME=
44074             AC_SUBST([LIB_CLOCK_GETTIME])
44075
44076         This change also increments these serial numbers.
44077         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
44078         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44079         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44080
44081 2009-10-18  Bruno Haible  <bruno@clisp.org>
44082
44083         Don't let environment variables perturb build.
44084         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
44085         (gl_PREREQ_GETHRXTIME): ... not here.
44086
44087 2009-10-18  Bruno Haible  <bruno@clisp.org>
44088
44089         Avoid symlink attack in localcharset module.
44090         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
44091         (O_NOFOLLOW): Define fallback.
44092         (get_charset_aliases): Don't open the file if it is a symbolic link.
44093         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
44094         gl_FCNTL_H.
44095         (gl_FCNTL_H): Require it.
44096         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
44097         * modules/localcharset (Files): Add m4/fcntl_h.m4.
44098         Reported by Fergal Glynn <fglynn@veracode.com>.
44099
44100 2009-10-18  Bruno Haible  <bruno@clisp.org>
44101
44102         Implement nproc for mingw.
44103         * lib/nproc.c: Include <windows.h>
44104         (num_processors): On native Windows platforms, try GetSystemInfo.
44105
44106 2009-10-18  Bruno Haible  <bruno@clisp.org>
44107
44108         Implement nproc for IRIX.
44109         * lib/nproc.c: Include <sys/sysmp.h>.
44110         (num_processors): On IRIX systems, try sysmp.
44111         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
44112
44113 2009-10-18  Bruno Haible  <bruno@clisp.org>
44114
44115         Implement nproc for HP-UX.
44116         * lib/nproc.c: Include <sys/pstat.h>
44117         (num_processors): On HP-UX systems, try pstat_getdynamic.
44118         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
44119         pstat_getdynamic.
44120
44121 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
44122             Bruno Haible  <bruno@clisp.org>
44123
44124         Implement nproc for NetBSD, OpenBSD.
44125         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
44126         (ARRAY_SIZE): New macro.
44127         (num_processors): On BSD systems, try sysctl of HW_NCPU.
44128         * m4/nproc.m4: New file.
44129         * modules/nproc (Files): Add m4/nproc.m4.
44130         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
44131         (Makefile.am): Instead, augment lib_SOURCES.
44132
44133 2009-10-18  Bruno Haible  <bruno@clisp.org>
44134
44135         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
44136         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
44137         sys/param.h.
44138
44139 2009-10-16  Eric Blake  <ebb9@byu.net>
44140
44141         utimensat: new module
44142         * modules/utimensat: New file.
44143         * lib/utimensat.c (utimensat): Likewise.
44144         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
44145         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
44146         so we can work around Linux bugs.
44147         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44148         * modules/sys_stat (Makefile.am): Substitute them.
44149         * lib/sys_stat.in.h (utimensat): Declare it.
44150         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44151         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44152         * modules/utimensat-tests: New test.
44153         * tests/test-utimensat.c: Likewise.
44154
44155         utimens: let lutimens work on non-symlinks
44156         * lib/utimens.c (lutimens): Fall back to utimens rather than
44157         failing with ENOSYS, when file is not a symlink.
44158         (utimens): Reduce redirection.
44159         * tests/test-lutimens.h (test_lutimens): Update test to cover
44160         non-symlinks.
44161         * tests/test-utimens.h (test_utimens): Update test to cover
44162         symlinks.
44163         * tests/test-utimens.c (main): Update caller.
44164
44165         utimens: cache whether utimensat syscall works
44166         * lib/utimens.c (utimensat_works_really): New cache variable.
44167         (fdutimens, lutimens): Use it to avoid failing syscall.
44168
44169         test-stat-time, test-utimens: improve portability
44170         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
44171         ext4 on alpha, and for cygwin.
44172         * tests/test-utimens-common.h: New file.
44173         (nap): Factor delays into single function.
44174         * tests/test-lutimens.h (test_lutimens): Use new header.
44175         * tests/test-futimens.h (test_futimens): Likewise.
44176         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
44177         timestamps to occur from same machine, as was done previously for
44178         test_utimens.
44179         * modules/utimens-tests (Files): Ship new file.
44180         * modules/futimens-tests (Files): Likewise.
44181         Reported in part by Jim Meyering.
44182
44183         sys_stat: sort replacement declarations
44184         * lib/sys_stat.in.h: Sort declarations.
44185         * lib/futimens.c (futimens): Fix typo.
44186
44187 2009-10-15  Jim Meyering  <meyering@redhat.com>
44188
44189         don't let environment settings perturb build
44190         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
44191         could cause a configure-time and/or build-time malfunction.
44192         Typically, a configure-time function-in-library test is performed
44193         via code like this:
44194
44195           LIB_VAR=
44196           AC_SUBST([LIB_VAR])
44197           prefix_saved_LIBS=$LIBS
44198             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
44199                        [test "$ac_cv_search_FUNC" = "none required" ||
44200                         LIB_VAR=$ac_cv_search_FUNC])
44201           LIBS=$prefix_saved_LIBS
44202
44203         However, in each of the files affected by this change, the LIB_VAR=
44204         initialization was omitted.  Thus, when set in the environment, its
44205         value would propagate into generated Makefiles when FUNC is not found
44206         in LIB_NAME.
44207         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
44208         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44209         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44210
44211 2009-10-14  Eric Blake  <ebb9@byu.net>
44212
44213         fchdir: avoid infinite recursion in mingw
44214         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
44215         recursing.
44216
44217         test-stat-time: port to mingw
44218         * tests/test-stat-time.c (force_unlink): Return a value.
44219         (test_ctime) [W32]: Fix compilation error.
44220         (nap): Don't call usleep with too large an argument.  Use
44221         force_unlink.
44222         * doc/pastposix-functions/usleep.texi (usleep): Document the
44223         portability issue.
44224
44225 2009-10-13  Jim Meyering  <meyering@redhat.com>
44226
44227         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
44228         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
44229         * modules/pipe-filter-ii: Likewise.
44230         * modules/sys_socket-tests: Likewise.
44231         * modules/tsearch-tests: Likewise.
44232         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
44233         (check): Depend on it.
44234
44235 2009-10-12  Eric Blake  <ebb9@byu.net>
44236
44237         utimens-tests: port to NFS file systems
44238         * tests/test-utimens.h (test_utimens): Refactor utimecmp
44239         comparisons to avoid spurious failures from timestamp drift
44240         between NFS machines.
44241
44242 2009-10-12  Eric Blake  <ebb9@byu.net>
44243
44244         stat-time-tests: minor cleanups
44245         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
44246         * tests/test-stat-time.c (nap): Separate assignment from call.
44247         Suggested by Paolo Bonzini and Bruno Haible.
44248
44249         sys_stat: guarantee struct timespec
44250         * lib/sys_stat.in.h (includes): Always include <time.h>
44251         * modules/sys_stat (Depends-on): Add time.
44252         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
44253         mode_t permission values.
44254         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
44255         get at subsecond timestamps.
44256
44257 2009-10-10  Eric Blake  <ebb9@byu.net>
44258
44259         futimens: new module
44260         * modules/futimens: New file.
44261         * lib/futimens.c (futimens): Likewise.
44262         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
44263         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
44264         we can work around Linux bugs.
44265         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44266         * modules/sys_stat (Makefile.am): Substitute them.
44267         * lib/sys_stat.in.h (futimens): Declare it.
44268         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44269         * doc/posix-functions/futimens.texi (futimens): Likewise.
44270         * modules/futimens-tests: New test.
44271         * tests/test-futimens.c: Likewise.
44272
44273         utimens: introduce fdutimens
44274         * lib/utimens.h (fdutimens): New prototype.
44275         * lib/utimens.c (gl_futimens): Move guts...
44276         (fdutimens): ...to new interface.
44277         * tests/test-utimens.c (do_fdutimens): Use it.
44278
44279         utimens: add UTIME_NOW and UTIME_OMIT support
44280         * lib/utimens.c (validate_timespec, update_timespec): New helper
44281         functions.
44282         (gl_futimens, lutimens): Use them.
44283         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
44284         stdbool, sys_stat.
44285         (Link): Mention resulting library dependency.
44286         * modules/utimecmp (Link): Likewise.
44287         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
44288         (Makefile.am): Pick up library dependency.
44289         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
44290         definition.
44291         * tests/test-sys_stat.c: Test the definitions.
44292         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
44293         * NEWS: Document library dependency.
44294
44295         utimecmp: support symlink timestamps
44296         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
44297         hashing when possible.  Use pathconf when available.
44298         (SYSCALL_RESOLUTION): Recognize tighter resolution.
44299         * modules/utimecmp (Depends-on): Add lstat.
44300
44301         utimens: add lutimens interface
44302         * lib/utimens.c (lutimens): New function.
44303         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
44304         * lib/utimens.h (lutimens): Declare new interface.
44305         * tests/test-utimens.c (main): Enhance test.
44306         * tests/test-lutimens.h (test_lutimens): New file.
44307         * modules/utimens-tests (Files): Distribute it.
44308         (Depends-on): Add symlink.
44309         (configure.ac): Check for usleep.
44310
44311         utimens: validate futimens usage
44312         * lib/utimens.c (gl_futimens): Require valid fd up front, using
44313         fewer syscalls on failure later on.  Avoid compiler warning on
44314         mingw.
44315         * modules/utimens (Depends-on): Add dup2.
44316
44317         utimens: add test
44318         * modules/utimens-tests: New test.
44319         * tests/test-utimens.h: New file.
44320         * tests/test-futimens.h: Likewise.
44321         * tests/test-utimens.c: Likewise.
44322
44323         doc: mention timestamp portability issues
44324         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
44325         instead.
44326         * doc/posix-functions/utime.texi (utime): Likewise.
44327         * doc/posix-functions/utimes.texi (utimes): Likewise.
44328         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
44329         instead.
44330         * doc/posix-functions/futimens.texi (futimens): Mention utimens
44331         module.
44332         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44333         Mention weakness with symlink timestamps.
44334         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
44335         to utimensat/futimens instead.
44336         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
44337
44338         test-dup2: enhance test
44339         * tests/test-dup2.c (main): Also check AT_FDCWD.
44340
44341         test-stat-time: avoid more spurious failures
44342         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
44343         xfs; and avoid race if the two timestamps cross quantization edge.
44344
44345         relocatable: prefer 'file system' over 'filesystem'
44346         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
44347         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
44348         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
44349         * doc/relocatable.texi (Enabling Relocatability): Likewise.
44350         * lib/relocatable.c (compute_curr_prefix): Likewise.
44351
44352 2009-10-10  Jim Meyering  <meyering@redhat.com>
44353
44354         stat-time-tests: check for the usleep function
44355         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
44356
44357 2009-10-10  Bruno Haible  <bruno@clisp.org>
44358
44359         * modules/xnanosleep: Put the Link section after the Include section.
44360
44361 2009-10-09  Eric Blake  <ebb9@byu.net>
44362
44363         dup2: work around FreeBSD 6.1 bug
44364         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
44365         * doc/posix-functions/dup2.texi (dup2): Document it.
44366         Reported by Nelson H. F. Beebe and Jim Meyering.
44367
44368         test-stat-time: port to buggy NFS clients
44369         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
44370         (test_ctime): Also skip test if mtime and ctime are skewed.
44371
44372         maint: prefer 'file system' over 'filesystem'
44373         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44374         * doc/posix-functions/lstat.texi (lstat): Likewise.
44375         * lib/file-has-acl.c (file_has_acl): Likewise.
44376         * lib/fwriteerror.c [TEST]: Likewise.
44377         * tests/test-areadlink.h (test_areadlink): Likewise.
44378         * tests/test-areadlinkat-with-size.c (main): Likewise.
44379         * tests/test-areadlinkat.c (main): Likewise.
44380         * tests/test-canonicalize-lgpl.c (main): Likewise.
44381         * tests/test-canonicalize.c (main): Likewise.
44382         * tests/test-fstatat.c (main): Likewise.
44383         * tests/test-linkat.c (main): Likewise.
44384         * tests/test-lstat.h (test_lstat_func): Likewise.
44385         * tests/test-mkdir.h (test_mkdir): Likewise.
44386         * tests/test-readlink.h (test_readlink): Likewise.
44387         * tests/test-remove.c (main): Likewise.
44388         * tests/test-rename.h (test_rename): Likewise.
44389         * tests/test-renameat.c (main): Likewise.
44390         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44391         * tests/test-symlink.h (test_symlink): Likewise.
44392         * tests/test-symlinkat.c (main): Likewise.
44393         * tests/test-unlink.h (test_unlink_func): Likewise.
44394         * tests/test-unlinkat.c (main): Likewise.
44395
44396         maint: make realtime library usage explicit
44397         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
44398         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
44399         * modules/settime (Link): Likewise.
44400         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
44401
44402         test-stat-time: speed up execution
44403         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
44404         warning on mingw.
44405         (nap): New helper function.
44406         (prepare_test): Use it to reduce sleep time.
44407         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
44408         execution.
44409         * modules/stat-time-tests (configure.ac): Check for usleep.
44410
44411 2009-10-09  Jim Meyering  <meyering@redhat.com>
44412
44413         selinux-h: always use getfilecon wrappers
44414         * lib/getfilecon.c: New file.
44415         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
44416         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
44417         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
44418         (fgetfilecon): Provide a stub.
44419         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
44420         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
44421         file unconditionally.
44422         When <selinux/selinux.h> is found, arrange to use wrappers.
44423         * modules/selinux-h (Files): Add getfilecon.c.
44424         (Makefile.am): Substitute include-next-related bits
44425         into the now-always-generated selinux/selinux.h file.
44426         * doc/glibc-functions/lgetfilecon.texi: New file.
44427         * doc/glibc-functions/fgetfilecon.texi: New file.
44428         * doc/glibc-functions/getfilecon.texi: New file.
44429         * doc/glibc-functions/getfilecon-desc.texi: New file.
44430         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
44431         which to pull in the new files.
44432         * MODULES.html.sh (Misc): Add selinux-h.
44433
44434 2009-10-08  Jim Meyering  <meyering@redhat.com>
44435
44436         unistd: fix comment typo
44437         * lib/unistd.in.h (euidaccess): Fix a comment typo.
44438
44439 2009-10-08  Eric Blake  <ebb9@byu.net>
44440
44441         areadlink: use SIZE_MAX consistently
44442         * modules/areadlink (Depends-on): Add stdint.
44443         * modules/areadlink-with-size (Depends-on): Likewise.
44444         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
44445         gives NULL; drop sys/types, since unistd gives size_t; and add
44446         stdint for SIZE_MAX.
44447         (SIZE_MAX): Rely on headers.
44448         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
44449         and add stdint.
44450         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
44451         (SIZE_MAX): Likewise.
44452         (INITIAL_BUF_SIZE): Turn into enum.
44453         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
44454
44455 2009-10-08  Jim Meyering  <meyering@redhat.com>
44456
44457         areadlinkat: avoid compilation failure
44458         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
44459         Fix typo in comment.
44460
44461 2009-10-07  Eric Blake  <ebb9@byu.net>
44462
44463         areadlinkat-with-size: new module
44464         * modules/areadlinkat-with-size: New module.
44465         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
44466         * lib/areadlink.h (areadlinkat): Declare it.
44467         * MODULES.html.sh (File system functions): Mention it.
44468         * modules/areadlinkat-with-size-tests: New test.
44469         * tests/test-areadlinkat-with-size.c: New file.
44470
44471         xreadlinkat: new module
44472         * modules/xreadlinkat: New module.
44473         * lib/xreadlinkat.c (xreadlinkat): New file.
44474         * lib/xreadlink.h (xreadlinkat): Declare it.
44475         * MODULES.html.sh (File system functions): Mention it.
44476
44477         areadlinkat: new module
44478         * lib/at-func.c (FUNC_FAIL): New define.
44479         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
44480         * modules/areadlinkat: New module.
44481         * lib/linkat.c (areadlinkat): Move...
44482         * lib/areadlinkat.c (areadlinkat): ...to new file.
44483         * lib/areadlink.h (areadlinkat): Declare it.
44484         * modules/linkat (Depends-on): Add areadlinkat.
44485         * MODULES.html.sh (File system functions): Mention it.
44486         * modules/areadlinkat-tests: New test.
44487         * tests/test-areadlinkat.c: New file.
44488
44489         areadlink, areadlink-with-size: add tests
44490         * modules/areadlink-tests: New test.
44491         * modules/areadlink-with-size-tests: Likewise.
44492         * tests/test-areadlink.h: New file.
44493         * tests/test-areadlink.c: Likewise.
44494         * tests/test-areadlink-with-size.c: Likewise.
44495
44496         maint: minor cleanups
44497         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
44498         _UNUSED_PARAMETER_ instead.
44499         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
44500         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
44501         * modules/linkat-tests (Files): Distribute test-link.h.
44502
44503         openat, utimens: whitespace cleanup
44504         * lib/openat.c: Prefer space throughout, rather than mix of 8
44505         spaces vs. tabs.
44506         * lib/at-func.c: Likewise.
44507         * lib/utimens.c: Likewise.
44508
44509         openat: avoid using wrong fd
44510         * lib/openat.c (openat_permissive): Reject user's fd if saving the
44511         working directory chooses same fd.
44512         * lib/at-func.c (AT_FUNC_NAME): Likewise.
44513
44514         mkdir, mkdirat: fix cygwin 1.5.x bug
44515         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
44516         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
44517         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
44518         bug.
44519         (gl_PREREQ_MKDIR): Delete unused macro.
44520         * modules/mkdir (Files): Track file rename.
44521         (configure.ac): Update macro name.
44522         * modules/openat (Depends-on): Add mkdir.
44523         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
44524
44525         mkdir, mkdirat: add tests
44526         * modules/mkdir-tests: New test.
44527         * tests/test-mkdir.h: New file.
44528         * tests/test-mkdir.c: Likewise.
44529         * tests/test-mkdirat.c: Likewise.
44530         * modules/openat-tests (Files): Add new files.
44531         (Makefile.am): Run new test.
44532
44533 2009-10-06  Eric Blake  <ebb9@byu.net>
44534
44535         doc: tweak *at function documentation
44536         * doc/posix-functions/faccessat.texi (faccessat): Mention
44537         known issue with replacement.
44538         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
44539         * doc/posix-functions/linkat.texi (linkat): Likewise.
44540         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
44541         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
44542         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44543         * doc/posix-functions/renameat.texi (renameat): Likewise.
44544         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
44545
44546         openat: fix GNU/Hurd bug in unlinkat
44547         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
44548         broken.
44549         * doc/posix-functions/unlink.texi (unlink): Document this.
44550         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
44551
44552         fdopendir: fix GNU/Hurd bug
44553         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
44554         allowing non-directory fds.
44555         * lib/fdopendir.c (rpl_fdopendir): Work around it.
44556         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
44557         * modules/dirent (Makefile.am): Substitute it.
44558         * lib/dirent.in.h (fdopendir): Declare replacement.
44559         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
44560         * tests/test-fdopendir.c (main): Test something other than
44561         /dev/null, since on Hurd that behaves like a directory.
44562
44563         test-symlink: port to GNU/Hurd
44564         * tests/test-symlink.h (test_symlink): Relax expected errno.
44565
44566         doc: tweak more cygwin information
44567         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
44568         now compatible with glibc.
44569         * doc/posix-functions/getopt.texi (getopt): Likewise.
44570
44571         getopt-gnu: add another test
44572         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
44573         guarantee behavior relied on by m4.
44574         * tests/test-getopt.c (main): Use it.
44575         * modules/getopt-posix-tests (Depends-on): Add setenv.
44576         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
44577
44578         getopt: fix compilation on darwin
44579         * lib/getopt.in.h (includes): Leave breadcrumbs during system
44580         include.
44581         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
44582         Reported by Ludovic Courtès.
44583
44584 2009-10-06  Bruno Haible  <bruno@clisp.org>
44585
44586         * modules/size_max (Description): Discourage its use.
44587         Reported by Simon Josefsson.
44588
44589 2009-10-06  Jim Meyering  <meyering@redhat.com>
44590
44591         linkat: avoid compilation failure
44592         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
44593
44594 2009-10-05  Eric Blake  <ebb9@byu.net>
44595
44596         linkat: support Linux 2.6.17
44597         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
44598         linkat on Linux, but allow cache variable override.
44599         * lib/linkat.c (rpl_linkat): Define override.
44600         * modules/linkat (Depends-on): Add symlinkat.
44601         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
44602         * modules/unistd (Makefile.am): Substitute it.
44603         * lib/unistd.in.h (linkat): Declare replacement.
44604         Reported by Pádraig Brady.
44605
44606         quotearg: port test to systems with C.UTF-8 locale
44607         * tests/test-quotearg.c (struct result_strings): Add another
44608         member, differentiating between C.ASCII and C.UTF-8 handling.
44609         (compare_strings): Add parameter.
44610         (main): Adjust all callers.
44611
44612         getopt: avoid clash with FreeBSD _getopt_internal
44613         * lib/getopt.in.h (_getopt_internal): Override the name.
44614         * lib/getopt_int.h (includes): Pick up any overrides.
44615         Reported by Reuben Thomas.
44616
44617         hash: allow C89 compilation
44618         * lib/hash.c (check_tuning): Move declaration before statement.
44619         Reported by Reuben Thomas.
44620
44621 2009-10-05  Karl Berry  <karl@gnu.org>
44622
44623         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
44624
44625 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
44626             Bruno Haible  <bruno@clisp.org>
44627
44628         * lib/uname.c (uname): Use a table-driven algorithm to compute
44629         Windows NT versions.
44630
44631 2009-10-04  Bruno Haible  <bruno@clisp.org>
44632
44633         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
44634         program_invocation_short_name.
44635         * modules/progname (configure.ac): Test for presence of
44636         program_invocation_short_name.
44637         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44638
44639 2009-10-04  Bruno Haible  <bruno@clisp.org>
44640
44641         * lib/progname.c (set_program_name): Fix comment.
44642         Reported by Jim Meyering.
44643
44644 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44645             Bruno Haible  <bruno@clisp.org>
44646
44647         * lib/uname.c: Include <string.h>.
44648         (uname): Do only one call to GetVersionEx in the common case.
44649
44650 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44651             Bruno Haible  <bruno@clisp.org>
44652
44653         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
44654         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
44655         (uname): Add support for Windows CE and various non-x86 CPU types.
44656
44657 2009-10-03  Bruno Haible  <bruno@clisp.org>
44658
44659         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
44660         invocation to tests/configure.ac.
44661         Reported by Ian Beckwith <ianb@erislabs.net>.
44662
44663 2009-10-02  Eric Blake  <ebb9@byu.net>
44664
44665         fchdir: avoid compiler warning
44666         * lib/fchdir.c (canonicalize_file_name)
44667         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
44668
44669         test-open: support mingw errno values
44670         * tests/test-open.h (test_open): Relax test.
44671         * tests/test-fopen.h (test_fopen): Likewise.
44672         * tests/test-openat-safer.c (main): Likewise.
44673
44674         open: fix opening directory on mingw
44675         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
44676
44677         test-open: on GNU/Hurd, /dev/null is a directory
44678         * tests/test-fopen.h (main): Rename...
44679         (test_fopen): ...to this.  Use a guaranteed non-directory when
44680         confirming open behavior on trailing slash.
44681         * tests/test-openat-safer.c (main): Likewise.
44682         * tests/test-open.h (main): Likewise....
44683         (test_open): ...to this.
44684         * tests/test-fopen.c (main): Adjust caller.
44685         * tests/test-fopen-safer.c (main): Likewise.
44686         * tests/test-open.c (main): Likewise.
44687         * tests/test-fcntl-safer.c (main): Likewise.
44688         Reported by Samuel Thibault.
44689
44690         rename, fchdir: don't ignore chdir failure
44691         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
44692         * lib/rename.c (rpl_rename) [W32]: Likewise.
44693         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
44694         an empty destination directory if source cannot be renamed,
44695         although there is still possibility for failure.
44696         * doc/posix-functions/rename.texi (rename): Document the race.
44697         Reported by Jim Meyering.
44698
44699         maint: cleanup whitespace in recent commits
44700         * lib/rename.c (rpl_rename): Remove tabs.
44701         * tests/test-link.h (test_link): Likewise.
44702         * lib/fchdir.c (get_name): Likewise.
44703         Reported by Jim Meyering.
44704
44705 2009-10-02  Ben Pfaff  <blp@gnu.org>
44706
44707         relocatable-prog-wrapper: Add missing dependency on
44708         double-slash-root.
44709         * modules/relocatable-prog-wrapper: Add dependency.
44710         Reported by Ian Beckwith <ianb@erislabs.net>.
44711
44712 2009-10-02  Eric Blake  <ebb9@byu.net>
44713
44714         renameat: fix Solaris bugs
44715         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
44716         needed fixing.
44717         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
44718         * modules/stdio (Makefile.am): Substitute it.
44719         * lib/stdio.in.h (renameat): Declare replacement.
44720         * lib/renameat.c (rpl_renameat): Implement fix.
44721
44722         renameat: new module
44723         * modules/renameat: New file.
44724         * lib/renameat.c (renameat): Likewise.
44725         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
44726         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44727         * modules/stdio (Makefile.am): Substitute them.
44728         * lib/stdio.in.h (renameat): Declare it.
44729         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44730         * doc/posix-functions/renameat.texi (renameat): Likewise.
44731         * modules/renameat-tests: New test.
44732         * tests/test-renameat.c: Likewise.
44733
44734         rename: fix mingw bugs
44735         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
44736         directory overwrite bugs.
44737
44738         rename: fix another cygwin 1.5 bug
44739         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
44740         checks.
44741         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
44742         unnecessary cygwin workarounds.  Also work around bug with moving
44743         full directory onto an empty one.
44744         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
44745
44746         rename-dest-slash: merge into rename module
44747         * modules/rename-dest-slash (Status): Mark obsolete.
44748         (Depends-on): Add rename.
44749         (Files): Let rename do it all.
44750         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
44751         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
44752         * m4/rename-dest-slash.m4: ...so this file can be deleted.
44753         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
44754         * lib/rename.c (rpl_rename): Update comments.
44755
44756         rename: fix cygwin 1.5.x bugs
44757         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
44758         * lib/rename.c (rpl_rename): Work around them.
44759         * modules/rename (Depends-on): Add same-inode.
44760
44761         rename: fix Solaris 10 bug
44762         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44763         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
44764         was the only bug.
44765
44766         rename: fix Solaris 9 bug
44767         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
44768         on non-directory.  Avoid calling exit.
44769         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
44770         strdup.
44771         * modules/rename-tests (Depends-on): Drop lstat.
44772         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44773         (gl_PREREQ_RENAME): Delete unused macro.
44774
44775         rename-dest-slash: fix NetBSD bug
44776         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
44777         links.
44778         * modules/rename-dest-slash (Depends-on): Add same-inode.
44779
44780         rename-tests: new test, exposes several platform bugs
44781         * modules/rename-tests: New file.
44782         * tests/test-rename.h: Likewise.
44783         * tests/test-rename.c: Likewise.
44784         * doc/posix-functions/rename.texi (rename): Improve documentation,
44785         including bugs that will eventually be fixed in gnulib.
44786
44787 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
44788
44789         * lib/uname.c: Include <stdlib.h>
44790         (uname): Assume version info is available.
44791
44792 2009-10-02  Jim Meyering  <meyering@redhat.com>
44793
44794         gnu-web-doc-update: correct --help output
44795         * build-aux/gnu-web-doc-update: Make --help output relevant.
44796
44797         gnu-web-doc-update: add standard options
44798         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
44799
44800         gnu-web-doc-update: New module.
44801         Use this script to automatically update the on-line web documentation
44802         for your GNU project at http://www.gnu.org/software/$pkg/manual/
44803         * modules/gnu-web-doc-update: New file, from coreutils.
44804         * build-aux/gnu-web-doc-update: New script.
44805
44806 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
44807
44808         link: LoadLibrary is not needed.
44809         * lib/link.c: Use GetModuleHandle.
44810
44811 2009-10-01  Eric Blake  <ebb9@byu.net>
44812
44813         getopt: bump serial number
44814         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
44815         change.
44816
44817         tests: tighten link, rmdir, and remove tests
44818         * tests/test-link.h (includes): No need to use <config.h> here.
44819         Clean up if directory hard link was created, otherwise test for
44820         trailing '.'.
44821         * tests/test-linkat.c (main): Simplify.
44822         * tests/test-remove.c (main): Enhance test for trailing '.'.
44823         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44824
44825 2009-10-01  Jim Meyering  <meyering@redhat.com>
44826
44827         maint.mk: requiring "make major" was annoying, for a "minor" release.
44828         What is intended is "stable", to contrast with alpha and beta,
44829         so require "make stable", not "make major".
44830         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
44831         (get_tool_versions): Likewise.
44832         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
44833
44834 2009-09-30  Ben Pfaff  <blp@gnu.org>
44835
44836         Fix broken build of replacement for Windows tmpfile().
44837         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
44838         flags argument added along with the 'mkostemp' module.
44839
44840 2009-09-28  Bruno Haible  <bruno@clisp.org>
44841
44842         Avoid identifier clash with POSIX function 'remove' defined as a macro.
44843         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
44844         to 'remove_elt'.
44845         (gl_list_remove): Update.
44846         * lib/gl_list.c (gl_list_remove): Update.
44847         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
44848         to 'remove_elt'.
44849         (gl_oset_remove): Update.
44850         * lib/gl_list.c (gl_oset_remove): Update.
44851         Reported by Eric Blake.
44852
44853 2009-09-28  Eric Blake  <ebb9@byu.net>
44854
44855         doc: mention yet more cygwin 1.7 status
44856         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
44857         cygwin.
44858         * doc/glibc-functions/execvpe.texi (execvpe): New file.
44859         * doc/gnulib.texi (Glibc unistd.h): Mention it.
44860
44861         argp: fix test failure
44862         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
44863         that are not upper-case.  Pass correct range to tolower.
44864
44865 2009-09-27  Jim Meyering  <meyering@redhat.com>
44866
44867         test-yesno: work around sparc-dash here-document infelicity
44868         Without this change, the literal \177 byte in a here document
44869         would make dash 0.5.5.1-3 access uninitialized memory.
44870         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
44871         Instead, use a marker, "@", and filter through tr to create the desired
44872         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
44873
44874 2009-09-27  Bruno Haible  <bruno@clisp.org>
44875
44876         Disable untested support for new flavours of ACLs on AIX.
44877         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
44878         progress.
44879         * lib/set-mode-acl.c (qset_acl): Likewise.
44880
44881 2008-12-07  Bruno Haible  <bruno@clisp.org>
44882
44883         Add support for new flavours of ACLs on AIX. (Untested.)
44884         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
44885         (file_has_acl): Add support for newer AIX.
44886         * lib/set-mode-acl.c (qset_acl): Likewise.
44887         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
44888         Rainer Tammer <tammer@tammer.net>.
44889
44890 2009-09-26  Eric Blake  <ebb9@byu.net>
44891
44892         argp: fix compilation of getopt
44893         * lib/getopt.in.h (includes): Use different guard than glibc.
44894         Reported by Sergey Poznyakoff.
44895
44896         doc: mention more cygwin 1.7 status
44897         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
44898         bug.
44899         * doc/posix-functions/execl.texi (execl): Likewise.
44900         * doc/posix-functions/execle.texi (execle): Likewise.
44901         * doc/posix-functions/execlp.texi (execlp): Likewise.
44902         * doc/posix-functions/execv.texi (execv): Likewise.
44903         * doc/posix-functions/execve.texi (execve): Likewise.
44904         * doc/posix-functions/execvp.texi (execvp): Likewise.
44905         * doc/glibc-functions/canonicalize_file_name.texi
44906         (canonicalize_file_name): Cygwin 1.7 now provides this.
44907         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
44908         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
44909         on AT_SYMLINK_NOFOLLOW.
44910
44911 2009-09-24  Eric Blake  <ebb9@byu.net>
44912
44913         test-linkat: make test more robust
44914         * tests/test-linkat.c (main): Avoid collision with EEXIST.
44915
44916         getopt: fix inclusion guards for cygwin
44917         * modules/getopt-posix (Depends-on): Add include-next.
44918         (Makefile.am): Substitute more items in replacement header.
44919         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
44920         <getopt.h>.
44921         * lib/getopt.in.h (includes): Use split inclusion guard, and
44922         prefer <getopt.h> over include <unistd.h> when one is present.
44923         (option): Also override name of 'struct option'.
44924
44925         same-inode: revert prior change; it is not yet ready
44926         * NEWS: Undo mention of this change.
44927         * lib/same-inode.h (same-inode.h): Undo tri-state change.
44928         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44929         * lib/cycle-check.c (cycle_check): Likewise.
44930         * lib/same.c (same_name): Likewise.
44931         * lib/at-func2.c (at_func2): Likewise.
44932
44933 2009-09-23  Eric Blake  <ebb9@byu.net>
44934
44935         linkat: new module
44936         * modules/linkat: New file.
44937         * lib/at-func2.c (at_func2): Likewise.
44938         * lib/linkat.c (linkat): Likewise.
44939         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
44940         * lib/openat-priv.h (at_func2): Add declaration.
44941         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44942         * modules/unistd (Makefile.am): Substitute them.
44943         * lib/unistd.in.h (linkat): Declare it.
44944         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44945         * doc/posix-functions/linkat.texi (linkat): Likewise.
44946         * doc/posix-functions/link.texi (link): Tweak wording.
44947         * tests/test-link.c (main): Move guts...
44948         * tests/test-link.h (test_link): ...into new file.
44949         * modules/linkat-tests: New test.
44950         * tests/test-linkat.c: Likewise.
44951         * modules/link-tests (Files): Ship new file.
44952         (Depends-on): Add stdbool.
44953
44954         dirname: add library-safe mdir_name
44955         * lib/dirname.h (mdir_name): New prototype.
44956         * lib/dirname.c (dir_name): Move guts...
44957         (mdir_name): ...to new function that avoids xalloc_die.
44958
44959         fchdir: another mingw fix
44960         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
44961         * lib/fchdir.c (get_name): New helper method; skips canonicalize
44962         on mingw (where it has not yet been ported), and make it optional
44963         elsewhere.
44964         (_gl_register_fd): Use it.
44965
44966         same-inode: make SAME_INODE tri-state, to port to mingw
44967         * NEWS: Mention this change.
44968         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
44969         st_ino always being 0.
44970         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44971         * lib/cycle-check.c (cycle_check): Likewise.
44972         * lib/same.c (same_name): Likewise.
44973
44974         lstat: avoid mingw compilation error
44975         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
44976         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
44977         lstat ourselves.
44978         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
44979         was adequate.
44980         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
44981         the checks for lstat.
44982         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
44983
44984         link: fix test failure on Solaris 9
44985         * lib/link.c (rpl_link): Don't assume link will catch bogus
44986         trailing slash on source.
44987
44988         test-symlinkat: enhance test
44989         * tests/test-readlink.c (main): Move guts...
44990         * tests/test-readlink.h (test_readlink): ...into new file.
44991         * tests/test-symlink.c (main): Move guts...
44992         * tests/test-symlink.h (test_symlink): ...into new file.
44993         * tests/test-symlinkat.c (main): Use new files for further
44994         coverage.
44995         (do_symlink, do_readlink): New helper functions.
44996         * modules/symlink-tests (Files): Ship new file.
44997         (Depends-on): Add stdbool.
44998         * modules/readlink-tests (Files): Ship new file.
44999         (Depends-on): Add stdbool.
45000         * modules/symlinkat-tests (Files): Use new files.
45001
45002 2009-09-23  Eric Blake  <ebb9@byu.net>
45003
45004         readlink: document portability issue with symlink length
45005         * doc/posix-functions/lstat.texi (lstat): Mention that some file
45006         systems have bogus st_size on symlinks, and mention the
45007         areadlink-with-size module.
45008         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
45009         * doc/posix-functions/readlink.texi (readlink): Mention the
45010         areadlink module, and ERANGE failure.
45011         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45012         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
45013
45014         readlink: fix Solaris 9 bug with trailing slash
45015         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
45016         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
45017         * doc/posix-functions/readlink.texi (readlink): Document this.
45018         * modules/readlink-tests: New test.
45019         * tests/test-readlink.c: Likewise.
45020
45021         readlink: fix cygwin 1.5.x bug with return type
45022         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
45023         * lib/unistd.in.h (readlink): Use ssize_t.
45024         * lib/readlink.c (readlink): Likewise.
45025         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45026         * modules/unistd (Makefile.am): Substitute it.
45027         * lib/unistd.in.h (readlink): Declare replacement.
45028         * doc/posix-functions/readlink.texi (readlink): Document this.
45029
45030         symlink: use throughout gnulib
45031         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
45032         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
45033         symlink is not used.
45034         * modules/symlinkat (Depends-on): Add symlink.
45035         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
45036         * modules/canonicalize-tests (Depends-on): Likewise.
45037         * modules/lstat-tests (Depends-on): Likewise.
45038         * modules/openat-tests (Depends-on): Likewise.
45039         * modules/remove-tests (Depends-on): Likewise.
45040         * modules/rmdir-tests (Depends-on): Likewise.
45041         * modules/unlink-tests (Depends-on): Likewise.
45042         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
45043         * tests/test-canonicalize.c (symlink): Likewise.
45044         * tests/test-fstatat.c (symlink): Likewise.
45045         * tests/test-lstat.c (symlink): Likewise.
45046         * tests/test-remove.c (symlink): Likewise.
45047         * tests/test-rmdir.c (symlink): Likewise.
45048         * tests/test-unlink.c (symlink): Likewise.
45049         * tests/test-unlinkat.c (symlink): Likewise.
45050
45051         symlink: new module, for Solaris 9 bug
45052         * modules/symlink: New file.
45053         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
45054         * lib/symlink.c: Likewise.
45055         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
45056         * modules/unistd (Makefile.am): Substitute them.
45057         * lib/unistd.in.h (symlink): Declare replacement.
45058         * MODULES.html.sh (File system functions): Mention it.
45059         * doc/posix-functions/symlink.texi (symlink): Likewise.
45060         * modules/symlink-tests: New test.
45061         * tests/test-symlink.c: Likewise.
45062
45063 2009-09-23  Bruno Haible  <bruno@clisp.org>
45064
45065         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
45066         when needed.
45067         Test case: gnulib-tool --import --with-tests atexit inttypes.
45068         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
45069
45070 2009-09-23  Bruno Haible  <bruno@clisp.org>
45071
45072         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
45073         subcommand, not in a subshell.
45074
45075 2009-09-22  Eric Blake  <ebb9@byu.net>
45076
45077         unistd: sort replacement declarations
45078         * lib/unistd.in.h: Sort declarations.
45079
45080         open, openat: minor optimization
45081         * lib/open.c (open): If open succeeded, len is non-zero.
45082         * lib/openat.c (rpl_openat): Likewise.
45083
45084         link-follow: ensure correct result
45085         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
45086         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
45087         distinguish between possible failures.
45088
45089 2009-09-21  Eric Blake  <ebb9@byu.net>
45090
45091         fts: avoid compiler warning
45092         * lib/fts.c (dirent_inode_sort_may_be_useful)
45093         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
45094
45095 2009-09-19  Bruno Haible  <bruno@clisp.org>
45096
45097         * lib/progreloc.c (canonicalize_file_name): New declaration.
45098
45099 2009-09-19  Eric Blake  <ebb9@byu.net>
45100
45101         link: fix quoting
45102         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
45103
45104         openat: fix openat bugs on Solaris 9
45105         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
45106         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
45107         * modules/openat (Depends-on): Add open.
45108         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
45109         * modules/fcntl-h (Makefile.am): Substitute it.
45110         * lib/fcntl.in.h (openat): Declare replacement.
45111         * doc/posix-functions/openat.texi (openat): Document this.
45112
45113         openat: move fstatat and unlinkat into correct files
45114         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
45115         compiled.
45116         * lib/openat.c (fstatat, unlinkat): Move...
45117         * lib/fstatat.c (fstatat): ...into correct files.
45118         * lib/unlinkat.c (unlinkat): Likewise.
45119
45120         openat: fix unlinkat bugs on Solaris 9
45121         * lib/unlinkat.c (unlinkat): New file.
45122         * modules/openat (Depends-on): Add unlink.
45123         (Files): Distribute it.
45124         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
45125         trailing slash behavior is broken.
45126         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45127         * modules/unistd (Makefile.am): Substitute it.
45128         * lib/unistd.in.h (unlinkat): Declare replacement.
45129         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
45130
45131         openat: fix fstatat bugs on Solaris 9
45132         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
45133         stat.
45134         * doc/posix-functions/fstatat.texi (fstatat): Document this.
45135
45136         test-unlinkat: enhance test, to expose Solaris 9 bug
45137         * tests/test-unlink.c (main): Factor guts...
45138         * tests/test-unlink.h (test_rmdir_func): ...into new file.
45139         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
45140         * tests/test-rmdir.c (main): Adjust caller.
45141         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
45142         (unlinker): New helper function.
45143         (rmdirat): Enhance check.
45144         * modules/rmdir-tests (Depends-on): Add stdbool.
45145         * modules/unlink-tests (Depends-on): Likewise.
45146         (Files): Add test-unlink.h.
45147         * modules/openat-tests (Files): Likewise.
45148         (Depends-on): Add unlinkdir.
45149
45150         test-fstatat: new test, to expose Solaris 9 bugs
45151         * tests/test-stat.c (main): Factor guts...
45152         * tests/test-stat.h (test_stat_func): ...into new file.
45153         * tests/test-lstat.c (main): Factor guts...
45154         * tests/test-lstat.h (test_lstat_func): ...into new file.
45155         * tests/test-fstatat.c: New file.
45156         * modules/stat-tests (Files): Add test-stat.h.
45157         * modules/lstat-tests (Files): Add test-lstat.h.
45158         (Depends-on): Add stdbool.
45159         * modules/openat-tests (Depends-on): Add pathmax.
45160         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
45161         (Makefile.am): Run new test.
45162
45163         remove: new module, for mingw and Solaris 9 bugs
45164         * modules/remove: New file.
45165         * lib/remove.c: Likewise.
45166         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
45167         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
45168         * modules/stdio (Makefile.am): Use them.
45169         * lib/stdio.in.h (remove): Declare replacement.
45170         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45171         * doc/posix-functions/remove.texi (remove): Likewise.
45172         * modules/remove-tests: New test.
45173         * tests/test-remove.c: Likewise.
45174
45175         unlink: new module, for Solaris 9 bug
45176         * modules/unlink: New file.
45177         * lib/unlink.c: Likewise.
45178         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
45179         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45180         * modules/unistd (Makefile.am): Use them.
45181         * lib/unistd.in.h (stat): Declare replacement.
45182         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45183         * doc/posix-functions/unlink.texi (unlink): Likewise.
45184         * modules/unlink-tests: New test.
45185         * tests/test-unlink.c: Likewise.
45186
45187         lstat: fix Solaris 9 bug
45188         * lib/lstat.c (lstat): Also check for trailing slash on
45189         non-symlink, non-directories.  Use stat module to simplify logic.
45190         * doc/posix-functions/lstat.texi (lstat): Document it.
45191         * modules/lstat-tests (Depends-on): Add errno, same-inode.
45192         (configure.ac): Check for symlink.
45193         * tests/test-lstat.c (main): Add more tests.
45194
45195         stat: add as dependency to other modules
45196         * modules/chown (Depends-on): Add stat.
45197         * modules/euidaccess (Depends-on): Likewise.
45198         * modules/fchdir (Depends-on): Likewise.
45199         * modules/isdir (Depends-on): Likewise.
45200         * modules/link (Depends-on): Likewise.
45201         * modules/lstat (Depends-on): Likewise.
45202         * modules/mkdir-p (Depends-on): Likewise.
45203         * modules/modechange (Depends-on): Likewise.
45204         * modules/open (Depends-on): Likewise.
45205         * modules/readlink (Depends-on): Likewise.
45206         * modules/same (Depends-on): Likewise.
45207
45208         stat: fix Solaris 9 bug
45209         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
45210         slash.
45211         * lib/stat.c (rpl_stat): Work around it.
45212         * doc/posix-functions/stat.texi (stat): Update documentation.
45213
45214         stat: new module, for mingw bug
45215         * modules/stat: New file.
45216         * lib/stat.c: Likewise.
45217         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
45218         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45219         * modules/sys_stat (Makefile.am): Use them.
45220         * lib/sys_stat.in.h (stat): Declare replacement.
45221         * lib/openat.c (fstatat): Deal with lstat and stat being function
45222         macros.
45223         * modules/openat (Depends-on): Add inline.
45224         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45225         * doc/posix-functions/stat.texi (stat): Likewise.
45226         * modules/stat-tests: New test.
45227         * tests/test-stat.c: Likewise.
45228
45229 2009-09-19  Jim Meyering  <meyering@redhat.com>
45230
45231         syntax-check: detect unnecessary inclusion of canonicalize.h
45232         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
45233
45234 2009-09-19  Eric Blake  <ebb9@byu.net>
45235
45236         canonicalize-lgpl: adjust clients to use correct header
45237         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45238         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
45239         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
45240         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
45241         * lib/progreloc.c (includes): Likewise.
45242
45243 2009-09-19  Jim Meyering  <meyering@redhat.com>
45244
45245         test-posixtm.c: correct a comment
45246         * tests/test-posixtm.c: Correct first-line comment.
45247         Spotted by Eric Blake.
45248
45249 2009-09-16  Jim Meyering  <meyering@redhat.com>
45250
45251         posixtm-tests: make T const-correct; add a test case
45252         * tests/test-posixtm.c (T): Declare const.
45253         Add a test for -(2^31+1).
45254         Remove useless can-succeed-only-in-2002 test.
45255
45256         posixtm-tests: adjust the sole failing test
45257         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
45258         expected output matches what mktime now produces.  Cross-checked via
45259         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
45260
45261         posixtm: move #ifdef'd tests into a new module
45262         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
45263         * tests/test-posixtm.c: ... this new file.
45264         * modules/posixtm-tests: New module.
45265
45266 2009-09-19  Eric Blake  <ebb9@byu.net>
45267
45268         openat: simplify use of at-func.c
45269         * lib/at-func.c (includes): Include prerequisites here, to
45270         simplify requirements on client files.
45271         * lib/openat-priv.h: Add double-inclusion guard.
45272         * lib/faccessat.c (includes): Simplify.
45273         * lib/fchmodat.c (includes): Likewise.
45274         * lib/fchownat.c (includes): Likewise.
45275         * lib/mkdirat.c (includes): Likewise.
45276         * lib/mkfifoat.c (includes): Likewise.
45277         * lib/symlinkat.c (includes): Likewise.
45278
45279         openat: allow return of fd 0
45280         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
45281         * modules/save-cwd (Depends-on): Replace fcntl-safer with
45282         unistd-safer.
45283         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
45284         <fcntl.h>; this module does not leak fds.
45285         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
45286         must be allowed to return 0, leaving openat_safer to add the
45287         safety.
45288         (openat_permissive): Avoid writing to just-opened fd 2 if
45289         restoring the current directory fails.
45290         * lib/openat-die.c (openat_restore_fail): Add comment.
45291         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
45292         (save_cwd): Guarantee safe fd, but without use of open_safer.
45293         * tests/test-openat.c: New test.
45294         * modules/openat-tests (Files, Makefile.am): Distribute and build
45295         new file.
45296
45297         relocatable-prog-wrapper: fix build
45298         * modules/relocatable-prog-wrapper (Files): Update name of
45299         canonicalize m4 file, broken on 2009-09-17.
45300         Reported by emad hajjar <aleppos@hotmail.com>.
45301
45302 2009-09-19  Bruno Haible  <bruno@clisp.org>
45303
45304         * lib/safe-alloc.h: Use the standard header with GPL copyright.
45305         * lib/safe-alloc.c: Likewise.
45306         Reported by Ian Beckwith <ianb@erislabs.net>.
45307
45308 2009-09-18  Bruno Haible  <bruno@clisp.org>
45309
45310         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
45311         Reported by <erobles@sensacd.com.mx>.
45312
45313 2009-09-17  Eric Blake  <ebb9@byu.net>
45314
45315         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
45316         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
45317         slashes when checking if last component is missing.
45318         * tests/test-canonicalize.c (main): Test this.
45319
45320         canonicalize, canonicalize-lgpl: honor // if distinct from /
45321         * modules/canonicalize (Files): Add double-slash-root.m4.
45322         * modules/canonicalize-lgpl (Files): Likewise.
45323         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45324         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
45325         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
45326         fallback definition.
45327         (canonicalize_filename_mode): Use it to protect //.
45328         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
45329         (__realpath): Likewise.
45330         * tests/test-canonicalize.c (main): Test this.
45331         * tests/test-canonicalize-lgpl.c (main): Likewise.
45332         * modules/canonicalize-tests (Depends-on): Add same-inode.
45333         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
45334
45335         canonicalize-lgpl: fix glibc bug with trailing slash
45336         * m4/canonicalize-lgpl.m4: Move contents...
45337         * m4/canonicalize.m4: ...here.
45338         (gl_CANONICALIZE_LGPL): Factor realpath check...
45339         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
45340         glibc 2.3.5 bug, fixed 2005-04-27.
45341         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
45342         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
45343         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
45344         * modules/canonicalize-lgpl (Files): Manage file rename.
45345         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45346         * modules/stdlib (Makefile.am): Substitute witness.
45347         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
45348         is needed.
45349         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
45350         replacement is required.
45351         * lib/canonicalize.c (canonicalize_file_name): Likewise.
45352         * doc/glibc-functions/canonicalize_file_name.texi
45353         (canonicalize_file_name): Document this.
45354         * doc/posix-functions/realpath.texi (realpath): Likewise.
45355
45356         canonicalize-lgpl: reject non-directory with trailing slash
45357         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
45358         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
45359         catches failures in glibc 2.3.5.
45360         * tests/test-canonicalize.c (main): Likewise.
45361
45362         canonicalize-lgpl: use native realpath if it works
45363         * lib/canonicalize-lgpl.c (realpath): Guard with
45364         FUNC_REALPATH_WORKS.
45365         * lib/stdlib.in.h (realpath): Make declaration optional based on
45366         HAVE_REALPATH.
45367         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
45368         native realpath works.
45369         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45370         * modules/stdlib (Makefile.am): Substitute witness.
45371
45372         canonicalize, canonicalize-lgpl: use <stdlib.h>
45373         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
45374         (Include): Mention <stdlib.h>.
45375         (configure.ac): Mention functions we provide.
45376         * modules/canonicalize (configure.ac): Likewise.
45377         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
45378         realpath if canonicalize_file_name is missing.
45379         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
45380         * modules/stdlib (Makefile.am): Substitute witnesses.
45381         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
45382         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
45383         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
45384         * NEWS: Document this.
45385         * doc/glibc-functions/canonicalize_file_name.texi
45386         (canonicalize_file_name): Likewise.
45387         * doc/posix-functions/realpath.texi (realpath): Likewise.
45388         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
45389
45390         test-canonicalize: consolidate into single C program
45391         * tests/test-canonicalize.sh: Delete; move setup into...
45392         * tests/test-canonicalize.c (main): ...the program, making it
45393         easier to run in debugger.  Add some tests.
45394         * modules/canonicalize-tests (Files): Remove unused file.
45395         (Depends-on): Add progname.
45396         (configure.ac, Makefile.am): Simplify.
45397
45398         test-canonicalize-lgpl: consolidate into single C program
45399         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
45400         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
45401         easier to run in debugger.  Add some tests.
45402         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
45403         (configure.ac, Makefile.am): Simplify.
45404
45405         canonicalize: avoid resolvepath
45406         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
45407         unnecessary checks.
45408         * lib/canonicalize.c (includes): Simplify.
45409         (canonicalize_file_name): Drop resolvepath implementation.
45410         * modules/canonicalize (Depends-on): Drop filenamecat.
45411
45412         canonicalize: don't lose errno
45413         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
45414         over calls to free.
45415
45416         canonicalize: simplify errno handling
45417         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
45418         assignment.
45419
45420         canonicalize, canonicalize-lgpl: update module dependencies
45421         * modules/canonicalize (Depends-on): Add extensions, lstat,
45422         pathmax, stdlib.
45423         (Files): Drop pathmax.h.
45424         (configure.ac): Adjust macro name.
45425         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
45426         lstat, stdlib, sys_stat.
45427         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
45428         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
45429         extensions.
45430         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
45431         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
45432         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
45433         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
45434         declaration, if available.
45435         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
45436         we can rely on the readlink module.
45437         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
45438         (includes): Use <unistd.h> unconditionally.
45439
45440 2009-09-17  Eric Blake  <ebb9@byu.net>
45441
45442         maint: make Include sections of modules consistent
45443         * modules/alloca: Use only header name; no need to list #include.
45444         * modules/alloca-opt: Likewise.
45445         * modules/arpa_inet: Likewise.
45446         * modules/canon-host: Likewise.
45447         * modules/configmake: Likewise.
45448         * modules/dirent: Likewise.
45449         * modules/eealloc: Likewise.
45450         * modules/environ: Likewise.
45451         * modules/fchdir: Likewise.
45452         * modules/fcntl: Likewise.
45453         * modules/fcntl-h: Likewise.
45454         * modules/gethrxtime: Likewise.
45455         * modules/gettime: Likewise.
45456         * modules/ignore-value: Likewise.
45457         * modules/inet_ntop: Likewise.
45458         * modules/inet_pton: Likewise.
45459         * modules/inttypes: Likewise.
45460         * modules/isnand-nolibm: Likewise.
45461         * modules/isnanf-nolibm: Likewise.
45462         * modules/mbchar: Likewise.
45463         * modules/mbfile: Likewise.
45464         * modules/mbiter: Likewise.
45465         * modules/mbuiter: Likewise.
45466         * modules/netdb: Likewise.
45467         * modules/netinet_in: Likewise.
45468         * modules/nproc: Likewise.
45469         * modules/pagealign_alloc: Likewise.
45470         * modules/poll: Likewise.
45471         * modules/printf-frexp: Likewise.
45472         * modules/pthread: Likewise.
45473         * modules/putenv: Likewise.
45474         * modules/random_r: Likewise.
45475         * modules/relocatable-prog: Likewise.
45476         * modules/search: Likewise.
45477         * modules/select: Likewise.
45478         * modules/selinux-h: Likewise.
45479         * modules/settime: Likewise.
45480         * modules/signal: Likewise.
45481         * modules/size_max: Likewise.
45482         * modules/socklen: Likewise.
45483         * modules/ssize_t: Likewise.
45484         * modules/stdarg: Likewise.
45485         * modules/stdbool: Likewise.
45486         * modules/stddef: Likewise.
45487         * modules/stdint: Likewise.
45488         * modules/stdio: Likewise.
45489         * modules/stdlib: Likewise.
45490         * modules/string: Likewise.
45491         * modules/strings: Likewise.
45492         * modules/sys_file: Likewise.
45493         * modules/sys_ioctl: Likewise.
45494         * modules/sys_select: Likewise.
45495         * modules/sys_socket: Likewise.
45496         * modules/sys_stat: Likewise.
45497         * modules/sys_time: Likewise.
45498         * modules/sys_times: Likewise.
45499         * modules/sys_utsname: Likewise.
45500         * modules/sys_wait: Likewise.
45501         * modules/sysexits: Likewise.
45502         * modules/time: Likewise.
45503         * modules/times: Likewise.
45504         * modules/tmpfile: Likewise.
45505         * modules/trim: Likewise.
45506         * modules/unistd: Likewise.
45507         * modules/wchar: Likewise.
45508         * modules/wctype: Likewise.
45509
45510 2009-09-17  Bruno Haible  <bruno@clisp.org>
45511
45512         Make getdate.y compile on QNX and NetBSD 5 / i386.
45513         * m4/getdate.m4 (gl_GETDATE): Conditionally define
45514         TIME_T_FITS_IN_LONG_INT.
45515         * lib/getdate.y (long_time_t): New type.
45516         (relative_time): Change type of 'seconds' field to long_time_t.
45517         (get_date): Update types of local variables. Check against overflow
45518         during conversion from long_time_t to time_t.
45519         Reported by Matt Kraai <kraai@ftbfs.org>
45520         and Hasso Tepper <hasso@netbsd.org>.
45521
45522 2009-09-17  Bruno Haible  <bruno@clisp.org>
45523
45524         * modules/COPYING: Update copyright years.
45525         * modules/README: Likeiwse.
45526         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
45527         Reported by Ian Beckwith <ianb@erislabs.net>.
45528
45529 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45530
45531         * users.txt: Update references for gnuit package.
45532
45533 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45534
45535         * m4/getdelim.m4: Fix typo in copyright line.
45536
45537 2009-09-17  Bruno Haible  <bruno@clisp.org>
45538
45539         * lib/atoll.c: Use the standard header with GPL copyright.
45540         * lib/argz.in.h: Likewise.
45541         * lib/glob.c: Likewise.
45542         * lib/glob-libc.h: Likewise.
45543         * lib/random_r.c: Likewise.
45544         * lib/siglist.h: Likewise.
45545         * lib/strsignal.c: Likewise.
45546         Reported by Ian Beckwith <ianb@erislabs.net>.
45547
45548 2009-09-17  Eric Blake  <ebb9@byu.net>
45549
45550         rmdir: ensure correct dependency order
45551         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
45552
45553 2009-09-17  Bruno Haible  <bruno@clisp.org>
45554
45555         Disable assertion that fails on NetBSD 5 / i386.
45556         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
45557         Reported by Sam Steingold <sds@gnu.org>
45558         and Hasso Tepper <hasso@netbsd.org>.
45559
45560 2009-09-16  Eric Blake  <ebb9@byu.net>
45561
45562         unlinkdir: port to mingw
45563         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
45564         on which no one can unlink a directory.
45565
45566         stdlib: sort witness names
45567         * modules/stdlib (Makefile.am): Sort replacements.
45568         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
45569         * lib/stdlib.in.h: Likewise.
45570
45571         parse-duration-tests: avoid link failure
45572         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
45573         LIBINTL.
45574         Reported by Tom G. Christensen.
45575
45576         openat-tests: ensure unlinkat behaves like rmdir
45577         * tests/test-rmdir.c (main): Factor guts...
45578         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
45579         * modules/rmdir-tests (Files): Ship new file.
45580         * modules/openat-tests: New test.
45581         * tests/test-unlinkat.c: Likewise.
45582
45583         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
45584         * modules/rmdir-errno (Status, Notice): Now obsolete.
45585
45586         rmdir: work around cygwin 1.5.x and mingw bugs
45587         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
45588         * lib/rmdir.c (rmdir): Work around it.
45589         * modules/rmdir (Status, Notice): No longer obsolete.
45590         (Files): Add dos.m4.
45591         (Depends-on): Add unistd.
45592         (configure.ac): Set witnesses.
45593         (License): Relax to LGPLv2+.
45594         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
45595         * modules/unistd (Makefile.am): Substitute witnesses.
45596         * lib/unistd.in.h (rmdir): Declare replacement.
45597         * doc/posix-functions/rmdir.texi (rmdir): Document this.
45598         * modules/rmdir-tests: New tests.
45599         * tests/test-rmdir.c: Likewise.
45600
45601 2009-09-15  Eric Blake  <ebb9@byu.net>
45602
45603         fchdir: improve use of replacement functions
45604         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
45605         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
45606         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
45607         REPLACE_CLOSEDIR.
45608         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
45609         * modules/sys_stat (Makefile.am): Substitute correct witness.
45610         * modules/dirent (Makefile.am): Likewise.
45611         * modules/unistd (Makefile.am): Likewise.
45612         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
45613         * lib/unistd.in.h (dup): Likewise.
45614         * lib/sys_stat.in.h (fstat): Likewise.
45615
45616         maint: ignore gnulib-tool temp files
45617         * .gitignore: Ignore files created during gnulib-tool --test.
45618
45619 2009-09-13  Jim Meyering  <meyering@redhat.com>
45620
45621         posixtm: don't reject a time that specify "60" as the number of seconds
45622         * lib/posixtm.c (posixtime): The code to reject invalid dates
45623         would also reject a time specified with the .60 suffix.
45624         But POSIX allows that, in order to accommodate leap seconds.
45625         So don't reject it.
45626         (main): Adjust tests accordingly.
45627         * modules/posixtm (Depends-on): Add stpcpy.
45628
45629 2009-09-11  Jim Meyering  <meyering@redhat.com>
45630
45631         announce-gen: include [$release_type] in emitted Subject:
45632         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
45633         e.g., [stable] in the emitted Subject: line.
45634
45635 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45636
45637         Remove obsolete macros from several modules.
45638         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
45639         obsolete Autoconf macros with their modern counterparts.
45640         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
45641         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
45642         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
45643         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
45644         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
45645         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45646         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45647         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45648         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
45649         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
45650         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
45651         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
45652         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
45653         * m4/sockets.m4 (gl_SOCKETS): Likewise.
45654         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
45655         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
45656         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
45657         * m4/time_r.m4 (gl_TIME_R): Likewise.
45658         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
45659         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
45660         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
45661
45662         Fix copyright header in build-aux scripts.
45663         * build-aux/git-version-gen: Fix copyright header to match GPLv3
45664         recommendation.
45665         * build-aux/ncftpput-ftp: Likewise.
45666         * build-aux/update-copyright: Likewise.
45667
45668 2009-09-09  Eric Blake  <ebb9@byu.net>
45669
45670         test-link: allow Linux choice of errno
45671         * tests/test-link.c (main): Relax test for alternate error.
45672
45673         strndup: fix improper m4 caching
45674         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
45675         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
45676         (gl_PREREQ_STRNDUP): Delete.
45677         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
45678         * modules/string (Makefile.am): Substitute it.
45679         * lib/string.in.h (strndup): Modernize prototype.
45680
45681         getcwd: port to mingw
45682         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
45683         different from the POSIX assumptions made throughout the getcwd
45684         module; fortunately, the mingw getcwd does not need replacement.
45685         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
45686         * modules/getcwd-tests: New test.
45687         * tests/test-getcwd.c: Likewise.
45688
45689         link: fix platform bugs
45690         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
45691         * lib/link.c (link): Work around them.  Fix related mingw bug.
45692         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
45693         * modules/unistd (Makefile.am): Substitute it.
45694         * lib/unistd.in.h (link): Declare replacement.
45695         * doc/posix-functions/link.texi (link): Document this.
45696         * modules/link (Depends-on): Add strdup-posix, sys_stat.
45697
45698         test-link: consolidate into single C program, test more cases
45699         * tests/test-link.sh: Delete.
45700         * tests/test-link.c: Test more error conditions.  Exposes bugs on
45701         at least Cygwin and Solaris.
45702         * modules/link-tests (Files): Remove unused file.
45703         (Depends-on): Add errno, sys_stat.
45704         (Makefile.am): Simplify.
45705
45706 2009-09-08  Bruno Haible  <bruno@clisp.org>
45707
45708         Work around towlower, towupper bug on mingw.
45709         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
45710         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
45711         * doc/posix-functions/towlower.texi: Mention the mingw bug.
45712         * doc/posix-functions/towupper.texi: Likewise.
45713         Reported by Eric Blake.
45714
45715 2009-09-08  Jim Meyering  <meyering@redhat.com>
45716
45717         build: don't try to run autoheader if we don't use it
45718         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
45719         is not used in configure.ac.
45720
45721 2009-09-08  Eric Blake  <ebb9@byu.net>
45722
45723         euidaccess: fix compilation error
45724         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
45725
45726         rawmemchr: relax license
45727         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
45728         okay.
45729         Reported by Jim Meyering.
45730
45731         mkfifoat: new module
45732         * modules/mkfifoat: New file.
45733         * lib/mkfifoat.c: Likewise.
45734         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
45735         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45736         * modules/sys_stat (Makefile.am): Use them.
45737         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
45738         * MODULES.html.sh (File system functions): Mention module.
45739         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
45740         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
45741         * modules/mkfifoat-tests: New test.
45742         * tests/test-mkfifoat.c: Likewise.
45743
45744         strchrnul: relax license
45745         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
45746         okay.
45747         Reported by Jim Meyering.
45748
45749 2009-09-08  Eric Blake  <ebb9@byu.net>
45750
45751         fstatat: fix compilation on Solaris
45752         * lib/fstatat.c (includes): Add fcntl.h.
45753         Reported by Pádraig Brady.
45754
45755 2009-09-07  Eric Blake  <ebb9@byu.net>
45756
45757         rename: modernize replacement
45758         * modules/rename (Depends-on): Add stdio.
45759         (configure.ac): Declare witness.
45760         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
45761         stdio take care of replacement.
45762         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45763         * modules/stdio (Makefile.am): Substitute them.
45764         * lib/stdio.in.h (rename): Declare replacement.
45765         * lib/rename.c (includes): Allow cross-compilation to non-windows
45766         machines.
45767         * doc/posix-functions/rename.texi (rename): Improve
45768         documentation.
45769
45770         stdio: sort witness names
45771         * modules/stdio (Makefile.am): Sort replacements.
45772         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45773         * lib/stdio.in.h: Likewise.
45774
45775         getcwd: minor cleanups
45776         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
45777         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
45778
45779         openat: provide more convenience names
45780         * modules/faccessat (configure.ac): Add C witness.
45781         * lib/unistd.in.h (readlinkat): Fix typo.
45782         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
45783         convenience wrappers.
45784         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
45785         wrappers in syntax checks.
45786
45787 2009-09-06  Eric Blake  <ebb9@byu.net>
45788
45789         doc: fix comments in recent patches
45790         * lib/faccessat.c: Mention correct function.
45791         * lib/fchmodat.c: Likewise.
45792         * lib/fchownat.c: Likewise.
45793         * lib/symlinkat.c: Likewise.
45794         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
45795         constants.
45796
45797         faccessat, symlinkat: continue cleanup of previous patch
45798         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
45799         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45800         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
45801         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
45802         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
45803         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
45804         set.
45805
45806 2009-09-06  Bruno Haible  <bruno@clisp.org>
45807
45808         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
45809         (fstatat): Declare if GNULIB_FSTATAT is set.
45810         (mkdirat): Declare if GNULIB_MKDIRAT is set.
45811         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
45812         (unlinkat): Declare if GNULIB_UNLINKAT is set.
45813         * modules/fcntl-h (Files): Remove m4/openat.m4.
45814         * modules/sys_stat (Files): Remove m4/openat.m4.
45815         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
45816         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
45817         * modules/unistd (Files): Remove m4/openat.m4.
45818         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
45819         GNULIB_OPENAT.
45820         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
45821         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
45822         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
45823         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
45824         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
45825         gl_OPENAT_DEFAULTS.
45826         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
45827         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
45828         Don't require gl_OPENAT_DEFAULTS.
45829         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
45830         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
45831         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
45832         (gl_OPENAT_DEFAULTS): Remove macro.
45833
45834 2009-09-06  Bruno Haible  <bruno@clisp.org>
45835
45836         * modules/openat (configure.ac): Remove unneeded witness.
45837
45838 2009-09-06  Bruno Haible  <bruno@clisp.org>
45839
45840         Set errno to ENOSYS when a function is entirely unsupported.
45841         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
45842         EOPNOTSUPP.
45843         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45844         * modules/chown (Depends-on): Remove errno.
45845
45846 2009-09-06  Bruno Haible  <bruno@clisp.org>
45847
45848         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
45849
45850 2009-09-06  Bruno Haible  <bruno@clisp.org>
45851
45852         * lib/sys_stat.in.h: Fix preprocessor command indentation.
45853
45854 2009-09-06  Ben Pfaff  <blp@gnu.org>
45855             Bruno Haible  <bruno@clisp.org>
45856
45857         Work around a glibc bug in strtok_r.
45858         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
45859         Undefine if UNDEFINE_STRTOK_R is set.
45860         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
45861         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45862         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
45863         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
45864         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
45865         UNDEFINE_STRTOK_R.
45866         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
45867
45868 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
45869
45870         exclude: minor fix
45871         * lib/exclude.c: Include wctype.h
45872
45873 2009-09-06  Akim Demaille  <demaille@gostai.com>
45874
45875         bootstrap: improve error message
45876         * build-aux/bootstrap (find_tool): Upon failure, report the list
45877         of candidates.
45878         Honor the initial value of the envvar.
45879
45880 2009-09-05  Eric Blake  <ebb9@byu.net>
45881
45882         symlinkat: new module
45883         * modules/symlinkat: New file.
45884         * lib/symlinkat.c: Likewise.
45885         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
45886         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45887         * modules/unistd (Makefile.am): Use them.
45888         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
45889         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
45890         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
45891         * MODULES.html.sh (File system functions): Mention module.
45892         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
45893         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45894         * modules/symlinkat-tests: New test.
45895         * tests/test-symlinkat.c: Likewise.
45896
45897         test-openat-safer: add more checks
45898         * tests/test-openat-safer.c (main): Check more code paths.
45899
45900 2009-09-05  Jim Meyering  <meyering@redhat.com>
45901
45902         syntax-check: detect unnecessary inclusion of openat.h
45903         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
45904
45905 2009-09-05  Bruno Haible  <bruno@clisp.org>
45906
45907         Support towlower, towupper.
45908         * doc/posix-functions/towlower.texi: Mention module wctype.
45909         * doc/posix-functions/towupper.texi: Likewise.
45910         * lib/wctype.in.h (towlower, towupper): New functions.
45911         * tests/test-wctype.c: Include stdio.h, stdlib.h.
45912         (ASSERT): New macro.
45913         (e): New variable.
45914         (main): Test also towlower, towupper. Test WEOF argument.
45915         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45916
45917 2009-09-05  Bruno Haible  <bruno@clisp.org>
45918
45919         Fix conversion behaviour when the input is invalid.
45920         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
45921         mark occurring in first pass of indirect conversion.
45922         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
45923         input.
45924         Found by clang's static analyzer.
45925
45926 2009-09-05  Bruno Haible  <bruno@clisp.org>
45927
45928         * tests/test-striconveh.c (main): Test indirect conversion on platforms
45929         where direct conversion is possible.
45930
45931 2009-09-04  Eric Blake  <ebb9@byu.net>
45932
45933         openat: fail with ENOENT on empty name
45934         * lib/openat-proc.c (openat_proc_name): Special-case the empty
45935         buffer.
45936
45937         link-follow: fix logic bug in prior patch
45938         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
45939         reversed sense of yes and no in prior patch.  Avoid confusing
45940         compilation failure with desired semantics.
45941
45942         link-follow: accommodate mingw and cross-compilation
45943         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
45944         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
45945         cross-compilation results to -1, to make linkat easier to
45946         implement when cross-compiling.  Trivially support mingw.
45947         * modules/link-follow (configure.ac): Call new name.
45948         * NEWS: Mention this.
45949
45950 2009-09-03  Eric Blake  <ebb9@byu.net>
45951
45952         faccessat: compile replacement
45953         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
45954         needed.
45955
45956         fts: fix compilation error
45957         * lib/fts.c (includes): Re-add "openat.h", for
45958         openat_needs_fchdir.
45959
45960         faccessat: new module
45961         * modules/faccessat: New file.
45962         * lib/faccessat.c: Likewise.
45963         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45964         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45965         * modules/unistd (Makefile.am): Use it.
45966         * lib/unistd.in.h (faccessat): Declare it.
45967         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
45968         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
45969         * MODULES.html.sh (File system functions): Mention it.
45970         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
45971         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
45972
45973         euidaccess: prefer POSIX over non-standard implementation
45974         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
45975         * lib/euidaccess.c (euidaccess): Use it if available.
45976
45977         openat: make template easier to use
45978         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
45979         AT_FUNC_F2 to be undefined.
45980         (VALIDATE_FLAG): New macro; use it to reject bad flags.
45981         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
45982         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
45983         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
45984         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
45985         Likewise.
45986         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
45987         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
45988         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
45989         Likewise.
45990
45991         openat: declare in POSIX headers
45992         * NEWS: Mention this.
45993         * modules/openat (configure.ac): Declare witnesses.
45994         (Depends-on): Add fcntl-h, sys_stat, unistd.
45995         (Include): Mention correct headers.
45996         * modules/fcntl-h (Depends-on): Add link-warning.
45997         (Files): Add openat.m4.
45998         (Makefile.am): Substitute witnesses.
45999         * modules/sys_stat (Files, Makefile.am): Likewise.
46000         * modules/unistd (Files, Makefile.am): Likewise.
46001         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
46002         (gl_OPENAT_DEFAULTS): New macro.
46003         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
46004         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
46005         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
46006         (SYS_STAT_H): Remove unused variable.
46007         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
46008         * lib/fcntl--.h (includes): Remove unneeded header.
46009         * lib/openat-safer.c (includes): Likewise.
46010         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
46011         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
46012         appropriate headers.
46013         (__OPENAT_PREFIX): Delete.
46014         * lib/fcntl.in.h (openat): Provide declaration.
46015         (AT_FDCWD): Fix Solaris bug.
46016         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
46017         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
46018         * lib/fchmodat.c (includes):  Adjust to find declaration.
46019         * lib/fchownat.c (includes): Likewise.
46020         * lib/mkdirat.c (includes): Likewise.
46021         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
46022         still visible.
46023
46024 2009-09-02  Eric Blake  <ebb9@byu.net>
46025
46026         errno: use consistently
46027         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
46028         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
46029         * lib/canonicalize.c (ELOOP): Likewise.
46030         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
46031         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
46032         * lib/lchown.c (EOPNOTSUPP): Likewise.
46033         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
46034         * lib/savewd.c (ESTALE): Likewise.
46035         * lib/settime.c (ENOSYS): Likewise.
46036         * lib/utimens.c (ENOSYS): Likewise.
46037         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
46038         * lib/chdir-safer.c (ELOOP): Likewise.
46039         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
46040         * modules/c-stack (Depends-on): Add errno.
46041         * modules/canonicalize (Depends-on): Likewise.
46042         * modules/chdir-safer (Depends-on): Likewise.
46043         * modules/fdopendir (Depends-on): Likewise.
46044         * modules/inet_ntop (Depends-on): Likewise.
46045         * modules/inet_pton (Depends-on): Likewise.
46046         * modules/lchown (Depends-on): Likewise.
46047         * modules/openat (Depends-on): Likewise.
46048         * modules/savewd (Depends-on): Likewise.
46049         * modules/settime (Depends-on): Likewise.
46050         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
46051
46052         fts: avoid leaking fds
46053         * modules/fts (Depends-on): Add cloexec.
46054         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
46055         flag.
46056
46057         fts: make directory fds more robust
46058         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
46059         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
46060
46061         backupfile, chdir-long, fts, savedir: make safer
46062         * lib/backupfile.c (includes): Use "dirent--.h", since
46063         numbered_backup can write to stderr during readdir.
46064         * lib/savedir.c (includes): Likewise.
46065         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
46066         emulation can write to stderr on failure.
46067         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
46068         * lib/getcwd.c: Document why opendir_safer is unused.
46069         * lib/glob.c: Likewise.
46070         * lib/scandir.c: Likewise.
46071         * lib/openat-proc.c: Likewise, for open_safer.
46072         * modules/backupfile (Depends-on): Add dirent-safer.
46073         * modules/savedir (Depends-on): Likewise.
46074         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
46075         * modules/chdir-long (Depends-on): Add openat-safer.
46076
46077         openat-safer: new module
46078         * modules/openat-safer: New file.
46079         * lib/openat-safer.c: Likewise.
46080         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
46081         * lib/fcntl-safer.h (openat_safer): Declare.
46082         * lib/fcntl--.h (openat): Override.
46083         * MODULES.html.sh (File descriptor based I/O): Mention it.
46084         * lib/openat.h: Add double-inclusion guards.
46085         * lib/openat.c (includes): Only include "fcntl-safer.h", not
46086         "fcntl--.h", so we can implement openat.
46087         * modules/openat-safer-tests: New test.
46088         * tests/test-openat-safer.c: New file.
46089
46090         dirent-safer: new module
46091         * modules/dirent-safer: New file.
46092         * lib/dirent--.h: Likewise.
46093         * lib/dirent-safer.h: Likewise.
46094         * lib/opendir-safer.c: Likewise.
46095         * m4/dirent-safer.m4: Likewise.
46096         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
46097         * modules/dirent-safer-tests: New test.
46098         * tests/test-dirent-safer.c: New file.
46099         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
46100
46101         fdopendir: optimize on mingw
46102         * lib/unistd.in.h (_gl_directory_name): New prototype.
46103         * lib/fchdir.c (_gl_directory_name): Implement it.
46104         (fchdir): Use it to simplify implementation.
46105         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
46106         fchdir, when available, to avoid calling [f]chdir().
46107
46108         fdopendir: split into its own module
46109         * lib/openat.c (fdopendir): Move...
46110         * lib/fdopendir.c: ...into new file.
46111         * modules/fdopendir: New module.
46112         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
46113         * modules/openat (Depends-on): Add fdopendir.
46114         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
46115         fdopendir here.
46116         * modules/savedir (Depends-on): Only need fdopendir, not full
46117         openat.
46118         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
46119         * lib/openat.h (fdopendir): Drop prototype.
46120         * lib/dirent.in.h (fdopendir): Provide prototype.
46121         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
46122         * modules/dirent (Makefile.am): Substitute them.
46123         * MODULES.html.sh (File system functions): Mention it.
46124         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
46125         * modules/fdopendir-tests: New file.
46126         * tests/test-fdopendir.c: Likewise.
46127
46128         fchdir: use more consistent macro convention
46129         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
46130         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
46131         REPLACE_FCHDIR, rather than relying on config.h macros.
46132         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
46133         inside a single make-time REPLACE_FCHDIR block, rather than using
46134         the config.h FCHDIR_REPLACEMENT.
46135         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
46136         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
46137         Manage fstat replacement.
46138         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
46139         REPLACE_FCHDIR.
46140         * modules/sys_stat (Files): Add m4/unistd_h.m4.
46141         (Makefile.am): Substitute REPLACE_FCHDIR.
46142         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
46143         FCHDIR_REPLACEMENT.
46144         * lib/dup-safer.c (dup_safer): Likewise.
46145         * lib/dup2.c (rpl_dup2): Likewise.
46146         * lib/dup3.c (rpl_dup3): Likewise.
46147         * lib/open.c (rpl_open): Likewise.
46148
46149         fchdir: simplify error handling, and support dup3
46150         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
46151         stdbool, malloc-posix, realloc-posix.
46152         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
46153         (ensure_dirs_slot): Return false on allocation failure.
46154         (rpl_dup2): Delete.
46155         (_gl_register_dup): New function.
46156         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
46157         (_gl_register_fd): Close fd on allocation failure.
46158         * lib/fcntl.in.h (_gl_register_fd): Update signature.
46159         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
46160         prototype.
46161         (rpl_dup2_fchdir): Delete prototype.
46162         * lib/open.c (open): Update caller.
46163         * lib/dup2.c (dup2): Track fchdir metadata.
46164         * lib/dup3.c (dup3): Likewise.
46165         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
46166         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
46167
46168 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46169
46170         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
46171         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
46172         don't pass arguments to AC_OUTPUT.
46173
46174 2009-09-02  Bruno Haible  <bruno@clisp.org>
46175
46176         * modules/mkdtemp (License): Relicense under LGPLv2+.
46177         Reported by Paolo Bonzini.
46178
46179 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46180
46181         Replace uses of obsolete autoconf macros in Jim's modules.
46182         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
46183         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
46184         can evoke a warning from autoconf when run with -Wobsolete
46185         enabled.  They were declared obsolete for good reasons (see
46186         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
46187         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
46188         should not continue using the deprecated macros.
46189         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
46190         obsolete Autoconf macros with modern counterparts.
46191         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46192         * m4/dos.m4 (gl_AC_DOS): Likewise.
46193         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
46194         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
46195         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
46196         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
46197         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
46198         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
46199         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
46200         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
46201         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
46202         Likewise.
46203         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
46204         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
46205         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
46206         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
46207         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
46208         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
46209
46210 2009-09-01  Eric Blake  <ebb9@byu.net>
46211
46212         fchdir: fix off-by-one bug in previous patch
46213         * lib/fchdir.c (rpl_fstat): Use correct bounds.
46214         (_gl_unregister_fd): Delete useless if.
46215
46216 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
46217
46218         maint.mk: sort the list of syntax-check rules
46219         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
46220         easier to get a sense of progress when the rules are run sequentially
46221         and take a long time.
46222
46223 2009-09-01  Simon Josefsson  <simon@josefsson.org>
46224
46225         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
46226         * modules/netinet_in: Likewise.
46227         * modules/sys_file: Likewise.
46228         * modules/sys_ioctl: Likewise.
46229         * modules/sys_select: Likewise.
46230         * modules/sys_socket: Likewise.
46231         * modules/sys_stat: Likewise.
46232         * modules/sys_time: Likewise.
46233         * modules/sys_times: Likewise.
46234         * modules/sys_utsname: Likewise.
46235         * modules/sys_wait: Likewise.
46236
46237 2009-09-01  Jim Meyering  <meyering@redhat.com>
46238
46239         fts: help ensure that return values are not ignored
46240         * lib/fts_.h (__GNUC_PREREQ): Define.
46241         (__attribute_warn_unused_result__): Define.
46242         (fts_children, fts_close, fts_open, fts_read): Declare with
46243         __attribute_warn_unused_result__.
46244
46245         fts: fts_close now fails also when closing a dir file descriptor fails
46246         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
46247         and propagate to caller, along with errno.
46248
46249         announce-gen: correct formatting in --help output
46250         * build-aux/announce-gen (usage): Move the one-line description in
46251         --help output "up", to where it belongs, just after Usage:.
46252
46253 2009-08-31  Eric Blake  <ebb9@byu.net>
46254
46255         fchdir: port to mingw
46256         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
46257         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
46258         opened, then use a substitute.
46259         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
46260         replacement.
46261         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
46262         (_gl_register_fd): No need to check stat if open already filters
46263         all directories.
46264         (fchdir): Fix error condition to match POSIX.
46265         * modules/fchdir (Depends-on): Add sys_stat.
46266         * doc/posix-functions/open.texi (open): Document the limitation.
46267         * modules/fchdir-tests: New file.
46268         * tests/test-fchdir.c: Likewise.
46269
46270         canonicalize: allow cross-testing from cygwin to mingw
46271         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
46272         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
46273         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
46274         Likewise.
46275         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
46276         target does not support symlinks.
46277         * tests/test-canonicalize-lgpl.sh: Likewise.
46278
46279         chown: avoid compilation warning on mingw
46280         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
46281         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
46282         mingw.
46283         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
46284         * modules/chown (Depends-on): Add errno.
46285
46286 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
46287
46288         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
46289         command.
46290
46291 2009-08-31  Jim Meyering  <meyering@redhat.com>
46292
46293         canonicalize: remove useless initialization
46294         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
46295         initialization of local, "end".
46296
46297 2009-08-30  Bruno Haible  <bruno@clisp.org>
46298
46299         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
46300         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
46301         ENOSYS.
46302
46303 2009-08-30  Bruno Haible  <bruno@clisp.org>
46304
46305         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
46306         /usr/xpg4/bin/tr when it exists.
46307         * tests/test-pipe-filter-gi1.sh: Likewise.
46308
46309 2009-08-30  Bruno Haible  <bruno@clisp.org>
46310
46311         Work around deficient /usr/bin/id program on Solaris.
46312         * tests/test-file-has-acl.sh (ID): New variable.
46313         * tests/test-set-mode-acl.sh (ID): Likewise.
46314         * tests/test-copy-acl.sh (ID): Likewise.
46315         * tests/test-copy-file.sh (ID): Likewise.
46316
46317 2009-08-30  Bruno Haible  <bruno@clisp.org>
46318
46319         New module 'xstriconveh'.
46320         * lib/xstriconveh.h: New file.
46321         * lib/xstriconveh.c: New file.
46322         * modules/xstriconveh: New file.
46323
46324 2009-08-30  Bruno Haible  <bruno@clisp.org>
46325
46326         Make it easier to use mem_cd_iconveh.
46327         * lib/striconveh.h (iconveh_t): New type.
46328         (iconveh_open, iconveh_close): New declarations.
46329         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46330         with a single 'const iconveh_t *' argument.
46331         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
46332         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46333         with a single 'const iconveh_t *' argument.
46334         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
46335         * tests/test-striconveh.c (main): Update.
46336         * NEWS: Mention the change.
46337
46338 2009-08-30  Bruno Haible  <bruno@clisp.org>
46339
46340         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
46341         problem.
46342
46343 2009-08-30  Bruno Haible  <bruno@clisp.org>
46344
46345         Work around iconv_open problem on Solaris.
46346         * lib/iconv_open-solaris.gperf: New file.
46347         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
46348         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
46349         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
46350         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
46351         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
46352         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
46353
46354 2009-08-29  Jim Meyering  <meyering@redhat.com>
46355
46356         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
46357         * top/maint.mk (cvs-check): Remove target; it was just an alias
46358         to the better-named vc-diff-check.
46359         (maintainer-distcheck): Remove rule.  It was used only from
46360         the (alpha/beta/major) target, and all of its commands but one
46361         were coreutils-specific.
46362         (vc-dist): Remove rule.
46363         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
46364         Run vc-diff-check, not vc-dist.
46365         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
46366
46367 2009-08-27  Bruno Haible  <bruno@clisp.org>
46368
46369         * tests/test-bitrotate.c (main): Remove test that uses a shift count
46370         of 0.
46371
46372 2009-08-27  Bruno Haible  <bruno@clisp.org>
46373
46374         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
46375         compilers.
46376         * doc/func.texi: Document the SunPRO C bug.
46377
46378 2009-08-27  Bruno Haible  <bruno@clisp.org>
46379
46380         Fix link error on Solaris.
46381         * tests/test-parse-duration.c (xstrdup): Remove function.
46382
46383 2009-08-26  Pádraig Brady  <P@draigbrady.com>
46384
46385         ignore-value: handle pointer types, too
46386         * lib/ignore-value.h (__attribute__): Remove definition.
46387         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
46388         of a more concise and more-often effective "(void) i" statement.
46389         (ignore_ptr): New function to suppress warnings from functions that
46390         return pointers, and to make it explicit that one function doesn't
46391         handle all cases.
46392
46393 2009-08-25  Bruno Haible  <bruno@clisp.org>
46394
46395         dup2: work around a Linux bug.
46396         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
46397         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
46398         * doc/posix-functions/dup2.texi: Mention the Linux bug.
46399         Reported by Simon Josefsson.
46400
46401 2009-08-25  Jim Meyering  <meyering@redhat.com>
46402
46403         libguestfs uses gnulib
46404         * users.txt: Add libguestfs.
46405
46406 2009-08-24  Eric Blake  <ebb9@byu.net>
46407
46408         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
46409         * lib/pipe2.c (includes): Add binary-io.h.
46410         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
46411
46412 2009-08-24  Bruno Haible  <bruno@clisp.org>
46413
46414         Tolerate declared but missing accept4 syscall.
46415         * lib/accept4.c (accept4): Invoke original accept4 function first, if
46416         available.
46417         * lib/sys_socket.in.h (accept4): If the function is already present,
46418         override it.
46419         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
46420         * modules/accept4 (Makefile.am): Compile accept4.c always.
46421         Reported by Paolo Bonzini and Eric Blake.
46422
46423 2009-08-23  Bruno Haible  <bruno@clisp.org>
46424
46425         New module 'accept4'.
46426         * lib/sys_socket.in.h (accept4): New declaration.
46427         * lib/accept4.c: New file.
46428         * m4/accept4.m4: New file.
46429         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
46430         GNULIB_ACCEPT4, HAVE_ACCEPT4.
46431         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
46432         HAVE_ACCEPT4.
46433         * modules/accept4: New file.
46434         * doc/glibc-functions/accept4.texi: Mention the new module.
46435
46436 2009-08-24  Jim Meyering  <meyering@redhat.com>
46437
46438         progname: also set global program_invocation_name, when possible
46439         Before this change, a libtool-enabled program that calls glibc's
46440         error function would report the program name as
46441         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
46442         * modules/progname (configure.ac): Check for a declaration of
46443         program_invocation_name.
46444         * lib/progname.c:  Include <errno.h>.
46445         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
46446         Set program_invocation_name.
46447
46448 2009-08-23  Bruno Haible  <bruno@clisp.org>
46449
46450         * lib/dup3.c: Include <string.h>.
46451
46452 2009-08-23  Bruno Haible  <bruno@clisp.org>
46453
46454         * lib/dup3.c (dup3): Test only once whether the system actually exists.
46455         * lib/pipe2.c (pipe2): Likewise.
46456         Suggested by Eric Blake.
46457
46458 2009-08-23  Bruno Haible  <bruno@clisp.org>
46459
46460         Tolerate declared but missing dup3 syscall.
46461         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
46462         * lib/unistd.in.h (dup3): If the function is already present,
46463         override it.
46464         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
46465         * modules/dup3 (Makefile.am): Compile dup3.c always.
46466         Reported by Paolo Bonzini.
46467
46468 2009-08-23  Bruno Haible  <bruno@clisp.org>
46469
46470         Tolerate declared but missing pipe2 syscall.
46471         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
46472         available.
46473         * lib/unistd.in.h (pipe2): If the function is already present,
46474         override it.
46475         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
46476         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
46477         Reported by Paolo Bonzini.
46478
46479 2009-08-23  Bruno Haible  <bruno@clisp.org>
46480
46481         * lib/pipe2.c (pipe2): Move #ifs inside function.
46482
46483 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46484
46485         quotearg: document limitations of quote_these_too
46486         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
46487         those limitations are created.
46488         * lib/quotearg.h (set_char_quoting): Document that digits and
46489         letters that are special after backslash are not permitted.
46490         (quotearg_char): Cross-reference set_char_quoting documentation.
46491
46492 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
46493
46494         quotearg: implement custom_quoting_style
46495         * lib/quotearg.c: (struct quoting_options): Add left_quote and
46496         right_quote fields.
46497         (set_custom_quoting): New public function.
46498         (quotearg_buffer_restyled): Add left_quote and right_quote
46499         arguments, handle them very much like locale quoting, and update
46500         all uses.
46501         (quotearg_n_custom): New public function.
46502         (quotearg_n_custom_mem): New public function.
46503         (quotearg_custom): New public function.
46504         (quotearg_custom_mem): New public function.
46505         * lib/quotearg.h: Prototype and document new public functions.
46506         (enum quoting_style): For escape_quoting_style and
46507         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
46508         ignored even though they're otherwise like c_quoting_style.
46509         Add custom_quoting_style member and document with comparison to
46510         clocale_quoting_style.
46511         * tests/test-quotearg.c (custom_quotes): New array.
46512         (custom_results): New array.
46513         (main): Extend to test custom quoting.
46514
46515 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46516
46517         quotearg: fix right quote escaping when it's in quote_these_too
46518         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
46519         quote, be sure to prepend only one backslash.
46520         * tests/test-quotearg.c (use_quote_double_quotes): New function.
46521         (main): Test it.
46522
46523 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46524
46525         quotearg-tests: test escaping of embedded locale quotes
46526         * tests/test-quotearg.c (struct result_strings): Add member for
46527         new input.
46528         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
46529         (inputs): Add new input.
46530         (results_g): Add expected results.
46531         (flag_results): Likewise.
46532         (locale_results): Likewise.
46533         (compare_strings): Check those.
46534
46535 2009-08-23  Bruno Haible  <bruno@clisp.org>
46536
46537         Tests for module 'dup3'.
46538         * modules/dup3-tests: New file.
46539         * tests/test-dup3.c: New file.
46540
46541         New module 'dup3'.
46542         * lib/unistd.in.h (dup3): New declaration.
46543         * lib/dup3.c: New file.
46544         * m4/dup3.m4: New file.
46545         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
46546         HAVE_DUP3.
46547         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
46548         * modules/dup3: New file.
46549         * doc/glibc-functions/dup3.texi: Mention the new module.
46550
46551 2009-08-23  Bruno Haible  <bruno@clisp.org>
46552
46553         Tweak the dup2 test.
46554         * tests/test-dup2.c (main): Create the test file empty. Verify that an
46555         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
46556         the test file is still empty. Fix argument order of lseek.
46557
46558 2009-08-23  Bruno Haible  <bruno@clisp.org>
46559
46560         Avoid test link errors when the modules getopt-gnu, gettext are used.
46561         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
46562         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46563
46564 2009-08-23  Bruno Haible  <bruno@clisp.org>
46565
46566         Fix getdtablesize() on mingw.
46567         * lib/getdtablesize.c (getdtablesize): Implement differently.
46568         * lib/unistd.in.h (getdtablesize): Improve comment.
46569
46570 2009-08-23  Bruno Haible  <bruno@clisp.org>
46571
46572         New module 'mkostemp'.
46573         Based on Ulrich Drepper's 2007-08-10 change in glibc.
46574         * lib/stdlib.in.h (mksotemp): New declaration.
46575         * lib/mkostemp.c: New file, from glibc with modifications.
46576         * lib/tempname.h (GT_FILE): Remove outdated comment.
46577         (gen_tempname): Add flags argument.
46578         * lib/tempname.c (__GT_BIGFILE): Remove macro.
46579         (__GT_FILE): Map to 1.
46580         (small_open, large_open): Remove macros.
46581         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
46582         * lib/mkstemp.c (mkstemp): Update.
46583         * lib/mkdtemp.c (mkdtemp): Likewise.
46584         * m4/mkostemp.m4: New file.
46585         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
46586         HAVE_MKOSTEMP.
46587         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
46588         HAVE_MKOSTEMP.
46589         * modules/mkostemp: New file, based on modules/mkstemp.
46590         * doc/glibc-functions/mkostemp.texi: Mention the new module.
46591         * NEWS: Mention the change.
46592
46593 2009-08-23  Bruno Haible  <bruno@clisp.org>
46594
46595         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
46596         Reported by Eric Blake.
46597
46598 2009-08-23  Bruno Haible  <bruno@clisp.org>
46599
46600         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
46601         Reported by Eric Blake.
46602
46603 2009-08-23  Bruno Haible  <bruno@clisp.org>
46604
46605         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
46606         * modules/pipe2 (Depends-on): Likewise.
46607
46608 2009-08-23  Eric Blake  <ebb9@byu.net>
46609
46610         fcntl-h: add O_TTY_INIT support
46611         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
46612         * tests/test-fcntl-h.c (o): Test it.
46613         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46614
46615         fcntl-h: rename from fcntl, in preparation for fcntl(2)
46616         * modules/fcntl: Move <fcntl.h> header replacement...
46617         * modules/fcntl-h: ...to new name, so as not to collide with
46618         like-named function.
46619         * tests/test-fcntl.c: Rename...
46620         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
46621         * modules/fcntl-tests: Rename...
46622         * modules/fcntl-h-tests: ...to this.  Update test file name.
46623         * modules/chdir-long (Depends-on): Update clients.
46624         * modules/chdir-safer (Depends-on): Likewise.
46625         * modules/fcntl-safer (Depends-on): Likewise.
46626         * modules/fts (Depends-on): Likewise.
46627         * modules/mkancesdirs (Depends-on): Likewise.
46628         * modules/mkdir-p (Depends-on): Likewise.
46629         * modules/open (Depends-on): Likewise.
46630         * modules/savewd (Depends-on): Likewise.
46631         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
46632         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46633
46634 2009-08-22  Bruno Haible  <bruno@clisp.org>
46635
46636         * modules/binary-io (License): Relicense under LGPL.
46637         * modules/pipe2 (License): Likewise.
46638
46639 2009-08-22  Bruno Haible  <bruno@clisp.org>
46640
46641         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
46642         return value.
46643         * lib/pipe-filter-gi.c (filter_init): Likewise.
46644         Reported by Eric Blake.
46645
46646 2009-08-22  Bruno Haible  <bruno@clisp.org>
46647
46648         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
46649         * modules/pipe (Depends-on): Add pipe2.
46650
46651 2009-08-22  Bruno Haible  <bruno@clisp.org>
46652
46653         Tests for module 'pipe2'.
46654         * modules/pipe2-tests: New file.
46655         * tests/test-pipe2.c: New file.
46656
46657         New module 'pipe2'.
46658         * lib/unistd.in.h (pipe2): New declaration.
46659         * lib/pipe2.c: New file.
46660         * m4/pipe2.m4: New file.
46661         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
46662         HAVE_PIPE2.
46663         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
46664         * modules/pipe2: New file.
46665         * doc/glibc-functions/pipe2.texi: Mention the new module.
46666
46667 2009-08-22  Bruno Haible  <bruno@clisp.org>
46668
46669         Reference some new glibc functions.
46670         * doc/glibc-functions/accept4.texi: New file.
46671         * doc/glibc-functions/dup3.texi: New file.
46672         * doc/glibc-functions/mkostemp.texi: New file.
46673         * doc/glibc-functions/pipe2.texi: New file.
46674         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
46675         (Glibc sys/socket.h): Refer to accept4.
46676         (Glibc unistd.h): Refer to dup3, pipe2.
46677         Reported by Eric Blake.
46678
46679 2009-08-22  Jim Meyering  <meyering@redhat.com>
46680             Bruno Haible  <bruno@clisp.org>
46681
46682         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
46683         This makes it so packages using automake-1.11's silent-rules option
46684         can print e.g., a single "GEN    configmake.h" line, rather than
46685         the 30+ statements that perform the job.  If you want to see the
46686         actual commands, you can still run "make V=1".
46687         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
46688         so that make output is abbreviated when those variables are defined
46689         appropriately.
46690         * modules/argz: Likewise.
46691         * modules/arpa_inet: Likewise.
46692         * modules/byteswap: Likewise.
46693         * modules/configmake: Likewise.
46694         * modules/dirent: Likewise.
46695         * modules/errno: Likewise.
46696         * modules/fcntl: Likewise.
46697         * modules/float: Likewise.
46698         * modules/fnmatch: Likewise.
46699         * modules/getopt-posix: Likewise.
46700         * modules/glob: Likewise.
46701         * modules/iconv_open: Likewise.
46702         * modules/inttypes: Likewise.
46703         * modules/localcharset: Likewise.
46704         * modules/locale: Likewise.
46705         * modules/math: Likewise.
46706         * modules/netdb: Likewise.
46707         * modules/netinet_in: Likewise.
46708         * modules/poll: Likewise.
46709         * modules/posix_spawnp-tests: Likewise.
46710         * modules/sched: Likewise.
46711         * modules/search: Likewise.
46712         * modules/selinux-h: Likewise.
46713         * modules/signal: Likewise.
46714         * modules/spawn: Likewise.
46715         * modules/stdarg: Likewise.
46716         * modules/stdbool: Likewise.
46717         * modules/stddef: Likewise.
46718         * modules/stdint: Likewise.
46719         * modules/stdio: Likewise.
46720         * modules/stdlib: Likewise.
46721         * modules/string: Likewise.
46722         * modules/strings: Likewise.
46723         * modules/sys_file: Likewise.
46724         * modules/sys_ioctl: Likewise.
46725         * modules/sys_select: Likewise.
46726         * modules/sys_socket: Likewise.
46727         * modules/sys_stat: Likewise.
46728         * modules/sys_time: Likewise.
46729         * modules/sys_times: Likewise.
46730         * modules/sys_utsname: Likewise.
46731         * modules/sys_wait: Likewise.
46732         * modules/sysexits: Likewise.
46733         * modules/time: Likewise.
46734         * modules/unistd: Likewise.
46735         * modules/wchar: Likewise.
46736         * modules/wctype: Likewise.
46737
46738 2009-08-22  Jim Meyering  <meyering@redhat.com>
46739
46740         announce-gen: detect write failure
46741         * build-aux/announce-gen: Add Coda at end.
46742         Remove equivalent-but-more-verbose block at top.
46743
46744 2009-08-19  Akim Demaille  <demaille@gostai.com>
46745
46746         bootstrap: --help to stdout.
46747         * bootstrap (usage): Don't send --help to stderr.
46748         Use a here doc instead of a long string.
46749
46750 2009-08-21  Eric Blake  <ebb9@byu.net>
46751
46752         test-popen-safer: split from test-popen
46753         * tests/test-popen.c (main): Move...
46754         * tests/test-popen.h: ...into new file.
46755         * tests/test-popen-safer2.c: New file.
46756         * modules/popen-tests (Files): Add test-popen.h.
46757         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
46758         Suggested by Bruno Haible.
46759
46760         test-fcntl-safer: split from test-open
46761         * tests/test-open.c (main): Move...
46762         * tests/test-open.h: ...into new file.
46763         * tests/test-fcntl-safer.c: New file.
46764         * modules/open-tests (Files): Add test-open.h.
46765         * modules/fcntl-safer-tests: New file.
46766         Suggested by Bruno Haible.
46767
46768         test-fopen-safer: split from test-fopen
46769         * tests/test-fopen.c (main): Move...
46770         * tests/test-fopen.h: ...into new file.
46771         * tests/test-fopen-safer.c: New file.
46772         * modules/fopen-tests (Files): Add test-fopen.h.
46773         * modules/fopen-safer-tests: New file.
46774         Suggested by Bruno Haible.
46775
46776 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46777
46778         popen-safer: test O_CLOEXEC at run-time.
46779         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
46780
46781 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46782
46783         fcntl: move more flags to the header
46784         * lib/cloexec.c: Do not define FD_CLOEXEC here.
46785         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
46786         * lib/fcntl.in.h: Do both things here.
46787
46788 2009-08-21  Jim Meyering  <meyering@redhat.com>
46789
46790         consistently remove $@-t before redirecting to it
46791         * modules/argz: Remove $@-t and $@ before redirecting to the former.
46792         * modules/alloca-opt: Likewise.
46793         * modules/byteswap: Likewise.
46794         * modules/fnmatch: Likewise.
46795         * modules/getopt-posix: Likewise.
46796         * modules/glob: Likewise.
46797         * modules/poll: Likewise.
46798         * modules/posix_spawnp-tests: Likewise.
46799         * modules/sys_socket: Likewise.
46800         * modules/sysexits: Likewise.
46801
46802 2009-08-21  Eric Blake  <ebb9@byu.net>
46803
46804         popen: simplify access to original popen
46805         * lib/popen.c (rpl_popen): No need to worry about popen being a
46806         macro.
46807         Reported by Bruno Haible.
46808
46809 2009-08-20  Eric Blake  <ebb9@byu.net>
46810
46811         build: avoid some compiler warnings
46812         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
46813         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
46814         type.
46815         (new_exclude_segment, excluded_file_pattern_p)
46816         (excluded_file_name_p): Reduce scope.
46817         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
46818         old-style declaration.
46819
46820 2009-08-20  Simon Josefsson  <simon@josefsson.org>
46821
46822         * tests/test-exclude1.sh: Handle Windows EOL.
46823         * tests/test-exclude2.sh: Likewise.
46824         * tests/test-exclude3.sh: Likewise.
46825         * tests/test-exclude4.sh: Likewise.
46826         * tests/test-exclude5.sh: Likewise.
46827         * tests/test-exclude6.sh: Likewise.
46828         * tests/test-exclude7.sh: Likewise.
46829
46830 2009-08-19  Akim Demaille  <demaille@gostai.com>
46831
46832         bootstrap: find sha1sum when named gsha1sum.
46833         * bootstrap (find_tool): New.
46834         ($SHA1SUM): New.
46835         Use it.
46836
46837 2009-08-20  Jim Meyering  <meyering@redhat.com>
46838
46839         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
46840         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
46841         expression that converts "." in a file name to "\." in the resulting
46842         regexp.  Start with a dummy statement, so that prior shell variable
46843         definitions are expanded portably.  Reported by Simon Josefsson.
46844
46845 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
46846
46847         Fix polling for writeability of a screen buffer.
46848         * lib/poll.c: Distinguish input and screen buffers for the
46849         Win32 implementation.
46850         * lib/select.c: Likewise.
46851
46852 2009-08-19  Eric Blake  <ebb9@byu.net>
46853
46854         popen-safer: prevent popen from clobbering std descriptors
46855         * modules/popen-safer: New file.
46856         * lib/popen-safer.c: Likewise.
46857         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
46858         * lib/stdio--.h (popen): Provide override.
46859         * lib/stdio-safer.h (popen_safer): Provide declaration.
46860         * tests/test-popen.c (includes): Partially test this.
46861         * modules/popen-safer-tests: New file, for more tests.
46862         * tests/test-popen-safer.c: Likewise.
46863         * MODULES.html.sh (file stream based Input/Output): Mention it.
46864
46865         tests: test some of the *-safer modules
46866         * modules/fopen-safer (Depends-on): Add fopen.
46867         * modules/fcntl-safer (Depends-on): Add fcntl.
46868         * modules/stdlib-safer (Depends-on): Add stdlib.
46869         (configure.ac): Set indicator.
46870         * modules/unistd-safer (configure.ac): Likewise.
46871         * modules/tmpfile-safer (configure.ac): Likewise.
46872         (Depends-on): Add tmpfile.
46873         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
46874         active.
46875         * tests/test-fopen.c (includes): Test safer versions when they are
46876         in use.
46877         * tests/test-open.c (includes): Likewise.
46878
46879         popen: fix cygwin 1.5 bug when stdin closed
46880         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
46881         * modules/popen: New file.
46882         * modules/popen-tests: Likewise.
46883         * tests/test-popen.c: Likewise.
46884         * m4/popen.m4: Likewise.
46885         * lib/popen.c: Likewise.
46886         * lib/stdio.in.h (popen): New declaration.
46887         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
46888         * modules/stdio (Makefile.am): Likewise.
46889         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
46890
46891 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
46892
46893         maint.mk: give full control over update-copyright exclusions
46894         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
46895         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
46896         (update-copyright): Don't force inclusion of top-level
46897         ChangeLog.  Don't force exclusion of all COPYING files, but make
46898         them the default exclusion instead.
46899
46900 2009-08-16  Bruno Haible  <bruno@clisp.org>
46901
46902         Fix test failures on Solaris 10.
46903         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
46904         tests when Solaris iconv() is used.
46905         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
46906         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
46907         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
46908         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
46909         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
46910
46911 2009-08-16  Bruno Haible  <bruno@clisp.org>
46912
46913         Fix test failures on Solaris 10.
46914         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
46915         'tr' program and pass it as first argument.
46916         * tests/test-pipe-filter-gi1.sh: Likewise.
46917         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
46918         program as first argument.
46919         * tests/test-pipe-filter-gi1.c (main): Likewise.
46920
46921 2009-08-16  Eric Blake  <ebb9@byu.net>
46922
46923         fpurge: fix previous commits
46924         * modules/fpurge (Makefile.am): Make replacement conditional,
46925         partially reverting 2007-04-29 change; missed in previous
46926         attempt.
46927         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
46928         is missing.
46929
46930 2009-08-16  Bruno Haible  <bruno@clisp.org>
46931
46932         Clarify fpurge's effect on the file position.
46933         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
46934         * tests/test-fpurge.c (main): Make a second pass for checking the file
46935         position.
46936
46937 2009-08-16  Bruno Haible  <bruno@clisp.org>
46938
46939         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
46940         declaration of fpurge is missing.
46941         * tests/test-fpurge.c (main): Check that the file has not more contents
46942         than expected. Close the file before removing it.
46943
46944 2009-08-15  Eric Blake  <ebb9@byu.net>
46945
46946         fpurge: don't wrap working cygwin implementation
46947         * lib/fpurge.c (fpurge): Fix comment typo.
46948         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
46949         1.7 to avoid replacement.
46950         * tests/test-fpurge.c (main): Enhance test.
46951
46952 2009-08-15  Eric Blake  <ebb9@byu.net>
46953         and Jim Meyering  <meyering@redhat.com>
46954
46955         test-update-copyright: skip if perl is insufficient
46956         * tests/test-update-copyright.sh: Failure to run maintainer tool
46957         should not cause testsuite failure on cygwin 1.5.
46958
46959 2009-08-14  Eric Blake  <ebb9@byu.net>
46960
46961         doc: mention more functions added in cygwin 1.7.0
46962         * doc/posix-headers/limits.texi (limits.h): Update for recent
46963         cygwin additions.
46964         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
46965         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
46966         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
46967         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
46968         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
46969
46970 2009-08-14  Eric Blake  <ebb9@byu.net>
46971
46972         maint.mk: simplify update-copyright rule
46973         * top/maint.mk (update-copyright-local): Delete, and document how
46974         to do it in cfg.mk instead.
46975         (update-copyright-exclude-regexp): Delete, and document how to do
46976         it in .x-update-copyright instead.
46977         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
46978         exclude ChangeLog.
46979
46980 2009-08-14  Bruno Haible  <bruno@clisp.org>
46981
46982         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
46983
46984 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46985
46986         maint.mk: support update-copyright-env
46987         * top/maint.mk (update-copyright-env): Define place-holder.
46988         (update-copyright): Expand $(update-copyright-env) before
46989         invoking update-copyright.
46990
46991 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46992
46993         update-copyright: implement forced reformatting
46994         * build-aux/update-copyright: Implement and document
46995         UPDATE_COPYRIGHT_FORCE.
46996         * tests/test-update-copyright.sh: Test it.
46997
46998 2009-08-14  Eric Blake  <ebb9@byu.net>
46999         and Bruno Haible  <bruno@clisp.org>
47000
47001         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
47002         * tests/test-locale.c: Revert previous patch related to NULL.
47003         * tests/test-stdio.c: Likewise.
47004         * tests/test-stdlib.c: Likewise.
47005         * tests/test-string.c: Likewise.
47006         * tests/test-unistd.c: Likewise.
47007         * modules/time-tests (Depends-on): Add verify.
47008         * modules/wchar-tests (Depends-on): Likewise.
47009         * tests/test-time.c: Test for NULL compliance.
47010         * tests/test-wchar.c: Likewise.
47011         * modules/locale (Depends-on): Add stddef.
47012         * modules/stdio (Depends-on): Likewise.
47013         * modules/stdlib (Depends-on): Likewise.
47014         * modules/string (Depends-on): Likewise.
47015         * modules/time (Depends-on): Likewise.
47016         * modules/unistd (Depends-on): Likewise.
47017         * modules/wchar (Depends-on): Likewise.
47018         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
47019         * lib/stdlib.in.h (includes): Likewise.
47020         * lib/string.in.h (includes): Likewise.
47021         * lib/time.in.h (includes): Likewise.
47022         * lib/unistd.in.h (includes): Likewise.
47023         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
47024         replaced.
47025         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
47026         * m4/stddef_h.m4: New file.
47027         * modules/stddef: Likewise.
47028         * lib/stddef.in.h: Likewise.
47029         * modules/stddef-tests: Likewise.
47030         * tests/test-stddef.c: Likewise.
47031         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
47032         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
47033         * doc/posix-headers/locale.texi (locale.h): Likewise.
47034         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
47035         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
47036         * doc/posix-headers/string.texi (string.h): Likewise.
47037         * doc/posix-headers/time.texi (time.h): Likewise.
47038         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
47039         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
47040
47041 2009-08-14  Eric Blake  <ebb9@byu.net>
47042
47043         doc: improve git diff of texinfo files
47044         * .gitattributes: Add rule for *.texi files, with hint on how to
47045         use it.
47046         Copied from m4, and based on a report by Bruno Haible.
47047
47048 2009-08-14  Bruno Haible  <bruno@clisp.org>
47049
47050         Disable multithread support by default on Cygwin 1.5.x for real.
47051         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
47052
47053 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
47054
47055         update-copyright: much ado about intervals
47056         * build-aux/update-copyright: Implement and document
47057         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
47058         of copyright year intervals.
47059         Also, document UPDATE_COPYRIGHT_YEAR.
47060         * tests/test-update-copyright.sh: Test it.
47061
47062         update-copyright: convert 2-digit to 4-digit years
47063         * build-aux/update-copyright: Implement and document.
47064         * tests/test-update-copyright.sh: Update.
47065
47066 2009-08-14  Jim Meyering  <meyering@redhat.com>
47067
47068         test-exclude: avoid coreutils "make check" failure
47069         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
47070         just as in test-argmatch.c.
47071
47072 2009-08-13  Eric Blake  <ebb9@byu.net>
47073
47074         test-dup2: fix bad assumption
47075         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
47076         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
47077
47078         test-version-etc: fix CRLF portability issue
47079         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
47080         recognize \r.
47081         * tests/test-argp-version-etc-1.sh: Likewise.
47082
47083         getopt: update client modules
47084         * modules/argp (Depends-on): Use getopt-gnu.
47085         * modules/git-merge-changelog (Depends-on): Likewise.
47086         * modules/long-options (Depends-on): Likewise.
47087         * modules/xstrtol (Depends-on): Likewise.
47088
47089 2009-08-13  Simon Josefsson  <simon@josefsson.org>
47090
47091         * tests/test-version-etc.sh: Don't fail on different
47092         project/version.  Don't fail on CRLF differences.  Rewrite to use
47093         multiple -e instead of multiple sed forks, suggested by Eric Blake
47094         <ebb9@byu.net>.
47095         * tests/test-argp-version-etc-1.sh: Likewise.
47096
47097 2009-08-13  Simon Josefsson  <simon@josefsson.org>
47098
47099         * tests/test-version-etc.sh: Don't fail on different
47100         project/version.
47101
47102 2009-08-12  Bruno Haible  <bruno@clisp.org>
47103
47104         Tests for modules 'getopt-posix', 'getopt-gnu'.
47105         * modules/getopt-posix-tests: New file.
47106         * tests/test-getopt.c: New file.
47107         * tests/test-getopt.h: New file.
47108         * tests/test-getopt_long.h: New file.
47109
47110         New modules 'getopt-posix', 'getopt-gnu'.
47111         * modules/getopt-gnu: New file, renamed from modules/getopt.
47112         * modules/getopt-posix: New file.
47113         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
47114         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
47115         (gl_GETOPT): Remove macro.
47116         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
47117         Disable the test against BSD systems that declare optreset. Test
47118         against mingw bug. Test against lack of support of optional arguments
47119         on many platforms.
47120         * doc/glibc-headers/getopt.texi: Update module name and list of
47121         relevant platforms.
47122         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
47123         'getopt-gnu' and more portability problems.
47124         * NEWS: Mention the changes.
47125
47126 2009-08-12  Bruno Haible  <bruno@clisp.org>
47127
47128         Ensure that optarg etc. get declared by <unistd.h>.
47129         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
47130         AC_USE_SYSTEM_EXTENSIONS.
47131         * modules/getopt (Depends-on): Add 'extensions'.
47132
47133 2009-08-12  Bruno Haible  <bruno@clisp.org>
47134
47135         Avoid test link errors.
47136         * modules/pipe-filter-ii-tests (Makefile.am): Define
47137         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
47138         * modules/pipe-filter-gi-tests (Makefile.am): Define
47139         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
47140         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47141
47142 2009-08-12  Bruno Haible  <bruno@clisp.org>
47143
47144         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
47145         gl_GETOPT_SUBSTITUTE before.
47146         (gl_GETOPT): Use it.
47147         * m4/argp.m4 (gl_ARGP): Update.
47148         Reported by Sergey Poznyakoff.
47149
47150         * m4/getopt.m4: Reorder macros.
47151         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
47152         (gl_GETOPT_SUBSTITUTE): Remove macro.
47153
47154 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47155
47156         Minor improvement in gitlog-to-changelog
47157
47158         * build-aux/gitlog-to-changelog: New option `--format' makes
47159         output format string configurable.
47160
47161 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47162
47163         Optimize exclude: use hash tables for non-wildcard patterns.
47164
47165         * lib/exclude.c: Include hash.h and mbuiter.h
47166         (struct exclude_pattern, exclude_segment): New data types.
47167         (struct exclude): Rewrite.
47168         (fnmatch_pattern_has_wildcards): New function.
47169         (new_exclude_segment, free_exclude_segment): New functions.
47170         (excluded_file_pattern_p, excluded_file_name_p): New functions.
47171         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
47172         * lib/exclude.h (is_fnmatch_pattern): New prototype.
47173         * modules/exclude: Depend on hash and mbuiter.
47174
47175         * modules/exclude-tests: New file.
47176         * tests/test-exclude.c: New file.
47177         * tests/test-exclude1.sh: New file.
47178         * tests/test-exclude2.sh: New file.
47179         * tests/test-exclude3.sh: New file.
47180         * tests/test-exclude4.sh: New file.
47181         * tests/test-exclude5.sh: New file.
47182         * tests/test-exclude6.sh: New file.
47183         * tests/test-exclude7.sh: New file.
47184
47185 2009-08-12  Bruno Haible  <bruno@clisp.org>
47186
47187         Ensure that getopt() gets declared by <unistd.h>.
47188         * lib/unistd.in.h: Conditionally include getopt.h.
47189         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
47190         Set GNULIB_UNISTD_H_GETOPT.
47191         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47192         GNULIB_UNISTD_H_GETOPT.
47193         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
47194
47195 2009-08-12  Bruno Haible  <bruno@clisp.org>
47196
47197         Clarify logic.
47198         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
47199         gl_replace_getopt instead of GETOPT_H.
47200
47201 2009-08-12  Bruno Haible  <bruno@clisp.org>
47202
47203         * m4/getopt.m4: Add comments.
47204
47205 2009-08-12  Bruno Haible  <bruno@clisp.org>
47206
47207         Disable multithread support by default on Cygwin 1.5.x.
47208         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
47209         set gl_use_threads=no if not specified otherwise.
47210
47211 2009-08-11  Bruno Haible  <bruno@clisp.org>
47212
47213         Avoid compilation error on NetBSD 5.0.
47214         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
47215         * tests/test-stdio.c: Likewise.
47216         * tests/test-stdlib.c: Likewise.
47217         * tests/test-string.c: Likewise.
47218         * tests/test-unistd.c: Likewise.
47219         Reported by Greg Troxel <gdt@ir.bbn.com>
47220         at <https://savannah.gnu.org/support/?106973>.
47221
47222 2009-08-11  Bruno Haible  <bruno@clisp.org>
47223
47224         * modules/dup2-tests (Depends-on): Remove close.
47225
47226         Undo 2009-07-19 commit.
47227         * modules/acl-tests (Depends-on): Remove close.
47228         * modules/binary-io-tests (Depends-on): Likewise.
47229         * modules/closein-tests (Depends-on): Likewise.
47230         * modules/flock-tests (Depends-on): Likewise.
47231         * modules/fsync-tests (Depends-on): Likewise.
47232         * modules/lseek-tests (Depends-on): Likewise.
47233         * modules/pipe-tests (Depends-on): Likewise.
47234         * modules/posix_spawn-tests (Depends-on): Likewise.
47235         * modules/posix_spawnp-tests (Depends-on): Likewise.
47236         * modules/stat-time-tests (Depends-on): Likewise.
47237         * modules/yesno-tests (Depends-on): Likewise.
47238
47239 2009-08-10  Bruno Haible  <bruno@clisp.org>
47240
47241         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
47242
47243 2009-08-10  Bruno Haible  <bruno@clisp.org>
47244
47245         Fix a gcc warning.
47246         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
47247
47248 2009-08-10  Bruno Haible  <bruno@clisp.org>
47249
47250         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
47251         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
47252         not only the first time.
47253         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
47254         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
47255         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
47256         is 1, not only the the first time.
47257
47258 2009-08-10  Bruno Haible  <bruno@clisp.org>
47259
47260         Make it possible to use module 'gethostname' without module 'close'.
47261         * lib/unistd.in.h (close): Evoke a link error only if
47262         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
47263         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47264         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47265         * modules/unistd (Makefile.am): Substitute
47266         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47267         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
47268         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
47269         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
47270         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47271         * modules/sys_ioctl (Makefile.am): Substitute
47272         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47273         * modules/socket (configure.ac): On native Windows, set
47274         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
47275         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47276         Reported by Sam Steingold <sds@gnu.org>.
47277
47278 2009-08-10  Bruno Haible  <bruno@clisp.org>
47279
47280         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
47281         * modules/ioctl (configure.ac): Likewise.
47282
47283 2009-08-10  Bruno Haible  <bruno@clisp.org>
47284
47285         Avoid collision between gnulib wrapper and libintl wrapper.
47286         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
47287         already defined in intl/printf.c.
47288         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
47289         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
47290
47291 2009-08-09  Bruno Haible  <bruno@clisp.org>
47292
47293         Make <sys/select.h> really self-contained, also on Solaris 10.
47294         * lib/sys_select.in.h: Include <string.h>.
47295         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
47296         Solaris 10 problem.
47297         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
47298         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
47299         Reported by Jim Meyering.
47300
47301 2009-08-09  Bruno Haible  <bruno@clisp.org>
47302
47303         Avoid warnings from 'aclocal' that are due to a use of macro name
47304         AM_XGETTEXT_OPTION that is not defined in automake.
47305         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
47306         automake.
47307         * modules/error (configure.ac): Likewise.
47308         * modules/propername (configure.ac): Likewise.
47309         * modules/vasprintf (configure.ac): Likewise.
47310         * modules/verror (configure.ac): Likewise.
47311         * modules/xprintf (configure.ac): Likewise.
47312         * modules/xvasprintf (configure.ac): Likewise.
47313
47314 2009-08-08  Bruno Haible  <bruno@clisp.org>
47315
47316         Avoid compilation error in C++ mode.
47317         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
47318         Reported by Sam Steingold <sds@gnu.org>.
47319
47320 2009-08-08  Bruno Haible  <bruno@clisp.org>
47321
47322         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
47323         for the various Unix platforms.
47324         * doc/posix-headers/limits.texi: Update platforms list regarding
47325         HOST_NAME_MAX.
47326         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47327
47328 2009-08-07  Jim Meyering  <meyering@redhat.com>
47329
47330         selinux-at: fix typo in a comment
47331         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
47332         Spotted by Paolo Bonzini.
47333
47334         selinux-at: remove redundant m4 code, add documentation
47335         * modules/selinux-at (configure.ac): Remove redundant code.
47336         LIB_SELINUX is already set via the dependent module, selinux-h.
47337         (Include): Add quotes around selinux-at.h.
47338         * lib/selinux-at.h: Add documentation.
47339         Reported by Bruno Haible in
47340         http://marc.info/?l=gnulib-bug&m=124958988300749
47341
47342 2009-08-07  Bruno Haible  <bruno@clisp.org>
47343
47344         Avoid link error on MacOS X 10.3 and 10.4.
47345         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
47346         on non-ELF systems.
47347         * lib/argp-pv.c (argp_program_version): Likewise.
47348         Reported by Simon Josefsson.
47349
47350 2009-08-07  Simon Josefsson  <simon@josefsson.org>
47351
47352         * tests/test-version-etc.sh: Use $EXEEXT.
47353
47354 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
47355
47356         update-copyright: update documentation to point to maint.mk
47357         * build-aux/update-copyright: Here.
47358
47359 2009-08-06  Jim Meyering  <meyering@redhat.com>
47360
47361         maint.mk: support update-copyright-local
47362         * top/maint.mk (update-copyright-local): Define place-holder.
47363         (update-copyright): Depend on $(update-copyright-local).
47364
47365 2009-08-06  Jim Meyering  <meyering@redhat.com>
47366
47367         selinux-at: new module
47368         Initially written for coreutils, this module will soon be
47369         used by findutils, too.
47370         * MODULES.html.sh [Misc]: Add selinux-at.
47371         * lib/selinux-at.h: New file, from coreutils.
47372         * lib/selinux-at.c: Likewise.
47373         * modules/selinux-at: Likewise.
47374         (License): Change from LGPL to GPL, since it depends
47375         on the GPL'd openat module.
47376
47377         doc: update README
47378         * README: Remove references to cogito.
47379         Remove cvs-repo-updating instructions from 2007.
47380         Don't imply that CVS is better if you have limited disk space.
47381
47382 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47383
47384         update-copyright: support C-style comments
47385         * build-aux/update-copyright: Implement and document.
47386         * tests/test-update-copyright.sh: Test.
47387
47388 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47389
47390         update-copyright: support omitted "(C)"
47391         * build-aux/update-copyright: Implement and document.  Also,
47392         allow variable whitespace before "(C)".
47393         * tests/test-update-copyright.sh: Test.
47394
47395 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47396
47397         update-copyright: don't trip on non-FSF copyright statements
47398         * build-aux/update-copyright: Fix so that the first correctly
47399         formatted FSF copyright statement is recognized no matter what
47400         appears before it.  Update documentation.
47401         * tests/test-update-copyright.sh: Test that.
47402
47403 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47404
47405         update-copyright: clean up code a little
47406         * build-aux/update-copyright: Append "_re" to the name of any
47407         variable holding a regular expression.
47408         Replace "old" and "new" with "stmt" in variable names.
47409         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
47410         handled correctly.
47411         Format code more consistently.
47412
47413 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47414
47415         update-copyright-tests: improve portability
47416         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
47417         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
47418
47419 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47420
47421         update-copyright: support @copyright{} and &copy;
47422         * build-aux/update-copyright: Implement and document.
47423         * tests/test-update-copyright.sh: Test.
47424
47425 2009-08-04  Jim Meyering  <meyering@redhat.com>
47426
47427         update-copyright-tests: correctly test EOL=\r\n handling
47428         * tests/test-update-copyright.sh: Put \r at the end of some lines
47429         for the dos-eol tests.  Based on a patch by Joel E. Denny.
47430
47431         maint.mk: make update-copyright exclusion list more configurable
47432         * top/maint.mk (update-copyright): Default to excluding COPYING,
47433         but allow an override, in case someone does want to update that file.
47434
47435         maint.mk: don't update copyright date in COPYING
47436         * top/maint.mk (update-copyright): Exclude COPYING.
47437
47438         maint.mk: add a copyright-updating rule
47439         * top/maint.mk (update-copyright): New rule.
47440         Derived from coreutils/Makefile.am.
47441
47442         update-copyright: rename some variables
47443         * build-aux/update-copyright: Rename a few variables for clarity.
47444         Tweak syntax.  List Joel E. Denny as coauthor.
47445
47446 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47447
47448         update-copyright: fix bug for 2-digit last year and add tests
47449         * build-aux/update-copyright: Fix bug.
47450         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
47451         specified.
47452         * modules/update-copyright-tests: New
47453         * tests/test-update-copyright.sh: New.
47454
47455 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47456
47457         update-copyright: handle leading tabs in line prefix
47458         * build-aux/update-copyright: Count leading tabs as 8 spaces
47459         when computing margin.  This helps with the formatting of
47460         ChangeLogs, for example.
47461         Fix documentation a little.
47462
47463 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47464
47465         update-copyright: support EOL=\r\n
47466         * build-aux/update-copyright: Implement that.
47467
47468 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47469
47470         update-copyright: automatically format copyright statements
47471         * build-aux/update-copyright: Implement that.
47472         Also, be a little more predictable and safer by always failing
47473         when the full copyright format is not perfectly recognized as an
47474         unbroken whole.  Discussed at
47475         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
47476         Rewrite documentation.
47477
47478 2009-08-03  Bruno Haible  <bruno@clisp.org>
47479
47480         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
47481
47482 2009-08-02  Bruno Haible  <bruno@clisp.org>
47483
47484         Tests for module 'uname'.
47485         * modules/uname-tests: New file.
47486         * tests/test-uname.c: New file.
47487
47488         New module 'uname'.
47489         * lib/uname.c: New file.
47490         * m4/uname.m4: New file.
47491         * modules/uname: New file.
47492         * doc/posix-functions/uname.texi: Mention the new module.
47493
47494 2009-08-02  Bruno Haible  <bruno@clisp.org>
47495
47496         Tests for module 'sys_utsname'.
47497         * modules/sys_utsname-tests: New file.
47498         * tests/test-sys_utsname.c: New file.
47499
47500         New module 'sys_utsname'.
47501         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
47502         * m4/sys_utsname_h.m4: New file.
47503         * modules/sys_utsname: New file.
47504         * doc/posix-headers/sys_utsname.texi: Mention the new module.
47505
47506 2009-08-02  Bruno Haible  <bruno@clisp.org>
47507
47508         Implicitly initialize the sockets library.
47509         * lib/gethostname.c: Include sockets.h.
47510         (rpl_gethostname): Invoke gl_sockets_startup.
47511         * lib/socket.c: Include sockets.h.
47512         (rpl_socket): Invoke gl_sockets_startup.
47513         * modules/gethostname (Depends-on): Add sockets.
47514         * modules/socket (Depends-on): Likewise.
47515         * tests/test-poll.c: Don't include sockets.h.
47516         (main): Don't invoke gl_sockets_startup.
47517         * tests/test-select.c: Don't include sockets.h.
47518         (main): Don't invoke gl_sockets_startup.
47519
47520 2009-08-02  Bruno Haible  <bruno@clisp.org>
47521
47522         Allow multiple calls to gl_sockets_startup.
47523         * lib/sockets.c (initialized_sockets_version): New variable.
47524         (gl_sockets_startup): Do nothing if already called for this or a higher
47525         version.
47526         (gl_sockets_cleanup): Reset initialized_sockets_version.
47527
47528 2009-08-03  Simon Josefsson  <simon@josefsson.org>
47529
47530         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
47531         different project/version.
47532
47533 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
47534             Bruno Haible  <bruno@clisp.org>
47535
47536         Tests for module 'pipe-filter-gi'.
47537         * modules/pipe-filter-gi-tests: New file.
47538         * tests/test-pipe-filter-gi1.sh: New file.
47539         * tests/test-pipe-filter-gi1.c: New file.
47540         * tests/test-pipe-filter-gi2.sh: New file.
47541         * tests/test-pipe-filter-gi2-main.c: New file.
47542         * tests/test-pipe-filter-gi2-child.c: New file.
47543
47544         New module 'pipe-filter-gi'.
47545         * lib/pipe-filter-gi.c: New file.
47546         * modules/pipe-filter-gi: New file.
47547
47548 2009-08-02  Bruno Haible  <bruno@clisp.org>
47549             Paolo Bonzini  <bonzini@gnu.org>
47550
47551         Tests for module 'pipe-filter-ii'.
47552         * modules/pipe-filter-ii-tests: New file.
47553         * tests/test-pipe-filter-ii1.sh: New file.
47554         * tests/test-pipe-filter-ii1.c: New file.
47555         * tests/test-pipe-filter-ii2.sh: New file.
47556         * tests/test-pipe-filter-ii2-main.c: New file.
47557         * tests/test-pipe-filter-ii2-child.c: New file.
47558
47559         New module 'pipe-filter-ii'.
47560         * lib/pipe-filter.h: New file.
47561         * lib/pipe-filter-ii.c: New file.
47562         * lib/pipe-filter-aux.h: New file.
47563         * modules/pipe-filter-ii: New file.
47564
47565 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47566
47567         * lib/gc-libgcrypt.c: Change copyright to FSF.
47568         * lib/gc-gnulib.c: Likewise.
47569
47570 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
47571
47572         * lib/gethostname.c: Include limits.h.
47573
47574 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47575             Bruno Haible  <bruno@clisp.org>
47576
47577         Ensure HOST_NAME_MAX as part of the gethostname module.
47578         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
47579         define also HOST_NAME_MAX.
47580         * tests/test-gethostname.c: Include <limits.h>.
47581         (main): Check also HOST_NAME_MAX.
47582         * doc/posix-headers/limits.texi: Document the mingw problem.
47583
47584 2009-08-02  Bruno Haible  <bruno@clisp.org>
47585
47586         * lib/gethostname.c (gethostname): Fix handling of large len argument.
47587         Add comments.
47588
47589 2009-03-31  Simon Josefsson  <simon@josefsson.org>
47590
47591         * lib/gethostname.c: Add Windows wrapper.
47592         * m4/gethostname.m4: Look for gethostname in -lws2_32.
47593         * modules/gethostname: Depend on sys_socket & errno, for also
47594         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
47595         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
47596
47597 2009-07-31  Jim Meyering  <meyering@redhat.com>
47598
47599         getloadavg: fix symbol name in comment
47600         * lib/getloadavg.c: Correct a typo I introduced when adding
47601         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
47602         Matt Kraai spotted the problem.
47603
47604 2009-07-29  Matt Kraai  <mkraai@beckman.com>
47605
47606         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
47607         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
47608         code also if ! defined N_NAME_POINTER.
47609         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
47610         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
47611         but the n_name member is a 12-byte array.
47612
47613 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
47614
47615         update-copyright: generalize comment handling
47616         * build-aux/update-copyright: Handle copyright statements
47617         within more comment styles.
47618         Document usage.
47619         Report any file with an external copyright holder or parse failure.
47620
47621 2009-07-29  Jim Meyering  <meyering@redhat.com>
47622
47623         mktime: correct setting of REPLACE_MKTIME
47624         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
47625
47626         update-copyright: new module
47627         * modules/update-copyright: New file.
47628         * build-aux/update-copyright: New file.
47629         * MODULES.html.sh (maint+release support): Add update-copyright.
47630
47631 2009-07-27  Bruno Haible  <bruno@clisp.org>
47632
47633         Fix compilation error when <ctime> is used and mktime is replaced.
47634         * lib/time.in.h (mktime): New declaration.
47635         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
47636         REPLACE_MKTIME instead of defining mktime in config.h.
47637         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
47638         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
47639         Reported by Ross McFarland <rwmcfa1@neces.com>.
47640
47641 2009-07-27  Bruno Haible  <bruno@clisp.org>
47642
47643         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
47644         Reported by Matt Kraai <mkraai@beckman.com>.
47645
47646 2009-07-25  Jim Meyering  <meyering@redhat.com>
47647
47648         maint.mk: avoid warnings about missing files
47649         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
47650         diagnostic when .prev-version does not exist.
47651         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
47652         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
47653         nonexistent cfg.mk.
47654         Suggestions from Simon Josefsson.
47655
47656 2009-07-25  Bruno Haible  <bruno@clisp.org>
47657
47658         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
47659         defined as macros. Needed on QNX 6.4.1.
47660         Reported by Matt Kraai <mkraai@beckman.com>.
47661
47662 2009-07-23  Jim Meyering  <meyering@redhat.com>
47663
47664         maint.mk: invoke "make dist" with a working value of XZ_OPT
47665         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
47666
47667 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
47668
47669         Make fseeko.c compile on QNX.
47670         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
47671
47672 2009-07-22  Peter Simons  <simons@cryp.to>
47673
47674         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
47675         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
47676         * lib/md4.h: Likewise.
47677         * lib/md5.h: Likewise.
47678         * lib/sha1.h: Likewise.
47679         * lib/sha256.h: Likewise.
47680         * lib/sha512.h: Likewise.
47681
47682         tests-sha1: don't assign literal string to 'char *' variable
47683         * tests/test-sha1.c (main): Declare locals with "const" to match
47684         attributes of the right hand side.
47685
47686 2009-07-21  Eric Blake  <ebb9@byu.net>
47687
47688         dup2: fix more mingw problems
47689         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
47690         fd to itself.
47691         * doc/posix-functions/dup2.texi (dup2): Document the bug.
47692         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
47693         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
47694         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
47695         care of mingw bugs.
47696
47697 2009-07-21  Jim Meyering  <meyering@redhat.com>
47698
47699         vc-list-files: avoid failure when /bin/sh is dash
47700         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
47701         On some Debian based systems, /bin/sh is a symlink to dash, and running
47702         this command would omit the "/" following each 'tests' prefix:
47703           dash -x build-aux/vc-list-files -C . tests
47704         That is because bash and dash work differently:
47705           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
47706           bash ok
47707           dash odd
47708
47709 2009-07-21  Eric Blake  <ebb9@byu.net>
47710
47711         dup2-tests: test previous patch
47712         * modules/dup2-tests: New file.
47713         * tests/test-dup2.c: Likewise.
47714         * tests/test-open.c (main): Avoid unspecified behavior.
47715         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
47716         test.
47717
47718         dup2: work around mingw and cygwin 1.5 bug
47719         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
47720         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
47721         * modules/unistd (Makefile.am): Substitute it.
47722         * lib/unistd.in.h (dup2): Declare the replacement.
47723         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
47724         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
47725         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
47726         * modules/execute (Depends-on): Add dup2.
47727         * modules/fseterr (Depends-on): Likewise.
47728         * modules/pipe (Depends-on): Likewise.
47729         * modules/posix_spawn-internal (Depends-on): Likewise.
47730
47731 2009-07-21  Bruno Haible  <bruno@clisp.org>
47732
47733         * modules/.gitattributes: New file.
47734
47735 2009-07-20  Bruno Haible  <bruno@clisp.org>
47736
47737         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
47738         (main): Use it.
47739
47740 2009-07-20  Eric Blake  <ebb9@byu.net>
47741
47742         test-pipe: make a bit more robust.
47743         * tests/test-pipe.c (myerr): Allow error messages regardless of
47744         what we do to stderr.
47745         (test_pipe): Rearrange to avoid deadlock.
47746         (child_main): Try a larger read, to ensure we avoided deadlock.
47747         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
47748         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
47749         if misused.
47750
47751 2009-07-19  Jim Meyering  <meyering@redhat.com>
47752
47753         fts: avoid false-positive cycle-detection
47754         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
47755         for each new command line argument.
47756
47757 2009-07-19  Bruno Haible  <bruno@clisp.org>
47758
47759         Fix build error on mingw with the modules sys_select and unistd.
47760         * modules/acl-tests (Depends-on): Add close.
47761         * modules/binary-io-tests (Depends-on): Likewise.
47762         * modules/closein-tests (Depends-on): Likewise.
47763         * modules/flock-tests (Depends-on): Likewise.
47764         * modules/fsync-tests (Depends-on): Likewise.
47765         * modules/lseek-tests (Depends-on): Likewise.
47766         * modules/pipe-tests (Depends-on): Likewise.
47767         * modules/posix_spawn-tests (Depends-on): Likewise.
47768         * modules/posix_spawnp-tests (Depends-on): Likewise.
47769         * modules/stat-time-tests (Depends-on): Likewise.
47770         * modules/yesno-tests (Depends-on): Likewise.
47771
47772 2009-07-19  Bruno Haible  <bruno@clisp.org>
47773
47774         Unify conditionals.
47775         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
47776         macros, not at the compiler macros.
47777         * lib/pipe.c: Likewise.
47778         * lib/execute.c: Likewise.
47779         * lib/spawni.c: Likewise.
47780
47781 2009-07-19  Bruno Haible  <bruno@clisp.org>
47782
47783         Fix handling of closed stdin/stdout/stderr on mingw.
47784         * lib/w32spawn.h: Include unistd.h.
47785         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
47786         file descriptor with O_NOINHERIT flag.
47787         (fd_safer_noinherit): New function, based on fd-safer.c.
47788         (dup_safer_noinherit): New function, based on dup-safer.c.
47789         (undup_safer_noinherit): New function.
47790         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
47791         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
47792         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
47793         instead of fd_safer.
47794         * tests/test-pipe.c: Include <windows.h>.
47795         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
47796         result.
47797
47798         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
47799         from main.
47800         (test_pipe): Pass an extra argument for disambiguation.
47801         (main): Invoke parent_main or child_main.
47802
47803         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
47804         consistently.
47805
47806 2009-07-18  Eric Blake  <ebb9@byu.net>
47807
47808         test-pipe: fix mingw build
47809         * tests/test-pipe.c (main): Avoid fcntl on mingw.
47810
47811 2009-07-18  Bruno Haible  <bruno@clisp.org>
47812
47813         * modules/pipe-tests (Makefile.am): Fix typo.
47814
47815 2009-07-18  Eric Blake  <ebb9@byu.net>
47816
47817         error: fix mingw build
47818         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
47819         Reported by Bruno Haible.
47820
47821         error: avoid undefined use of stdout
47822         * lib/error.c (error, error_at_line): Check that fd 1 is open
47823         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
47824         is handling faults and the close_stdout module wants to report the
47825         detection of closed stdout as an error.
47826
47827 2009-07-17  Eric Blake  <ebb9@byu.net>
47828
47829         pipe: be robust in face of closed fds
47830         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
47831         should cause child to misbehave.
47832         * modules/pipe-tests: New module.
47833         * tests/test-pipe.c: New file.
47834         * tests/test-pipe.sh: New file.
47835         Reported by Akim Demaille.
47836
47837 2009-07-14  Bruno Haible  <bruno@clisp.org>
47838
47839         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
47840         Reported by anonymous kc.
47841
47842 2009-07-07  Jim Meyering  <meyering@redhat.com>
47843
47844         maint.mk: don't look for translatable strings in *.m4 or *.mk
47845         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
47846         when searching for translatable strings.
47847
47848 2009-07-05  Jim Meyering  <meyering@redhat.com>
47849
47850         remove superfluous parentheses in STREQ definition
47851         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
47852         * lib/getugroups.c (STREQ): Likewise.
47853         * lib/fnmatch.c (STREQ): Likewise.
47854         Spotted by Bruno Haible.
47855
47856 2009-07-04  Jim Meyering  <meyering@redhat.com>
47857
47858         argv-iter: new module
47859         * MODULES.html.sh: Add argv-iter.
47860         * lib/argv-iter.c, lib/argv-iter.h: New files.
47861         * modules/argv-iter: New file.
47862         * modules/argv-iter-tests: New file.
47863         * tests/test-argv-iter.c: Test it.
47864
47865 2009-07-04  Bruno Haible  <bruno@clisp.org>
47866
47867         Fix assertion.
47868         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
47869         contains more exact copies of a given entry than file2, leave the extra
47870         copies unpaired rather than aborting.
47871         Reported by Eric Blake.
47872
47873 2009-07-02  Bruno Haible  <bruno@clisp.org>
47874
47875         Speedup git-merge-changelog for git cherry-pick.
47876         * lib/git-merge-changelog.c (struct entries_mapping): New type.
47877         (entries_mapping_get): New function, extracted from compute_mapping.
47878         (entries_mapping_reverse_get): New function.
47879         (compute_mapping): Add a 'full' argument. Return the result in a
47880         'struct entries_mapping'.
47881         (main): Update. Access the mappings through entries_mapping_get.
47882         Reported by Eric Blake.
47883
47884 2009-07-02  Bruno Haible  <bruno@clisp.org>
47885
47886         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
47887         best_i.
47888
47889 2009-07-02  Bruno Haible  <bruno@clisp.org>
47890
47891         Speed up approximate search for matching ChangeLog entries.
47892         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
47893         argument. Call fstrcmp_bounded instead of fstrcmp.
47894         (compute_mapping, try_split_merged_entry, main): Update callers.
47895
47896 2009-07-02  Bruno Haible  <bruno@clisp.org>
47897
47898         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
47899
47900 2009-06-30  Bruno Haible  <bruno@clisp.org>
47901
47902         Reduce the number of uc_is_cased calls.
47903         * lib/unicase.h (casing_suffix_context_t): Add
47904         'first_char_except_ignorable' field.
47905         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
47906         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
47907         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
47908         Update initializer.
47909         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
47910         case-ignorable characters.
47911         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
47912         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
47913         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
47914         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
47915         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
47916
47917 2009-06-30  Bruno Haible  <bruno@clisp.org>
47918
47919         Tests for module 'unicase/ignorable'.
47920         * modules/unicase/ignorable-tests: New file.
47921         * tests/unicase/test-ignorable.c: New file, generated by
47922         gen-uni-tables.
47923
47924         Tests for module 'unicase/cased'.
47925         * modules/unicase/cased-tests: New file.
47926         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
47927         * tests/unicase/test-predicate-part1.h: New file, derived from
47928         tests/unictype/test-predicate-part1.h.
47929         * tests/unicase/test-predicate-part2.h: New file, same as
47930         tests/unictype/test-predicate-part2.h.
47931
47932         Fix evaluation of "Before C" condition of FINAL_SIGMA.
47933         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
47934         (output_casing_properties): New function.
47935         (main): Call it.
47936         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
47937         * lib/unicase/cased.c: Include unictype/bitmap.h.
47938         (uc_is_cased): Define through a bitmap lookup.
47939         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
47940         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
47941         (uc_is_case_ignorable): Define through a bitmap lookup.
47942         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
47943         lib/unictype/bitmap.h.
47944         (Depends-on): Add inline. Clean up.
47945         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
47946         lib/unictype/bitmap.h.
47947         (Depends-on): Add inline. Clean up.
47948         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
47949         recognition.
47950         * tests/unicase/test-u16-tolower.c (main): Likewise.
47951         * tests/unicase/test-u32-tolower.c (main): Likewise.
47952
47953 2009-06-30  Bruno Haible  <bruno@clisp.org>
47954
47955         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
47956         * lib/unicase/u16-casemap.c: Likewise.
47957         * lib/unicase/u32-casemap.c: Likewise.
47958
47959 2009-06-29  Bruno Haible  <bruno@clisp.org>
47960
47961         Define u32_casefold as a wrapper around u32_ct_casefold.
47962         * lib/unicase/u32-casefold.c: Update.
47963         * modules/unicase/u32-casefold (Depends-on): Add
47964         unicase/u32-ct-casefold, unicase/empty-prefix-context,
47965         unicase/empty-suffix-context. Clean up.
47966
47967         Define u16_casefold as a wrapper around u16_ct_casefold.
47968         * lib/unicase/u16-casefold.c: Update.
47969         * modules/unicase/u16-casefold (Depends-on): Add
47970         unicase/u16-ct-casefold, unicase/empty-prefix-context,
47971         unicase/empty-suffix-context. Clean up.
47972
47973         Define u8_casefold as a wrapper around u8_ct_casefold.
47974         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
47975         * lib/unicase/u8-casefold.c: Update.
47976         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
47977         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47978
47979         Define u32_totitle as a wrapper around u32_ct_totitle.
47980         * lib/unicase/u32-totitle.c: Update.
47981         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
47982         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47983
47984         Define u16_totitle as a wrapper around u16_ct_totitle.
47985         * lib/unicase/u16-totitle.c: Update.
47986         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
47987         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47988
47989         Define u8_totitle as a wrapper around u8_ct_totitle.
47990         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
47991         functions.
47992         (FUNC): Delegate to U_CT_TOTITLE.
47993         * lib/unicase/u8-totitle.c: Update.
47994         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
47995         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47996
47997         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
47998         invocation.
47999         * modules/unicase/u32-tolower (Depends-on): Add
48000         unicase/empty-prefix-context, unicase/empty-suffix-context.
48001
48002         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
48003         invocation.
48004         * modules/unicase/u16-tolower (Depends-on): Add
48005         unicase/empty-prefix-context, unicase/empty-suffix-context.
48006
48007         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
48008         * modules/unicase/u8-tolower (Depends-on): Add
48009         unicase/empty-prefix-context, unicase/empty-suffix-context.
48010
48011         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
48012         invocation.
48013         * modules/unicase/u32-toupper (Depends-on): Add
48014         unicase/empty-prefix-context, unicase/empty-suffix-context.
48015
48016         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
48017         invocation.
48018         * modules/unicase/u16-toupper (Depends-on): Add
48019         unicase/empty-prefix-context, unicase/empty-suffix-context.
48020
48021         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
48022         * modules/unicase/u8-toupper (Depends-on): Add
48023         unicase/empty-prefix-context, unicase/empty-suffix-context.
48024
48025         New module 'unicase/u32-ct-casefold'.
48026         * lib/unicase/u32-ct-casefold.c: New file.
48027         * modules/unicase/u32-ct-casefold: New file.
48028
48029         New module 'unicase/u16-ct-casefold'.
48030         * lib/unicase/u16-ct-casefold.c: New file.
48031         * modules/unicase/u16-ct-casefold: New file.
48032
48033         New module 'unicase/u8-ct-casefold'.
48034         * lib/unicase/u8-ct-casefold.c: New file.
48035         * lib/unicase/u-ct-casefold.h: New file, derived from
48036         lib/unicase/u-casefold.h.
48037         * modules/unicase/u8-ct-casefold: New file.
48038
48039         New module 'unicase/u32-ct-totitle'.
48040         * lib/unicase/u32-ct-totitle.c: New file.
48041         * modules/unicase/u32-ct-totitle: New file.
48042
48043         New module 'unicase/u16-ct-totitle'.
48044         * lib/unicase/u16-ct-totitle.c: New file.
48045         * modules/unicase/u16-ct-totitle: New file.
48046
48047         New module 'unicase/u8-ct-totitle'.
48048         * lib/unicase/u8-ct-totitle.c: New file.
48049         * lib/unicase/u-ct-totitle.h: New file, derived from
48050         lib/unicase/u-totitle.h.
48051         * modules/unicase/u8-ct-totitle: New file.
48052
48053         New module 'unicase/u32-ct-tolower'.
48054         * lib/unicase/u32-ct-tolower.c: New file.
48055         * modules/unicase/u32-ct-tolower: New file.
48056
48057         New module 'unicase/u16-ct-tolower'.
48058         * lib/unicase/u16-ct-tolower.c: New file.
48059         * modules/unicase/u16-ct-tolower: New file.
48060
48061         New module 'unicase/u8-ct-tolower'.
48062         * lib/unicase/u8-ct-tolower.c: New file.
48063         * modules/unicase/u8-ct-tolower: New file.
48064
48065         New module 'unicase/u32-ct-toupper'.
48066         * lib/unicase/u32-ct-toupper.c: New file.
48067         * modules/unicase/u32-ct-toupper: New file.
48068
48069         New module 'unicase/u16-ct-toupper'.
48070         * lib/unicase/u16-ct-toupper.c: New file.
48071         * modules/unicase/u16-ct-toupper: New file.
48072
48073         New module 'unicase/u8-ct-toupper'.
48074         * lib/unicase/u8-ct-toupper.c: New file.
48075         * modules/unicase/u8-ct-toupper: New file.
48076
48077         Add context arguments to u*_casemap functions.
48078         * lib/unicase/unicasemap.h: Include unicase.h.
48079         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
48080         suffix_context arguments.
48081         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
48082         functions.
48083         (FUNC): Add prefix_context and suffix_context arguments. Use
48084         uc_is_cased and uc_is_case_ignorable.
48085         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
48086         * lib/unicase/u16-casemap.c: Likewise.
48087         * lib/unicase/u32-casemap.c: Likewise.
48088         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
48089         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48090         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
48091         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48092         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
48093         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48094
48095         New module 'unicase/u32-suffix-context'.
48096         * lib/unicase/u32-suffix-context.c: New file.
48097         * modules/unicase/u32-suffix-context: New file.
48098
48099         New module 'unicase/u16-suffix-context'.
48100         * lib/unicase/u16-suffix-context.c: New file.
48101         * modules/unicase/u16-suffix-context: New file.
48102
48103         New module 'unicase/u8-suffix-context'.
48104         * lib/unicase/u8-suffix-context.c: New file.
48105         * lib/unicase/u-suffix-context.h: New file.
48106         * modules/unicase/u8-suffix-context: New file.
48107
48108         New module 'unicase/empty-suffix-context'.
48109         * lib/unicase/empty-suffix-context.c: New file.
48110         * modules/unicase/empty-suffix-context: New file.
48111
48112         New module 'unicase/u32-prefix-context'.
48113         * lib/unicase/u32-prefix-context.c: New file.
48114         * modules/unicase/u32-prefix-context: New file.
48115
48116         New module 'unicase/u16-prefix-context'.
48117         * lib/unicase/u16-prefix-context.c: New file.
48118         * modules/unicase/u16-prefix-context: New file.
48119
48120         New module 'unicase/u8-prefix-context'.
48121         * lib/unicase/u8-prefix-context.c: New file.
48122         * lib/unicase/u-prefix-context.h: New file.
48123         * lib/unicase/context.h: New file.
48124         * modules/unicase/u8-prefix-context: New file.
48125
48126         New module 'unicase/empty-prefix-context'.
48127         * lib/unicase/empty-prefix-context.c: New file.
48128         * modules/unicase/empty-prefix-context: New file.
48129
48130         New module 'unicase/ignorable'.
48131         * lib/unicase/ignorable.c: New file.
48132         * modules/unicase/ignorable: New file.
48133
48134         New module 'unicase/cased'.
48135         * lib/unicase/caseprop.h: New file.
48136         * lib/unicase/cased.c: New file.
48137         * modules/unicase/cased: New file.
48138
48139         New functions for case mapping of substrings.
48140         * lib/unicase.h (casing_prefix_context_t): New type.
48141         (unicase_empty_prefix_context): New variable.
48142         (u8_casing_prefix_context, u16_casing_prefix_context,
48143         u32_casing_prefix_context, u8_casing_prefixes_context,
48144         u16_casing_prefixes_context, u32_casing_prefixes_context): New
48145         declarations.
48146         (casing_suffix_context_t): New type.
48147         (unicase_empty_suffix_context): New variable.
48148         (u8_casing_suffix_context, u16_casing_suffix_context,
48149         u32_casing_suffix_context, u8_casing_suffixes_context,
48150         u16_casing_suffixes_context, u32_casing_suffixes_context,
48151         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
48152         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
48153         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
48154         declarations.
48155
48156 2009-06-28  Jim Meyering  <meyering@redhat.com>
48157
48158         boostrap: indent only with spaces
48159         * build-aux/bootstrap: Indent only with spaces, never TABs.
48160
48161         bootstrap: split long lines
48162         * build-aux/bootstrap: Keep line length < 80.
48163
48164         bootstrap: sync from coreutils
48165         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
48166         just as autoreconf does.  Verify a list of prerequisite
48167         package-name,version-number pairs if defined in bootstrap.conf.
48168         Refer to README-prereq, if prerequisites are not satisfied.
48169
48170 2009-06-27  Eric Blake  <ebb9@byu.net>
48171
48172         tests: add test for bogus NULL definition
48173         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
48174         * tests/test-stdlib.c: Likewise.
48175         * tests/test-string.c: Likewise.
48176         * tests/test-locale.c: Likewise.
48177         * tests/test-unistd.c: Likewise.
48178         * modules/stdio-tests (Depends-on): Add verify.
48179         * modules/stdlib-tests (Depends-on): Likewise.
48180         * modules/string-tests (Depends-on): Likewise.
48181         * modules/locale-tests (Depends-on): Likewise.
48182         * modules/unistd-tests (Depends-on): Likewise.
48183
48184 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
48185
48186         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
48187         self-explaining comment.
48188         * m4/selinux-selinux-h: Update serial.
48189         (gl_LIBSELINUX): New macro, adding a warning for missing development
48190         packages to code extracted from...
48191         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
48192         Add warning for missing development packages here, too.
48193
48194 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
48195
48196         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
48197
48198 2009-06-25  Eric Blake  <ebb9@byu.net>
48199
48200         version-etc: fix regression
48201         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
48202         gcc.
48203         (version_etc): Use it, to catch bugs with trailing NULL.
48204         * lib/version-etc.c (version_etc_arn): Delete unused argument.
48205         (version_etc_va): Fix logic bug.
48206         * modules/version-etc-tests: Add test.
48207         * tests/test-version-etc.c: New file.
48208         * tests/test-version-etc.sh: Likewise.
48209
48210 2009-06-25  Sam Steingold  <sds@gnu.org>
48211
48212         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
48213         mbtowc declaration.
48214
48215 2009-06-25  Eric Blake  <ebb9@byu.net>
48216
48217         fpurge: migrate into <stdio.h>
48218         * lib/fpurge.h: Delete...
48219         * lib/stdio.in.h (fpurge): ...and declare here, instead.
48220         * lib/fpurge.c (fpurge): Change declaring header.
48221         * modules/fpurge (Files): Drop deleted file.
48222         (Depends-on): Add stdio.
48223         (configure.ac): Set witness.
48224         * modules/stdio (Makefile.am): Support fpurge macros.
48225         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48226         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
48227         * lib/fflush.c: Update client.
48228         * tests/test-fpurge.c: Likewise.
48229         * NEWS: Mention the change.
48230
48231 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48232
48233         * lib/argp-version-etc.c (program_authors): Add const
48234         qualifier.
48235         * lib/version-etc.c: Fix typos in the comments.
48236         * modules/argp-version-etc: Depends on version-etc.
48237
48238 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48239
48240         argp-version-etc: new module.
48241
48242         * lib/argp-version-etc.c: New file.
48243         * lib/argp-version-etc.h: New file.
48244         * modules/argp-version-etc: New file.
48245         * modules/argp-version-etc-tests: New file.
48246         * tests/test-argp-version-etc.c: New test.
48247         * tests/test-argp-version-etc-1.sh: New test.
48248
48249 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48250
48251         Provide additional interfaces and documentation for version-etc
48252         module.
48253
48254         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
48255         interfaces.
48256         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
48257         prototypes.
48258
48259 2009-06-24  Bruno Haible  <bruno@clisp.org>
48260
48261         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
48262         HAVE_LIB${NAME} macro.
48263         Reported by Sam Steingold <sds@gnu.org>.
48264
48265 2009-06-23  Simon Josefsson  <simon@josefsson.org>
48266
48267         * modules/hash-tests (test_hash_LDADD): Link to libintl when
48268         needed.
48269
48270 2009-06-21  Bruno Haible  <bruno@clisp.org>
48271
48272         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
48273         work.
48274         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
48275         together with LIB${NAME}, LTLIB${NAME}.
48276         Reported by Sam Steingold <sds@gnu.org>.
48277
48278 2009-06-20  Jim Meyering  <meyering@redhat.com>
48279
48280         tests: make sc_require_test_exit_idiom more generic
48281         * top/maint.mk (Exit_witness_file): New overridable variable.
48282         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
48283         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
48284
48285 2009-06-19  Jim Meyering  <meyering@redhat.com>
48286
48287         hash: reverse order of src/dst parameters in an internal interface
48288         * lib/hash.c (transfer_entries): Reverse order of parameters to
48289         put DST before SRC.  Adjust callers.
48290
48291         tests: test-hash: avoid wholesale duplication
48292         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
48293         Instead, use a loop and add a single conditional.
48294
48295         tests: test-hash: allow seed selection via a command line argument
48296         * tests/test-hash.c (get_seed): New function.
48297         (main): Use it.
48298
48299 2009-06-19  Eric Blake  <ebb9@byu.net>
48300
48301         hash: avoid memory leak on allocation failure
48302         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
48303         failure.  Factor repeated algorithm...
48304         (transfer_entries): ...into new helper routine.
48305         (hash_delete): React to hash_rehash return value.
48306
48307         hash: reduce memory pressure in hash_rehash no-op case
48308         * lib/hash.c (next_prime): Avoid overflow.
48309         (hash_initialize): Factor bucket size computation...
48310         (compute_bucket_size): ...into new helper function.
48311         (hash_rehash): Use new function and open coding to reduce memory
48312         pressure, and avoid a memory leak in USE_OBSTACK code.
48313         Reported by Jim Meyering.
48314
48315 2009-06-18  Eric Blake  <ebb9@byu.net>
48316
48317         hash: make rotation more obvious
48318         * modules/hash (Depends-on): Add bitrotate and stdint.
48319         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
48320         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
48321         (SIZE_MAX): Rely on headers for definition.
48322         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
48323         (raw_hasher): Use rotr_sz.
48324         Suggested by Jim Meyering.
48325
48326         hash: fix memory leak in last patch
48327         * lib/hash.c (hash_rehash): Avoid memory leak.
48328
48329         hash: avoid no-op rehashing
48330         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
48331
48332         hash: provide default callback functions
48333         * lib/hash.c (raw_hasher, raw_comparator): New functions.
48334         (hash_initialize): Use them as defaults.
48335         * tests/test-hash.c (main): Test this.
48336
48337         hash: minor optimization
48338         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
48339         when possible.
48340         (hash_initialize): Document this promise.
48341         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
48342         * tests/test-hash.c (hash_compare_strings): Test this.
48343
48344 2009-06-18  Bruno Haible  <bruno@clisp.org>
48345
48346         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
48347         going to be replaced anyway.
48348
48349 2009-06-18  Bruno Haible  <bruno@clisp.org>
48350
48351         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
48352         in one place.
48353         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
48354         be replaced anyway.
48355
48356 2009-06-18  Eric Blake  <ebb9@byu.net>
48357
48358         hash: check for resize before insertion
48359         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
48360         threshold before insertion, so that a pathological hash_rehash
48361         that fills every bucket can still trigger another rehash.
48362
48363 2009-06-18  Jim Meyering  <meyering@redhat.com>
48364
48365         hash-tests: add a loop around the small tests
48366         * tests/test-hash.c (main): Repeat small tests with selected
48367         small initial table sizes.
48368
48369 2009-06-17  Eric Blake  <ebb9@byu.net>
48370
48371         hash: minor cleanups
48372         * lib/hash.h (hash_entry): Make opaque, by moving...
48373         * lib/hash.c (hash_entry): ...here.
48374         (hash_insert): Clarify restrictions on what can be inserted.
48375         (hash_get_next): Clarify when it is safe to remove an element
48376         during traversal.
48377         (check_tuning): Skip verification when tuning is known safe.
48378         (hash_initialize): Clarify restrictions on tuning.
48379
48380 2009-06-17  Jim Meyering  <jim@meyering.net>
48381         and Eric Blake  <ebb9@byu.net>
48382
48383         hash-tests: new module
48384         * modules/hash-tests: New file.
48385         * tests/test-hash.c: New file.
48386
48387 2009-06-17  Eric Blake  <ebb9@byu.net>
48388
48389         strstr-simple: document new module
48390         * MODULES.html.sh: Document new module.
48391
48392         strstr, strcasestr: replace on platforms with broken memchr
48393         * modules/strstr: Split into...
48394         * modules/strstr-simple: ...new module that does not care about
48395         performance, but does care about glibc bug.
48396         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
48397         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
48398         if platform memchr is broken, per Debian bug 521737.
48399         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
48400         memchr.
48401         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
48402         * doc/posix-functions/strstr.texi (strstr): Document the fix.
48403         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48404         * modules/mountlist (Depends-on): Add strstr-simple.
48405         * modules/gen-uni-tables (Depends-on): Likewise.
48406         * modules/argz (Depends-on): Add strstr.
48407
48408 2009-06-17  Bruno Haible  <bruno@clisp.org>
48409
48410         * modules/posix_spawn-internal (Depends-on): Add errno.
48411
48412 2009-06-17  Bruno Haible  <bruno@clisp.org>
48413
48414         Define missing ESTALE on Interix 3.5.
48415         * lib/errno.in.h (ESTALE): Assign a value if missing.
48416         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
48417         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
48418         missing.
48419         * doc/posix-headers/errno.texi: Mention the Interix bug.
48420         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
48421
48422 2009-06-15  Eric Blake  <ebb9@byu.net>
48423
48424         memchr, memchr2: add valgrind exception
48425         * lib/memchr.valgrind: New file.
48426         * lib/memchr2.valgrind: New file.
48427         * modules/memchr (Files): Distribute valgrind file.
48428         * modules/memchr2 (Files): Likewise.
48429
48430         docs: memchr is no longer obsolete
48431         * MODULES.html.sh: Move memchr from obsolete to string.h section.
48432         * lib/string.in.h (memchr): Simplify logic.
48433
48434 2009-06-14  Jim Meyering  <meyering@redhat.com>
48435
48436         link-follow: fix the "checking..." message to not mention trailing slash
48437         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
48438         never considered trailing slashes.
48439
48440 2009-06-14  Bruno Haible  <bruno@clisp.org>
48441
48442         * m4/memchr.m4: Mention also the bug on IA-64.
48443         * doc/posix-functions/memchr.texi: Likewise.
48444
48445 2009-06-12  Eric Blake  <ebb9@byu.net>
48446
48447         memchr: detect broken x86_64 and alpha implementations
48448         * modules/memchr-tests (Depends-on): Move mmap detection...
48449         * modules/memchr (Depends-on): ...here.
48450         (configure.ac): Set indicator.
48451         * lib/string.in.h (memchr): Declare replacement.
48452         * modules/string (Makefile.am): Trigger replacement.
48453         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
48454         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
48455         bugs.
48456         * doc/posix-functions/memchr.texi (memchr): Document the bug.
48457         * modules/getpagesize (License): Relax license.
48458
48459 2009-06-11  Bruno Haible  <bruno@clisp.org>
48460
48461         * lib/idpriv.h: Add more references.
48462
48463 2009-06-08  Bruno Haible  <bruno@clisp.org>
48464
48465         Tests for module 'idpriv-droptemp'.
48466         * modules/idpriv-droptemp-tests: New file.
48467         * tests/test-idpriv-droptemp.sh: New file.
48468         * tests/test-idpriv-droptemp.su.sh: New file.
48469         * tests/test-idpriv-droptemp.c: New file.
48470
48471         New module 'idpriv-droptemp'.
48472         * lib/idpriv-droptemp.c: New file.
48473         * modules/idpriv-droptemp: New file.
48474
48475 2009-06-08  Bruno Haible  <bruno@clisp.org>
48476
48477         Tests for module 'idpriv-drop'.
48478         * modules/idpriv-drop-tests: New file.
48479         * tests/test-idpriv-drop.sh: New file.
48480         * tests/test-idpriv-drop.su.sh: New file.
48481         * tests/test-idpriv-drop.c: New file.
48482
48483         New module 'idpriv-drop'.
48484         * lib/idpriv.h: New file.
48485         * lib-idpriv-drop.c: New file.
48486         * m4/idpriv.m4: New file.
48487         * modules/idpriv-drop: New file.
48488
48489 2009-06-08  Bruno Haible  <bruno@clisp.org>
48490
48491         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
48492         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48493         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48494         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48495         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48496         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48497         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48498
48499 2009-06-08  Eric Blake  <ebb9@byu.net>
48500
48501         test-strstr: use memory fence, when possible
48502         * tests/test-strstr.c (main): Use memory fence, in order to be
48503         more likely to trigger Debian bug 521737.
48504         * modules/strstr-tests (Files): Pull in additional files.
48505
48506         memchr: no longer obsolete, for wider field testing
48507         * modules/memchr (Status, Notice): Delete, this module is no
48508         longer obsolete.
48509         * modules/vasnprintf (Depends-on): Add memchr.
48510
48511 2009-06-07  Jim Meyering  <meyering@redhat.com>
48512
48513         hash: declare some functions with the warn_unused_result attribute
48514         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
48515
48516 2009-06-07  Bruno Haible  <bruno@clisp.org>
48517
48518         * tests/test-alignof.c: Don't test int64_t if it does not exist.
48519         Reported by Eric Blake.
48520
48521 2009-06-06  Eric Blake  <ebb9@byu.net>
48522
48523         test-alignof: fix typo with long double
48524         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
48525         compiler error.
48526
48527 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
48528
48529         Escape non-texinfo { and }s.
48530         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
48531         markup error.
48532
48533 2009-06-04  Jim Meyering  <meyering@redhat.com>
48534
48535         gitlog-to-changelog: don't infloop on an empty commit log
48536         * build-aux/gitlog-to-changelog: Warn about an empty log message.
48537         Reported by Boris Petersen <transacid@centerim.org>.
48538
48539 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
48540
48541         version-etc: extend for packagers
48542         Add three new configure options, intended for packagers:
48543           --with-packager="packager name"
48544           --with-packager-version="packager-specific version"
48545           --with-packager-bug-reports="packager bug reporting"
48546         An example with coreutils:
48547           $ ./configure \
48548             --with-packager=Gentoo \
48549             --with-packager-bug-report=http://bugs.gentoo.org/ \
48550             --with-packager-version="patchset 1.6"
48551           $ ./src/ls --version | head -n2
48552           ls (GNU coreutils) 7.1-dirty
48553           Packaged by Gentoo (patchset 1.6)
48554         Note that the bug reporting info via --help doesn't show up because
48555         coreutils uses its own custom emit_bug_reporting_address() implementation
48556         in src/system.h.  If it didn't, it'd look like:
48557           $ ./src/ls --help | tail -n4
48558           Report bugs to <bug-coreutils@gnu.org>.
48559           Report Gentoo bugs to <http://bugs.gentoo.org/>.
48560           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
48561           General help using GNU software: <http://www.gnu.org/gethelp/>.
48562         * lib/version-etc.c: Print new information, if provided.
48563         * m4/version-etc.m4: New file.
48564         * modules/version-etc (Files): Add m4/version-etc.m4.
48565         (configure.ac): Add gl_VERSION_ETC.
48566
48567 2009-05-31  Bruno Haible  <bruno@clisp.org>
48568
48569         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
48570         and 'int64_t'.
48571         * modules/alignof-tests (Dependencies): Add stdint.
48572         Reported by Eric Blake.
48573
48574 2009-05-31  Bruno Haible  <bruno@clisp.org>
48575
48576         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
48577         restriction due to compiler bugs.
48578         Reported by Eric Blake.
48579
48580 2009-05-31  Simon Josefsson  <simon@josefsson.org>
48581             Bruno Haible  <bruno@clisp.org>
48582
48583         Fix test-alignof failure.
48584         * lib/alignof.h (alignof_slot): New macro.
48585         (alignof_type): New macro, with the same semantics as the previous
48586         'alignof'.
48587         (alignof): Alias to alignof_slot.
48588         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
48589         check that the results are usable as constant expressions.
48590
48591 2009-05-31  Bruno Haible  <bruno@clisp.org>
48592
48593         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
48594         * tests/test-memchr.c (main): Check that memchr does not read past the
48595         first occurrence of the byte.
48596         * tests/test-strstr.c (main): Update comment.
48597         Suggested by Eric Blake.
48598
48599 2009-05-30  Bruno Haible  <bruno@clisp.org>
48600
48601         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
48602         detail how to use dumpbin.
48603         Reported by David Byron <dbyron@dbyron.com>.
48604
48605 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48606
48607         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
48608
48609 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48610
48611         * m4/manywarnings.m4: Add GCC 4.4 warnings.
48612
48613 2009-05-28  Bruno Haible  <bruno@clisp.org>
48614
48615         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
48616         build-aux/ files.
48617
48618 2009-05-28  Simon Josefsson  <simon@josefsson.org>
48619
48620         * gnulib-tool (func_import): Transform license on build-aux/ files too.
48621
48622 2009-05-27  Simon Josefsson  <simon@josefsson.org>
48623
48624         * gnulib-tool (sed_transform_main_lib_file)
48625         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
48626         regexps.
48627
48628 2009-05-26  Simon Josefsson  <simon@josefsson.org>
48629
48630         * tests/test-strstr.c: Add another self-test.
48631         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
48632         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
48633
48634 2009-05-23  Bruno Haible  <bruno@clisp.org>
48635
48636         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
48637         change.
48638
48639 2009-05-21  Bruno Haible  <bruno@clisp.org>
48640
48641         Simplify use of mode_t varargs.
48642         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
48643         uses 'mode_t' or 'int'.
48644         * lib/openat.c (openat): Likewise.
48645         * lib/open-safer.c (open_safer): Likewise.
48646         * m4/mode_t.m4: New file.
48647         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
48648         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
48649         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
48650         * modules/open (Files): Add m4/mode_t.m4.
48651         * modules/openat (Files): Likewise.
48652         * modules/fcntl-safer (Files): Likewise.
48653         Suggested by Eric Blake.
48654
48655 2009-05-21  Pádraig Brady  <P@draigbrady.com>
48656
48657         * doc/glibc-functions/fallocate.texi: New file.
48658         * doc/gnulib.texi: Include it.
48659
48660 2009-05-21  Eric Blake  <ebb9@byu.net>
48661             Bruno Haible  <bruno@clisp.org>
48662
48663         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
48664         invocations.
48665         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48666
48667 2009-05-21  Eric Blake  <ebb9@byu.net>
48668             Bruno Haible  <bruno@clisp.org>
48669
48670         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
48671         include_next. Fix of 2008-11-20 commit.
48672         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
48673         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
48674         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
48675         NEXT_MATH_H.
48676         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
48677         instead of NEXT_MATH_H.
48678
48679 2009-05-21  Bruno Haible  <bruno@clisp.org>
48680
48681         Avoid redefinition warnings for SIZE_MAX.
48682         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
48683         Reported by Simon Josefsson.
48684
48685 2009-05-21  Bruno Haible  <bruno@clisp.org>
48686
48687         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
48688         AC_CACHE_VAL.
48689
48690 2009-05-20  Bruno Haible  <bruno@clisp.org>
48691
48692         Make zeroptr.h work on mingw.
48693         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
48694         mprotect.
48695         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
48696         * modules/memchr2-tests (configure.ac): Likewise.
48697         * modules/memcmp-tests (configure.ac): Likewise.
48698         * modules/memmem-tests (configure.ac): Likewise.
48699         * modules/memrchr-tests (configure.ac): Likewise.
48700         Reported by Simon Josefsson.
48701
48702 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48703
48704         * tests/test-glob.c: Include string.h for strcmp prototype.
48705
48706 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48707
48708         * modules/getdelim (Depends-on): Add explicit stdint, although it
48709         was implicitly already pulled in via realloc-posix.
48710         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
48711
48712 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48713
48714         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
48715         G. Christensen" <tgc@jupiterrise.com>.
48716         * m4/sys_socket_h.m4: Check for sa_family_t.
48717         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
48718         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
48719         * tests/test-sys_socket.c: Check that sa_family_t works.
48720
48721 2009-05-18  Eric Blake  <ebb9@byu.net>
48722
48723         maint.mk: allow gnulib_dir in VPATH build
48724         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
48725
48726 2009-05-15  Jim Meyering  <meyering@redhat.com>
48727
48728         maint.mk: Give gnulib_dir a default definition.
48729         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
48730         Thus, most packages no longer need to specify this variable in cfg.mk
48731
48732 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
48733
48734         rename.m4: fix typos that would make non-mingw cross-configure fail
48735         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
48736
48737 2009-05-13  Eric Blake  <ebb9@byu.net>
48738
48739         mmap-anon: avoid out-of-order autoconf expansion
48740         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
48741         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
48742         * modules/memchr-tests (Depends-on): Add extensions.
48743         * modules/memchr2-tests (Depends-on): Add extensions.
48744         * modules/memcmp-tests (Depends-on): Add extensions.
48745         * modules/memmem-tests (Depends-on): Add extensions.
48746         * modules/memrchr-tests (Depends-on): Add extensions.
48747
48748 2009-05-13  Bruno Haible  <bruno@clisp.org>
48749
48750         Make some tests ISO C 99 compliant.
48751         * tests/zerosize-ptr.h: New file.
48752         * tests/test-memchr.c: Include zerosize-ptr.h.
48753         (main): Use a zero-size object pointer instead of NULL.
48754         * tests/test-memchr2.c: Include zerosize-ptr.h.
48755         (main): Use a zero-size object pointer instead of NULL.
48756         * tests/test-memcmp.c: Include zerosize-ptr.h.
48757         (main): Use a zero-size object pointer instead of NULL.
48758         * tests/test-memmem.c: Include zerosize-ptr.h.
48759         (main): Use a zero-size object pointer instead of NULL.
48760         * tests/test-memrchr.c: Include zerosize-ptr.h.
48761         (main): Use a zero-size object pointer instead of NULL.
48762         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
48763         m4/mmap-anon.m4.
48764         (Depends-on): Add getpagesize.
48765         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48766         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
48767         m4/mmap-anon.m4.
48768         (Depends-on): Add getpagesize.
48769         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48770         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
48771         m4/mmap-anon.m4.
48772         (Depends-on): Add getpagesize.
48773         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48774         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
48775         m4/mmap-anon.m4.
48776         (Depends-on): Add getpagesize.
48777         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48778         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
48779         m4/mmap-anon.m4.
48780         (Depends-on): Add getpagesize.
48781         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48782
48783 2009-05-12  Bruno Haible  <bruno@clisp.org>
48784
48785         Tests for module 'alignof'.
48786         * modules/alignof-tests: New file.
48787         * tests/test-alignof.c: New file.
48788
48789 2009-05-12  Bruno Haible  <bruno@clisp.org>
48790
48791         Fix alignof macro.
48792         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
48793         vendor compilers that are always correct.
48794
48795 2009-05-12  Bruno Haible  <bruno@clisp.org>
48796
48797         Make the MAP_ANONYMOUS detection work on HP-UX 11.
48798         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
48799         not whether its fully works.
48800
48801 2009-05-12  Bruno Haible  <bruno@clisp.org>
48802
48803         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
48804
48805 2009-05-12  Jim Meyering  <meyering@redhat.com>
48806
48807         * top/maint.mk: Adjust backslash alignment.
48808
48809 2009-05-11  Simon Josefsson  <simon@josefsson.org>
48810
48811         * top/maint.mk: Make $(srcdir)/build-aux configurable.
48812
48813 2009-05-11  Eric Blake  <ebb9@byu.net>
48814
48815         argp: avoid undefined behavior
48816         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
48817         macros.
48818
48819 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48820
48821         * tests/test-vc-list-files-git.sh: Do git config of user.email and
48822         user.name to prevent git commit from complaining.
48823
48824 2009-05-10  Bruno Haible  <bruno@clisp.org>
48825
48826         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
48827         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
48828         it rewrites every file name only once.
48829         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
48830
48831 2009-05-08  Bruno Haible  <bruno@clisp.org>
48832
48833         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
48834         instead of 'max'.
48835
48836 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48837
48838         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
48839         sockaddr_storage test.
48840
48841 2009-05-07  Simon Josefsson  <simon@josefsson.org>
48842
48843         * modules/sys_socket (Makefile.am): Substitute
48844         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
48845         * m4/sys_socket_h.m4: Check for sockaddr_storage.
48846         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
48847         * tests/test-sys_socket.c: Check sockaddr_storage.
48848
48849 2009-05-08  Bruno Haible  <bruno@clisp.org>
48850
48851         New module 'alignof'.
48852         * lib/alignof.h: New file.
48853         * modules/alignof: New file.
48854
48855 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48856             Bruno Haible  <bruno@clisp.org>
48857
48858         Fix test-file-has-acl on FreeBSD.
48859         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
48860         mask is implicitly added.
48861         * tests/test-file-has-acl.c: Include <signal.h>.
48862         (main): Terminate the test after 5 seconds.
48863         * modules/acl-tests (configure.ac): Check for alarm function.
48864
48865 2009-05-04  Bruno Haible  <bruno@clisp.org>
48866
48867         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
48868         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
48869         * modules/errno (configure.ac): Drop AC_REQUIRE.
48870         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
48871         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
48872
48873 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48874
48875         * modules/glob-tests: New module.
48876         * tests/test-glob.c: Add.
48877
48878 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48879
48880         * modules/fnmatch-tests: New module.
48881         * tests/test-fnmatch.c: Add.
48882
48883 2009-05-04  Eric Blake  <ebb9@byu.net>
48884
48885         maint: make the new no-submodule-changes rule VPATH-safe
48886         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
48887
48888 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48889             Bruno Haible  <bruno@clisp.org>
48890
48891         acl: Fix infinite loop on FreeBSD.
48892         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
48893         of return value from acl_get_entry.
48894         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
48895         Likewise.
48896
48897 2009-05-03  Bruno Haible  <bruno@clisp.org>
48898
48899         * lib/acl-internal.h (acl_entries): Clarify return value.
48900         * lib/acl_entries.c (acl_entries): Likewise.
48901
48902 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48903
48904         Bug fix in acl module.
48905         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
48906
48907 2009-05-03  Bruno Haible  <bruno@clisp.org>
48908
48909         Create gperf-generated file in the source dir, not in the build dir.
48910         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
48911         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
48912         * modules/unicase/locale-language (unicase/locale-languages.h):
48913         Likewise.
48914         * modules/unicase/special-casing (unicase/special-casing-table.h):
48915         Likewise.
48916         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
48917         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
48918         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
48919         Reported by Ralf Wildenhues.
48920
48921 2009-05-03  Bruno Haible  <bruno@clisp.org>
48922
48923         * modules/fnmatch (Description, configure.ac): Taken from
48924         fnmatch-posix.
48925         * modules/fnmatch-posix: Turn into a symbolic reference to the
48926         'fnmatch' module, and deprecate.
48927         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
48928
48929 2009-05-03  Bruno Haible  <bruno@clisp.org>
48930
48931         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
48932         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
48933         Reported by Ralf Wildenhues.
48934
48935 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48936
48937         * m4/fnmatch.m4: Fix fnmatch re-define.
48938
48939 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48940
48941         priv-set: new module and tests; adapt write-any-file
48942         * lib/priv-set.c: New file.
48943         * lib/priv-set.h: New file.
48944         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
48945         * lib/write-any-file.c: Simplify by using priv-set module.
48946         * m4/priv-set.m4: New file.
48947         * modules/priv-set: New file.
48948         * modules/unlinkdir: Add dependency on priv-set module.
48949         * modules/write-any-file: Likewise.
48950
48951         Tests for module 'priv-set'.
48952         * modules/priv-set-tests: New file.
48953         * tests/test-priv-set.c: New file.
48954
48955 2009-05-03  Jim Meyering  <meyering@redhat.com>
48956             Bruno Haible  <bruno@clisp.org>
48957
48958         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
48959         use the converted UTF-8 variant of the name instead.
48960
48961 2009-05-03  Jim Meyering  <meyering@redhat.com>
48962
48963         tests: tighten some getdate tests
48964         * tests/test-getdate.c (main): Tighten tests: require equality,
48965         not just greater than.  Set TZ envvar to UTC0.
48966
48967 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
48968
48969         getdate: correctly interpret "next monday" when run on a Monday
48970         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
48971         that e.g., "next tues" (when run on a tuesday) results in a date
48972         that is one week in the future, and not today's date.
48973         I.e., add a week when the wday is the same as the current one.
48974         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
48975         and earlier by Martin Bernreuther and Jan Minář.
48976         * tests/test-getdate.c (main): Check that "next DAY" is always in
48977         the future and that "last DAY" is always in the past.
48978
48979 2009-05-02  Jim Meyering  <meyering@redhat.com>
48980
48981         build: ensure that a release build fails when a submodule is unclean
48982         * top/maint.mk (no-submodule-changes): New rule.
48983         (alpha beta major): Depend on it.
48984
48985 2009-05-02  Bruno Haible  <bruno@clisp.org>
48986
48987         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
48988         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
48989         shell variable gl_fnmatch_required to detect which variant is
48990         requested.
48991         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
48992         gl_FUNC_FNMATCH_POSIX.
48993         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
48994         exclude fnmatch-posix.
48995
48996 2009-05-02  Bruno Haible  <bruno@clisp.org>
48997
48998         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
48999         * modules/mbsrtowcs (License): Change to LGPLv2+.
49000         * modules/strnlen1 (License): Likewise.
49001         Reported by Simon Josefsson.
49002
49003 2009-05-02  Bruno Haible  <bruno@clisp.org>
49004
49005         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
49006         "cross".
49007         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
49008         gnulib-tool was called with option --source-base=lib.
49009
49010 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49011
49012         Use automake *-local hooks without commands, for extensibility.
49013         * modules/localcharset (Makefile.am): Rename install-exec-local
49014         rule to install-exec-localcharset, and make it a prerequisite of
49015         install-exec-local.  Likewise, rename the uninstall-local rule to
49016         uninstall-localcharset, and make it a prerequisite of the former.
49017
49018 2009-05-01  Bruno Haible  <bruno@clisp.org>
49019
49020         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
49021         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
49022         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
49023         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
49024         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
49025         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
49026         m4/locale-zh.m4, m4/codeset.m4.
49027
49028         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
49029         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
49030         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
49031         m4/locale-zh.m4.
49032
49033         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
49034         REPLACE_WCRTOMB if mbstate_t must be replaced.
49035         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
49036         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
49037
49038 2009-05-01  Bruno Haible  <bruno@clisp.org>
49039
49040         Avoid compiler warnings when redefining macros defined by <libintl.h>.
49041         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
49042         dngettext, dcngettext, textdomain, bindtextdomain,
49043         bind_textdomain_codeset): Undefine before redefining.
49044
49045 2009-04-30  Bruno Haible  <bruno@clisp.org>
49046
49047         Fix bug introduced on 2009-04-25.
49048         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
49049         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
49050         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
49051         is defined.
49052         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
49053         is defined.
49054         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
49055         is defined.
49056         Reported by Elbert_Pol <elbert.pol@gmail.com>.
49057
49058 2009-04-28  Bruno Haible  <bruno@clisp.org>
49059
49060         Comment tweaks.
49061         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
49062         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
49063         * lib/unicase.h (u*_casexfrm): Likewise.
49064         Reported by Paolo Bonzini.
49065
49066 2009-04-28  Bruno Haible  <bruno@clisp.org>
49067
49068         Fix a compilation error.
49069         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
49070         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
49071         Reported by Jim Meyering.
49072
49073 2009-04-27  Bruno Haible  <bruno@clisp.org>
49074
49075         New module 'libunistring'.
49076         * modules/libunistring: New file.
49077         * m4/libunistring.m4: New file.
49078         * MODULES.html.sh (Unicode string functions): Add it.
49079
49080 2009-04-27  Eric Blake  <ebb9@byu.net>
49081
49082         maint.mk: allow package-specific header to provide <config.h>
49083         * top/maint.mk (sc_require_config_h): New variable.
49084         (sc_require_config_h, sc_require_config_h_first): Use it.
49085
49086 2009-04-27  Simon Josefsson  <simon@josefsson.org>
49087
49088         * top/maint.mk (sc_avoid_if_before_free): Except
49089         useless-if-before-free script.
49090
49091 2009-04-27  Eric Blake  <ebb9@byu.net>
49092
49093         maintainer-makefile: depend on all required helper scripts
49094         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
49095         useless-if-before-free.
49096         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
49097         version, rather than assuming gnulib checkout is available.
49098         Reported by Simen Josefsson.
49099
49100 2009-04-26  Bruno Haible  <bruno@clisp.org>
49101
49102         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
49103         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
49104         "../" or "..".
49105
49106 2009-04-26  Bruno Haible  <bruno@clisp.org>
49107
49108         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
49109         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
49110         AC_LIB_HAVE_LINKFLAGS.
49111
49112 2009-04-26  Bruno Haible  <bruno@clisp.org>
49113
49114         Simplify calling convention of u*_conv_from_encoding.
49115         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
49116         u32_conv_from_encoding): Expect a resultbuf argument and return the
49117         result directly as a pointer.
49118         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
49119         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
49120         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
49121         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
49122         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
49123         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
49124         Update.
49125         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
49126         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
49127         * lib/vasnprintf.c (VASNPRINTF): Update.
49128         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
49129         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
49130         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
49131         * NEWS: Mention the change.
49132
49133 2009-04-26  Bruno Haible  <bruno@clisp.org>
49134
49135         Simplify calling convention of u*_conv_to_encoding.
49136         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
49137         u32_conv_to_encoding): Expect a resultbuf argument and return the
49138         result directly as a pointer.
49139         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
49140         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
49141         freeing scaled_offsets if mem_iconveha failed.
49142         * lib/unicase/u-casexfrm.h (FUNC): Update.
49143         * lib/uninorm/u-normxfrm.h (FUNC): Update.
49144         * lib/vasnprintf.c (VASNPRINTF): Update.
49145         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
49146         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
49147         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
49148         * NEWS: Mention the change.
49149
49150 2009-04-26  Bruno Haible  <bruno@clisp.org>
49151
49152         Avoid test failures on AIX and OSF/1.
49153         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
49154         malloc(0).
49155         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
49156         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
49157         Likewise.
49158         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
49159         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
49160         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
49161         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
49162         * doc/posix-functions/malloc.texi: Document the portability problem
49163         related to malloc(0).
49164
49165 2009-04-26  Bruno Haible  <bruno@clisp.org>
49166
49167         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
49168         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
49169         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
49170
49171 2009-04-25  Bruno Haible  <bruno@clisp.org>
49172
49173         Avoid link error when creating a namespace clean library.
49174         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
49175         as macro with arguments if already defined as an alias.
49176         * lib/signbitf.c (gl_signbitf): Don't undefine.
49177         * lib/signbitd.c (gl_signbitd): Don't undefine.
49178         * lib/signbitl.c (gl_signbitl): Don't undefine.
49179
49180 2009-04-25  Jim Meyering  <meyering@redhat.com>
49181
49182         vc-list-files: fix another quoting bug
49183         * build-aux/vc-list-files: Avoid sed backslash expansion
49184         of pathological directory names.
49185
49186 2009-04-25  Eric Blake  <ebb9@byu.net>
49187
49188         vc-list-files: fix shell quoting error
49189         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
49190         timestamp.
49191
49192 2009-04-25  Jim Meyering  <meyering@redhat.com>
49193
49194         vc-list-files: restore lost functionality with subdir argument
49195         * build-aux/vc-list-files: When given a non-"." sub-directory
49196         argument, substitute the $dir/ prefix back onto each resulting name.
49197         Otherwise, coreutils' root_tests check would fail.
49198
49199 2009-04-24  Eric Blake  <ebb9@byu.net>
49200
49201         vc-list-files: ignore git symlinks
49202         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
49203         than ls-files, to ignore git symlinks.
49204
49205         maint.mk: import improvements from m4
49206         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
49207         (move_if_change): Delete unused macro.
49208         (news-date-check, vc-diff-check): Support VPATH builds.
49209         (announcement): Likewise.  Split --bootstrap-tools list...
49210         (boostrap-tools): ...into separate list, which can be overridden
49211         in cfg.mk.
49212         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
49213         requiring dependency on useless-if-before-free module.
49214         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
49215         Support VPATH builds.
49216
49217 2009-04-24  Jim Meyering  <meyering@redhat.com>
49218
49219         maint.mk: remove coreutils-specific rules and variables
49220         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
49221         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
49222         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
49223
49224         maint.mk: remove obsolete rule
49225         * top/maint.mk (rel-check): Remove rule.
49226         (WGET, WGETFLAGS): Remove now-unused variables.
49227
49228 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49229
49230         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
49231         consistency.
49232
49233         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
49234         '$(PATH_SEPARATOR)' instead of ':'.
49235
49236 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49237
49238         * lib/getopt1.c (main): Use 'const' for static array.
49239
49240 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49241
49242         * top/maint.mk: Sync with coreutils.
49243         * NEWS: Explain incompatibilities.
49244
49245 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49246             Bruno Haible  <bruno@clisp.org>
49247
49248         Fix cross-compilation results.
49249         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
49250         statement, as third argument of AC_TRY_RUN.
49251         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
49252         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
49253         Likewise.
49254         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
49255         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
49256         Likewise.
49257         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49258         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
49259         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
49260
49261 2009-04-20  Bruno Haible  <bruno@clisp.org>
49262
49263         Avoid test failure on mingw.
49264         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
49265
49266 2009-04-20  Bruno Haible  <bruno@clisp.org>
49267
49268         Avoid compilation error on mingw.
49269         * modules/localename-tests (Depends-on): Add locale.
49270
49271 2009-04-19  Bruno Haible  <bruno@clisp.org>
49272
49273         Support for building a shared library on Windows platforms.
49274         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
49275         (main): Test the presence of UNINORM_NFC here.
49276         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
49277         (main): Test the presence of UNINORM_NFD here.
49278         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
49279         (main): Test the presence of UNINORM_NFKC here.
49280         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
49281         (main): Test the presence of UNINORM_NFKD here.
49282
49283 2009-04-19  Bruno Haible  <bruno@clisp.org>
49284
49285         Avoid a compiler warning.
49286         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
49287         Change type of variable 'sequence'.
49288
49289 2009-04-19  Bruno Haible  <bruno@clisp.org>
49290
49291         * modules/configmake (Makefile.am): When the contents of configmake.h
49292         does not change, arrange to preserve its modification time.
49293
49294 2009-04-17  Simon Josefsson  <simon@josefsson.org>
49295
49296         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
49297         gettext domain.
49298
49299 2009-04-16  Jim Meyering  <meyering@redhat.com>
49300
49301         useless-if-before-free: improve conversion code
49302         * build-aux/useless-if-before-free: Adjust code-in-comment to match
49303         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
49304
49305 2009-04-14  Bruno Haible  <bruno@clisp.org>
49306
49307         * modules/fcntl (Depends-on): Add extensions.
49308         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
49309
49310 2009-04-12  Ben Pfaff  <blp@gnu.org>
49311
49312         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
49313         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
49314
49315 2009-03-20  Ben Pfaff  <blp@gnu.org>
49316
49317         Make rename replace existing destinations on Windows.
49318         * m4/rename.m4: Add test for Mingw.
49319         * lib/rename.c: Add rename replacement that uses MoveFileEx with
49320         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
49321         * doc/posix-functions/rename.texi: Document.
49322
49323 2009-04-10  Bruno Haible  <bruno@clisp.org>
49324
49325         New include file "iconveh.h".
49326         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
49327         * lib/striconveh.h: Include it.
49328         (enum iconv_ilseq_handler): Remove definition.
49329         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
49330         striconveh.h.
49331         * lib/striconveha.c: Include striconveh.h.
49332         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
49333         * modules/striconveh (Files): Add lib/iconveh.h.
49334         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
49335         lib/striconveh.h.
49336
49337 2009-04-10  Bruno Haible  <bruno@clisp.org>
49338
49339         * lib/uniconv.h: Update comment.
49340
49341 2009-04-10  Bruno Haible  <bruno@clisp.org>
49342
49343         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
49344         always.
49345         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
49346         * lib/unistr/u16-mbtouc-aux.c: Likewise.
49347         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
49348         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
49349         "unistring-notinline.h", so that the function gets defined always.
49350         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
49351         * lib/unistr/u8-uctomb.c: Likewise.
49352         * lib/unistr/u16-mbtouc.c: Likewise.
49353         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
49354         * lib/unistr/u16-uctomb.c: Likewise.
49355         * lib/unistr/u32-mbtouc.c: Likewise.
49356         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
49357         * lib/unistr/u32-uctomb.c: Likewise.
49358
49359 2009-04-10  Bruno Haible  <bruno@clisp.org>
49360
49361         Mark 'utime' obsolete.
49362         * modules/utime (Status, Notice): New sections.
49363         Suggested by Jim Meyering.
49364
49365         Fix cross-compile guess for utime test.
49366         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
49367         autoconf.
49368         * doc/posix-functions/utime.texi: Give more precisions.
49369         Reported by Jan <ipif@ymail.com>.
49370
49371 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
49372
49373         filevercmp: correct today's change
49374         * lib/filevercmp.c: Also handle coreutils' test inputs.
49375         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
49376
49377         Fix regression in 'filevercmp' module. Thanks Sven Joachim
49378         for reporting it.
49379         * lib/filevercmp.c: Special handle for "", "." and "..".
49380         * tests/test-filevercmp.c: Enlarge the set suite.
49381
49382 2009-04-07  Jim Meyering  <meyering@redhat.com>
49383
49384         useless-if-before-free: show how to remove braced useless free, too
49385         * build-aux/useless-if-before-free: still only in a comment, though.
49386
49387 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
49388
49389         maint.mk: import changes to syntax-check macros from coreutils
49390         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
49391         Use them in the relevant macros.
49392
49393 2009-04-06  Bruno Haible  <bruno@clisp.org>
49394
49395         Fix unportable use of bit-fields.
49396         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
49397         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
49398         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
49399
49400 2009-04-06  Bruno Haible  <bruno@clisp.org>
49401
49402         Avoid test failures on AIX and OSF/1.
49403         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
49404         that malloc(0) = NULL.
49405         * tests/unicase/test-u8-tolower.c (check): Likewise.
49406         * tests/unicase/test-u8-totitle.c (check): Likewise.
49407         * tests/unicase/test-u8-toupper.c (check): Likewise.
49408         * tests/unicase/test-u16-casefold.c (check): Likewise.
49409         * tests/unicase/test-u16-tolower.c (check): Likewise.
49410         * tests/unicase/test-u16-totitle.c (check): Likewise.
49411         * tests/unicase/test-u16-toupper.c (check): Likewise.
49412         * tests/unicase/test-u32-casefold.c (check): Likewise.
49413         * tests/unicase/test-u32-tolower.c (check): Likewise.
49414         * tests/unicase/test-u32-totitle.c (check): Likewise.
49415         * tests/unicase/test-u32-toupper.c (check): Likewise.
49416         * tests/uninorm/test-u8-nfc.c (check): Likewise.
49417         * tests/uninorm/test-u8-nfd.c (check): Likewise.
49418         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
49419         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
49420         * tests/uninorm/test-u16-nfc.c (check): Likewise.
49421         * tests/uninorm/test-u16-nfd.c (check): Likewise.
49422         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
49423         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
49424         * tests/uninorm/test-u32-nfc.c (check): Likewise.
49425         * tests/uninorm/test-u32-nfd.c (check): Likewise.
49426         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
49427         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
49428
49429 2009-04-05  Bruno Haible  <bruno@clisp.org>
49430
49431         Work around an autoconf limitation.
49432         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
49433         comment line if it would be longer than 3 KB.
49434
49435 2009-04-05  Bruno Haible  <bruno@clisp.org>
49436
49437         Avoid test failure with libiconv-1.13.
49438         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
49439         of the expected test results.
49440
49441 2009-04-05  Bruno Haible  <bruno@clisp.org>
49442
49443         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
49444         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
49445         that it should be installed.
49446
49447 2009-04-05  Bruno Haible  <bruno@clisp.org>
49448
49449         * gnulib-tool: New option --copy-file.
49450         (func_usage): Document it.
49451         (func_dest_tmpfilename): Moved out of func_import.
49452         (func_add_file, func_update_file): New functions, extracted from
49453         func_import.
49454         (func_import): Update.
49455
49456 2009-04-05  Karl Berry  <karl@gnu.org>
49457
49458         * README: prominently mention gnulib-tool.
49459         Rearrange sections so getting the code is near the top.
49460
49461 2009-04-05  Bruno Haible  <bruno@clisp.org>
49462
49463         * lib/unicase.h: Mention u*_cmp2.
49464         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49465         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
49466         * lib/unicase/ulc-casecmp.c: Likewise.
49467         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
49468         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
49469         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
49470         unistr/u8-cmp.
49471         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
49472         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
49473         unistr/u16-cmp.
49474         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
49475         unistr/u32-cmp.
49476
49477         * lib/uninorm.h: Mention u*_cmp2.
49478         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49479         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
49480         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
49481         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
49482         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
49483         unistr/u8-cmp.
49484         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
49485         unistr/u16-cmp.
49486         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
49487         unistr/u32-cmp.
49488
49489         New module 'unistr/u32-cmp2'.
49490         * lib/unistr/u32-cmp2.c: New file.
49491         * modules/unistr/u32-cmp2: New file.
49492
49493         New module 'unistr/u16-cmp2'.
49494         * lib/unistr/u16-cmp2.c: New file.
49495         * modules/unistr/u16-cmp2: New file.
49496
49497         New module 'unistr/u8-cmp2'.
49498         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
49499         * lib/unistr/u8-cmp2.c: New file.
49500         * lib/unistr/u-cmp2.h: New file.
49501         * modules/unistr/u8-cmp2: New file.
49502
49503 2009-04-05  Bruno Haible  <bruno@clisp.org>
49504
49505         * lib/unictype.h (uc_property_is_valid): New macro.
49506         * tests/unictype/test-pr_byname.c (main): Use it.
49507
49508         * lib/unistr.h: Doc fixes.
49509         * lib/uniconv.h: Doc fixes.
49510         * lib/unictype.h: Doc fixes.
49511
49512 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
49513
49514         Port coreutils 7.2 to Solaris 8.
49515
49516         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
49517         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
49518         for Solaris 8.  This is a bit of a hack, as it means it's the
49519         caller's responsibility to add -lnsl if needed, but most likely it
49520         won't be needed since only getaddrinfo uses this and getaddrinfo
49521         isn't needed on Solaris 8.
49522
49523         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
49524         problem to Solaris 8 encountered with coreutils 7.2, which
49525         resulted in a message "fnmatch.c:292: warning: passing argument 4
49526         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
49527         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
49528
49529 2009-04-03  Simon Josefsson  <simon@josefsson.org>
49530
49531         * m4/ld-version-script.m4: Add FIXME comment.
49532
49533 2009-04-02  Simon Josefsson  <simon@josefsson.org>
49534
49535         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
49536         SOVERSION variable.
49537
49538 2009-04-02  Bruno Haible  <bruno@clisp.org>
49539
49540         * Makefile (info, html, dvi, pdf): Combine the rules.
49541         Suggested by Jim Meyering.
49542
49543 2009-04-01  Bruno Haible  <bruno@clisp.org>
49544
49545         * Makefile (info, html, dvi, pdf): New targets.
49546         Reported by Reuben Thomas <rrt@sc3d.org>.
49547
49548 2009-04-01  Bruno Haible  <bruno@clisp.org>
49549
49550         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
49551         can be put into PATH.
49552         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
49553
49554 2009-04-01  Bruno Haible  <bruno@clisp.org>
49555
49556         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
49557
49558 2009-04-01  Bruno Haible  <bruno@clisp.org>
49559
49560         Rename module 'visibility'.
49561         * modules/lib-symbol-visibility: Renamed from modules/visibility.
49562         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
49563         * doc/gnulib.texi: Update.
49564         * MODULES.html.sh (Misc): Update.
49565         * NEWS: Mention the change.
49566
49567 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49568
49569         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
49570         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
49571         Eric Blake <ebb9@byu.net> for review.
49572         * MODULES.html.sh: Add lib-msvc-compat.
49573         * doc/gnulib.texi: Link to new section.
49574         * m4/ld-output-def.m4: New file.
49575         * doc/ld-output-def.texi: New file.
49576
49577 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49578
49579         Rename ld-version-script to lib-symbol-versions.  Suggested by
49580         Bruno Haible <bruno@clisp.org>.
49581         * modules/ld-version-script: Renamed to lib-symbol-versions.
49582         * doc/ld-version-script.texi: Fix module name.
49583         * MODULES.html.sh: Add lib-symbol-versions.
49584
49585 2009-03-31  Simon Josefsson  <simon@josefsson.org>
49586
49587         * modules/u64-tests: New file.
49588         * tests/test-u64.c: New file.
49589
49590 2009-03-04  Simon Josefsson  <simon@josefsson.org>
49591
49592         * MODULES.html.sh: Mention u64.
49593         * modules/u64: New module.
49594         * modules/crypto/sha512: Depend on u64 module instead of providing
49595         u64.h.
49596
49597 2009-03-27  Eric Blake  <ebb9@byu.net>
49598
49599         test-strerror: make debugging EAI_SYSTEM easier
49600         * modules/getaddrinfo-tests (Depends-on): Add strerror.
49601         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
49602         failure was EAI_SYSTEM.
49603
49604 2009-03-25  Bruno Haible  <bruno@clisp.org>
49605
49606         Fix a problem with --enable-relocatable on Solaris 7.
49607         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
49608         since 2008-02-24.
49609
49610 2009-03-25  Eric Blake  <ebb9@byu.net>
49611
49612         test-sockets: avoid gcc warning
49613         * tests/test-sockets.c (main): Silence compiler warning.
49614
49615 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
49616
49617         New modules nproc, pthread, contributed by Glen Lenker.
49618
49619         * MODULES.html.sh: Add pthread, nproc.
49620         * lib/nproc.c: New file.
49621         * lib/nproc.h: New file.
49622         * lib/pthread.in.h: New file.
49623         * m4/pthread.m4: New file.
49624         * modules/nproc: New file.
49625         * modules/pthread: New file.
49626
49627 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49628
49629         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
49630         New variable.
49631
49632 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
49633
49634         filevercmp: handle simple~ and numbered.~3~ backup suffixes
49635         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
49636         * tests/test-filevercmp.c: Add tests for backup suffixes.
49637
49638 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49639
49640         * modules/stdlib (Depends-on): Add stdint, needed when defining
49641         struct random_data on, for example, HP-UX 10.20.  Reported by
49642         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49643
49644 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49645
49646         * lib/readline.c (readline): Call fflush on stdout after printing
49647         prompt.
49648
49649 2009-03-20  Bruno Haible  <bruno@clisp.org>
49650
49651         Remove dependency from 'close' module to -lws2_32 on native Windows.
49652         * lib/close-hook.h: New file.
49653         * lib/close-hook.c: New file.
49654         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
49655         w32sock.h.
49656         (_gl_close_fd_maybe_socket): Remove function.
49657         (rpl_close): Invoke execute_all_close_hooks instead of
49658         _gl_close_fd_maybe_socket.
49659         * lib/sockets.c: Include close-hook.h, w32sock.h.
49660         (close_fd_maybe_socket): New function, essentially from lib/close.c.
49661         (close_sockets_hook): New variable.
49662         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
49663         (gl_sockets_cleanup): Unregister it.
49664         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
49665         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
49666         * modules/close-hook: New file.
49667         * modules/close (Files): Remove lib/w32sock.h.
49668         (Depends-on): Add close-hook.
49669         (Link): Remove section.
49670         * modules/sockets (Files): Add lib/w32sock.h.
49671         (Depends-on): Add close-hook.
49672         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
49673         invocation.
49674         * NEWS: Mention that LIB_CLOSE is gone.
49675
49676 2009-03-23  Eric Blake  <ebb9@byu.net>
49677
49678         signal-tests: test previous patch
49679         * tests/test-signal.c: New file.
49680         * modules/signal-tests: Likewise.
49681
49682         signal.h: always support 'volatile sig_atomic_t'
49683         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
49684         (gl_SIGNAL_H_DEFAULTS): Add a default.
49685         * modules/signal (Makefile.am): Substitute if needed.
49686         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
49687         users can blindly add volatile.
49688         * doc/posix-headers/signal.texi (signal.h): Document it.
49689         Reported by Matthew Woehlke.
49690
49691 2009-03-23  Jim Meyering  <meyering@redhat.com>
49692
49693         pathmax: PATH_MAX: use pathconf only when available
49694         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
49695         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
49696         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
49697         This avoids a link failure in a PSP cross-compilation environment
49698         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
49699
49700         * lib/vasnprintf.c (divide): Fix typo in comment.
49701
49702 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49703
49704         * gnulib-tool (func_filter_filelist): Fix comment.
49705
49706 2009-03-20  Bruno Haible  <bruno@clisp.org>
49707
49708         Make sockets.h self-contained.
49709         * lib/sockets.c: Include sockets.h first.
49710         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
49711
49712 2009-03-19  Eric Blake  <ebb9@byu.net>
49713
49714         doc: mention more functions added in cygwin 1.7.0
49715         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
49716         addition.
49717         * doc/posix-functions/log2f.texi: Likewise.
49718
49719 2009-03-19  Jim Meyering  <meyering@redhat.com>
49720
49721         fsusage: avoid syntax error due to statement-before-declaration
49722         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
49723         after all declarations.  Reported by Matthew Woehlke in
49724         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
49725
49726 2009-03-18  Eric Blake  <ebb9@byu.net>
49727
49728         build-aux/compile: sync from automake
49729         * build-aux/compile: New file, from automake.
49730         * config/srclist.txt: Mention build-aux/compile.
49731
49732 2009-03-17  Bruno Haible  <bruno@clisp.org>
49733
49734         * lib/git-merge-changelog.c: Fix typo in comment.
49735         Reported by Reuben Thomas <rrt@sc3d.org>.
49736
49737 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
49738
49739         * m4/regex.m4: update and improve help for
49740         --without-included-regex.
49741
49742 2009-03-17  Simon Josefsson  <simon@josefsson.org>
49743
49744         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
49745         failure on missing include files.
49746
49747 2009-03-17  Eric Blake  <ebb9@byu.net>
49748
49749         doc: mention more functions added in cygwin 1.7.0
49750         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
49751         addition.
49752         * doc/posix-functions/fwscanf.texi: Likewise.
49753         * doc/posix-functions/swprintf.texi: Likewise.
49754         * doc/posix-functions/swscanf.texi: Likewise.
49755         * doc/posix-functions/vfwprintf.texi: Likewise.
49756         * doc/posix-functions/vfwscanf.texi: Likewise.
49757         * doc/posix-functions/vswprintf.texi: Likewise.
49758         * doc/posix-functions/vswscanf.texi: Likewise.
49759         * doc/posix-functions/vwprintf.texi: Likewise.
49760         * doc/posix-functions/vwscanf.texi: Likewise.
49761         * doc/posix-functions/wcscasecmp.texi: Likewise.
49762         * doc/posix-functions/wcsdup.texi: Likewise.
49763         * doc/posix-functions/wcsftime.texi: Likewise.
49764         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49765         * doc/posix-functions/wprintf.texi: Likewise.
49766         * doc/posix-functions/wscanf.texi: Likewise.
49767         * doc/glibc-functions/gethostbyname2.texi: Likewise.
49768
49769 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49770
49771         maint.mk: really add $(AM_MAKEFLAGS)
49772         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
49773         was inadvertently omitted in the last commit.
49774         Spotted by Bruno Haible.
49775
49776         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
49777         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
49778         $(AM_MAKEFLAGS)' rather than plain `make'.
49779
49780         gnulib-tool: execute $MAKE not make
49781         * gnulib-tool: Default $MAKE to 'make'.
49782         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
49783         than make.  Initialize $MAKE in the do-autobuild script.
49784
49785         gnulib-tool: use $MAKE not make in generated files
49786         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
49787         make, in generated files.  Initialize $MAKE in the do-autobuild
49788         script.
49789
49790         * top/GNUmakefile (_have-git-version-gen): Fix typo.
49791
49792         GNUmakefile: disable parallelism only for multiple, recursive targets
49793         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
49794         additions in the Makefile.
49795         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
49796         by Automake.
49797         (.NOTPARALLEL): Only disable parallel builds if multiple targets
49798         are listed on the command line and at least one of them is
49799         listed in $(ALL_RECURSIVE_TARGETS).
49800
49801 2009-03-14  Bruno Haible  <bruno@clisp.org>
49802
49803         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
49804         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
49805         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
49806         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
49807         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
49808         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
49809         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
49810         unistr/u8-uctomb.
49811         * modules/unistr/u8-strchr (Depends-on): Likewise.
49812         * modules/unistr/u8-strrchr (Depends-on): Likewise.
49813         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
49814         unistr/u16-uctomb.
49815         * modules/unistr/u16-strchr (Depends-on): Likewise.
49816         * modules/unistr/u16-strrchr (Depends-on): Likewise.
49817
49818 2009-03-12  Bruno Haible  <bruno@clisp.org>
49819
49820         Work around select() bug on Interix 3.5.
49821         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
49822         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
49823         * m4/select.m4: New file.
49824         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
49825         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
49826         * modules/select (Files): Add m4/select.m4.
49827         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
49828         * modules/nanosleep (Depends-on): Add select.
49829         * modules/poll (Depends-on): Likewise.
49830         * doc/posix-functions/select.texi: Mention the Interix bug.
49831         Reported by Markus Duft <mduft@gentoo.org>.
49832
49833         * lib/select.c: Renamed from lib/winsock-select.c.
49834         * modules/select (Files): Add lib/select.c, remove
49835         lib/winsock-select.c.
49836         (configure.ac): Update.
49837
49838 2009-03-12  Jim Meyering  <meyering@redhat.com>
49839
49840         avoid gcc warnings about unused macro definitions
49841         * lib/readtokens.c (STREQ): Remove unused definition.
49842         * lib/xmalloc.c (SIZE_MAX): Likewise.
49843         * lib/openat-die.c (N_): Likewise.
49844         * lib/mountlist.c (SIZE_MAX): Remove definition.
49845         Instead, include <stdint.h>.
49846         * lib/readutmp.c: Likewise.
49847         * modules/readutmp (Depends-on): Add stdint.
49848         * modules/mountlist (Depends-on): Add stdint.
49849         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
49850
49851 2009-03-10  Bruno Haible  <bruno@clisp.org>
49852
49853         Tests for module 'mbmemcasecoll'.
49854         * modules/mbmemcasecoll-tests: New file.
49855         * tests/test-mbmemcasecoll1.sh: New file.
49856         * tests/test-mbmemcasecoll2.sh: New file.
49857         * tests/test-mbmemcasecoll3.sh: New file.
49858         * tests/test-mbmemcasecoll.c: New file.
49859
49860         New module 'mbmemcasecoll'.
49861         * lib/mbmemcasecoll.h: New file.
49862         * lib/mbmemcasecoll.c: New file.
49863         * modules/mbmemcasecoll: New file.
49864
49865         * tests/test-mbmemcasecmp.h: New file, extracted from
49866         tests/test-mbmemcasecmp.c.
49867         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
49868         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
49869         (main): Update.
49870         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
49871
49872 2009-03-09  Bruno Haible  <bruno@clisp.org>
49873
49874         Tests for module 'mbmemcasecmp'.
49875         * modules/mbmemcasecmp-tests: New file.
49876         * tests/test-mbmemcasecmp1.sh: New file.
49877         * tests/test-mbmemcasecmp2.sh: New file.
49878         * tests/test-mbmemcasecmp3.sh: New file.
49879         * tests/test-mbmemcasecmp.c: New file.
49880
49881         New module 'mbmemcasecmp'.
49882         * lib/mbmemcasecmp.h: New file.
49883         * lib/mbmemcasecmp.c: New file.
49884         * modules/mbmemcasecmp: New file.
49885
49886 2009-03-09  Bruno Haible  <bruno@clisp.org>
49887
49888         Tests for module 'unicase/ulc-casecoll'.
49889         * modules/unicase/ulc-casecoll-tests: New file.
49890         * tests/unicase/test-ulc-casecoll1.sh: New file.
49891         * tests/unicase/test-ulc-casecoll2.sh: New file.
49892         * tests/unicase/test-ulc-casecoll.c: New file.
49893
49894         New module 'unicase/ulc-casecoll'.
49895         * lib/unicase.h (ulc_casecoll): New declaration.
49896         * lib/unicase/ulc-casecoll.c: New file.
49897         * modules/unicase/ulc-casecoll: New file.
49898
49899         New module 'unicase/ulc-casexfrm'.
49900         * lib/unicase.h (ulc_casexfrm): New declaration.
49901         * lib/unicase/ulc-casexfrm.c: New file.
49902         * modules/unicase/ulc-casexfrm: New file.
49903
49904 2009-03-09  Bruno Haible  <bruno@clisp.org>
49905
49906         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
49907         invocations.
49908
49909         * m4/mbscasecmp.m4: Remove file.
49910         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
49911         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
49912
49913         * m4/mbscasestr.m4: Remove file.
49914         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
49915         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
49916
49917         * m4/mbschr.m4: Remove file.
49918         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
49919         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
49920
49921         * m4/mbscspn.m4: Remove file.
49922         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
49923         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
49924
49925         * m4/mbslen.m4: Remove file.
49926         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
49927         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
49928
49929         * m4/mbsncasecmp.m4: Remove file.
49930         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
49931         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
49932
49933         * m4/mbsnlen.m4: Remove file.
49934         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
49935         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
49936
49937         * m4/mbspbrk.m4: Remove file.
49938         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
49939         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
49940
49941         * m4/mbspcasecmp.m4: Remove file.
49942         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
49943         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
49944
49945         * m4/mbsrchr.m4: Remove file.
49946         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
49947         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
49948
49949         * m4/mbssep.m4: Remove file.
49950         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
49951         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
49952
49953         * m4/mbsspn.m4: Remove file.
49954         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
49955         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
49956
49957         * m4/mbsstr.m4: Remove file.
49958         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
49959         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
49960
49961         * m4/mbstok_r.m4: Remove file.
49962         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
49963         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
49964
49965         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
49966
49967         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
49968         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
49969
49970         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
49971
49972 2009-03-08  Bruno Haible  <bruno@clisp.org>
49973
49974         Tests for module 'unicase/ulc-casecmp'.
49975         * modules/unicase/ulc-casecmp-tests: New file.
49976         * tests/unicase/test-ulc-casecmp1.sh: New file.
49977         * tests/unicase/test-ulc-casecmp2.sh: New file.
49978         * tests/unicase/test-ulc-casecmp.c: New file.
49979
49980         New module 'unicase/ulc-casecmp'.
49981         * lib/unicase.h (ulc_casecmp): New declaration.
49982         * lib/unicase/ulc-casecmp.c: New file.
49983         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
49984         'const SRC_UNIT *'.
49985         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
49986         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
49987         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
49988         * modules/unicase/ulc-casecmp: New file.
49989
49990         Tests for module 'unicase/u32-is-cased'.
49991         * modules/unicase/u32-is-cased-tests: New file.
49992         * tests/unicase/test-u32-is-cased.c: New file.
49993
49994         Tests for module 'unicase/u16-is-cased'.
49995         * modules/unicase/u16-is-cased-tests: New file.
49996         * tests/unicase/test-u16-is-cased.c: New file.
49997
49998         Tests for module 'unicase/u8-is-cased'.
49999         * modules/unicase/u8-is-cased-tests: New file.
50000         * tests/unicase/test-u8-is-cased.c: New file.
50001         * tests/unicase/test-is-cased.h: New file.
50002
50003         New module 'unicase/u32-is-cased'.
50004         * lib/unicase/u32-is-cased.c: New file.
50005         * modules/unicase/u32-is-cased: New file.
50006
50007         New module 'unicase/u16-is-cased'.
50008         * lib/unicase/u16-is-cased.c: New file.
50009         * modules/unicase/u16-is-cased: New file.
50010
50011         New module 'unicase/u8-is-cased'.
50012         * lib/unicase/u8-is-cased.c: New file.
50013         * lib/unicase/u-is-cased.h: New file.
50014         * modules/unicase/u8-is-cased: New file.
50015
50016         Tests for module 'unicase/u32-is-casefolded'.
50017         * modules/unicase/u32-is-casefolded-tests: New file.
50018         * tests/unicase/test-u32-is-casefolded.c: New file.
50019
50020         Tests for module 'unicase/u16-is-casefolded'.
50021         * modules/unicase/u16-is-casefolded-tests: New file.
50022         * tests/unicase/test-u16-is-casefolded.c: New file.
50023
50024         Tests for module 'unicase/u8-is-casefolded'.
50025         * modules/unicase/u8-is-casefolded-tests: New file.
50026         * tests/unicase/test-u8-is-casefolded.c: New file.
50027         * tests/unicase/test-is-casefolded.h: New file.
50028
50029         New module 'unicase/u32-is-casefolded'.
50030         * lib/unicase/u32-is-casefolded.c: New file.
50031         * modules/unicase/u32-is-casefolded: New file.
50032
50033         New module 'unicase/u16-is-casefolded'.
50034         * lib/unicase/u16-is-casefolded.c: New file.
50035         * modules/unicase/u16-is-casefolded: New file.
50036
50037         New module 'unicase/u8-is-casefolded'.
50038         * lib/unicase/u8-is-casefolded.c: New file.
50039         * modules/unicase/u8-is-casefolded: New file.
50040
50041         Tests for module 'unicase/u32-is-titlecase'.
50042         * modules/unicase/u32-is-titlecase-tests: New file.
50043         * tests/unicase/test-u32-is-titlecase.c: New file.
50044
50045         Tests for module 'unicase/u16-is-titlecase'.
50046         * modules/unicase/u16-is-titlecase-tests: New file.
50047         * tests/unicase/test-u16-is-titlecase.c: New file.
50048
50049         Tests for module 'unicase/u8-is-titlecase'.
50050         * modules/unicase/u8-is-titlecase-tests: New file.
50051         * tests/unicase/test-u8-is-titlecase.c: New file.
50052         * tests/unicase/test-is-titlecase.h: New file.
50053
50054         New module 'unicase/u32-is-titlecase'.
50055         * lib/unicase/u32-is-titlecase.c: New file.
50056         * modules/unicase/u32-is-titlecase: New file.
50057
50058         New module 'unicase/u16-is-titlecase'.
50059         * lib/unicase/u16-is-titlecase.c: New file.
50060         * modules/unicase/u16-is-titlecase: New file.
50061
50062         New module 'unicase/u8-is-titlecase'.
50063         * lib/unicase/u8-is-titlecase.c: New file.
50064         * modules/unicase/u8-is-titlecase: New file.
50065
50066         Tests for module 'unicase/u32-is-lowercase'.
50067         * modules/unicase/u32-is-lowercase-tests: New file.
50068         * tests/unicase/test-u32-is-lowercase.c: New file.
50069
50070         Tests for module 'unicase/u16-is-lowercase'.
50071         * modules/unicase/u16-is-lowercase-tests: New file.
50072         * tests/unicase/test-u16-is-lowercase.c: New file.
50073
50074         Tests for module 'unicase/u8-is-lowercase'.
50075         * modules/unicase/u8-is-lowercase-tests: New file.
50076         * tests/unicase/test-u8-is-lowercase.c: New file.
50077         * tests/unicase/test-is-lowercase.h: New file.
50078
50079         New module 'unicase/u32-is-lowercase'.
50080         * lib/unicase/u32-is-lowercase.c: New file.
50081         * modules/unicase/u32-is-lowercase: New file.
50082
50083         New module 'unicase/u16-is-lowercase'.
50084         * lib/unicase/u16-is-lowercase.c: New file.
50085         * modules/unicase/u16-is-lowercase: New file.
50086
50087         New module 'unicase/u8-is-lowercase'.
50088         * lib/unicase/u8-is-lowercase.c: New file.
50089         * modules/unicase/u8-is-lowercase: New file.
50090
50091         Tests for module 'unicase/u32-is-uppercase'.
50092         * modules/unicase/u32-is-uppercase-tests: New file.
50093         * tests/unicase/test-u32-is-uppercase.c: New file.
50094
50095         Tests for module 'unicase/u16-is-uppercase'.
50096         * modules/unicase/u16-is-uppercase-tests: New file.
50097         * tests/unicase/test-u16-is-uppercase.c: New file.
50098
50099         Tests for module 'unicase/u8-is-uppercase'.
50100         * modules/unicase/u8-is-uppercase-tests: New file.
50101         * tests/unicase/test-u8-is-uppercase.c: New file.
50102         * tests/unicase/test-is-uppercase.h: New file.
50103
50104         New module 'unicase/u32-is-uppercase'.
50105         * lib/unicase/u32-is-uppercase.c: New file.
50106         * modules/unicase/u32-is-uppercase: New file.
50107
50108         New module 'unicase/u16-is-uppercase'.
50109         * lib/unicase/u16-is-uppercase.c: New file.
50110         * modules/unicase/u16-is-uppercase: New file.
50111
50112         New module 'unicase/u8-is-uppercase'.
50113         * lib/unicase/u8-is-uppercase.c: New file.
50114         * modules/unicase/u8-is-uppercase: New file.
50115
50116         New module 'unicase/u32-is-invariant'.
50117         * lib/unicase/u32-is-invariant.c: New file.
50118         * modules/unicase/u32-is-invariant: New file.
50119
50120         New module 'unicase/u16-is-invariant'.
50121         * lib/unicase/u16-is-invariant.c: New file.
50122         * modules/unicase/u16-is-invariant: New file.
50123
50124         New module 'unicase/u8-is-invariant'.
50125         * lib/unicase/u8-is-invariant.c: New file.
50126         * lib/unicase/invariant.h: New file.
50127         * lib/unicase/u-is-invariant.h: New file.
50128         * modules/unicase/u8-is-invariant: New file.
50129
50130         Tests for module 'unicase/u32-casecoll'.
50131         * modules/unicase/u32-casecoll-tests: New file.
50132         * tests/unicase/test-u32-casecoll.c: New file.
50133
50134         Tests for module 'unicase/u16-casecoll'.
50135         * modules/unicase/u16-casecoll-tests: New file.
50136         * tests/unicase/test-u16-casecoll.c: New file.
50137
50138         Tests for module 'unicase/u8-casecoll'.
50139         * modules/unicase/u8-casecoll-tests: New file.
50140         * tests/unicase/test-u8-casecoll.c: New file.
50141
50142         New module 'unicase/u32-casecoll'.
50143         * lib/unicase/u32-casecoll.c: New file.
50144         * modules/unicase/u32-casecoll: New file.
50145
50146         New module 'unicase/u16-casecoll'.
50147         * lib/unicase/u16-casecoll.c: New file.
50148         * modules/unicase/u16-casecoll: New file.
50149
50150         New module 'unicase/u8-casecoll'.
50151         * lib/unicase/u8-casecoll.c: New file.
50152         * lib/unicase/u-casecoll.h: New file.
50153         * modules/unicase/u8-casecoll: New file.
50154
50155         New module 'unicase/u32-casexfrm'.
50156         * lib/unicase/u32-casexfrm.c: New file.
50157         * modules/unicase/u32-casexfrm: New file.
50158
50159         New module 'unicase/u16-casexfrm'.
50160         * lib/unicase/u16-casexfrm.c: New file.
50161         * modules/unicase/u16-casexfrm: New file.
50162
50163         New module 'unicase/u8-casexfrm'.
50164         * lib/unicase/u8-casexfrm.c: New file.
50165         * lib/unicase/u-casexfrm.h: New file.
50166         * modules/unicase/u8-casexfrm: New file.
50167
50168         Tests for module 'unicase/u32-casecmp'.
50169         * modules/unicase/u32-casecmp-tests: New file.
50170         * tests/unicase/test-u32-casecmp.c: New file.
50171
50172         Tests for module 'unicase/u16-casecmp'.
50173         * modules/unicase/u16-casecmp-tests: New file.
50174         * tests/unicase/test-u16-casecmp.c: New file.
50175
50176         Tests for module 'unicase/u8-casecmp'.
50177         * modules/unicase/u8-casecmp-tests: New file.
50178         * tests/unicase/test-u8-casecmp.c: New file.
50179         * tests/unicase/test-casecmp.h: New file.
50180
50181         New module 'unicase/u32-casecmp'.
50182         * lib/unicase/u32-casecmp.c: New file.
50183         * modules/unicase/u32-casecmp: New file.
50184
50185         New module 'unicase/u16-casecmp'.
50186         * lib/unicase/u16-casecmp.c: New file.
50187         * modules/unicase/u16-casecmp: New file.
50188
50189         New module 'unicase/u8-casecmp'.
50190         * lib/unicase/u8-casecmp.c: New file.
50191         * lib/unicase/u-casecmp.h: New file.
50192         * modules/unicase/u8-casecmp: New file.
50193
50194         Tests for module 'unicase/u32-casefold'.
50195         * modules/unicase/u32-casefold-tests: New file.
50196         * tests/unicase/test-u32-casefold.c: New file.
50197
50198         Tests for module 'unicase/u16-casefold'.
50199         * modules/unicase/u16-casefold-tests: New file.
50200         * tests/unicase/test-u16-casefold.c: New file.
50201
50202         Tests for module 'unicase/u8-casefold'.
50203         * modules/unicase/u8-casefold-tests: New file.
50204         * tests/unicase/test-u8-casefold.c: New file.
50205
50206         New module 'unicase/u32-casefold'.
50207         * lib/unicase/u32-casefold.c: New file.
50208         * modules/unicase/u32-casefold: New file.
50209
50210         New module 'unicase/u16-casefold'.
50211         * lib/unicase/u16-casefold.c: New file.
50212         * modules/unicase/u16-casefold: New file.
50213
50214         New module 'unicase/u8-casefold'.
50215         * lib/unicase/u8-casefold.c: New file.
50216         * lib/unicase/u-casefold.h: New file.
50217         * modules/unicase/u8-casefold: New file.
50218
50219         New module 'unicase/tocasefold'.
50220         * lib/unicase/casefold.h: New file.
50221         * lib/unicase/tocasefold.c: New file.
50222         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
50223         * modules/unicase/tocasefold: New file.
50224
50225         Tests for module 'unicase/u32-totitle'.
50226         * modules/unicase/u32-totitle-tests: New file.
50227         * tests/unicase/test-u32-totitle.c: New file.
50228
50229         Tests for module 'unicase/u16-totitle'.
50230         * modules/unicase/u16-totitle-tests: New file.
50231         * tests/unicase/test-u16-totitle.c: New file.
50232
50233         Tests for module 'unicase/u8-totitle'.
50234         * modules/unicase/u8-totitle-tests: New file.
50235         * tests/unicase/test-u8-totitle.c: New file.
50236
50237         New module 'unicase/u32-totitle'.
50238         * lib/unicase/u32-totitle.c: New file.
50239         * modules/unicase/u32-totitle: New file.
50240
50241         New module 'unicase/u16-totitle'.
50242         * lib/unicase/u16-totitle.c: New file.
50243         * modules/unicase/u16-totitle: New file.
50244
50245         New module 'unicase/u8-totitle'.
50246         * lib/unicase/u8-totitle.c: New file.
50247         * lib/unicase/u-totitle.h: New file.
50248         * modules/unicase/u8-totitle: New file.
50249
50250         Tests for module 'unicase/u32-tolower'.
50251         * modules/unicase/u32-tolower-tests: New file.
50252         * tests/unicase/test-u32-tolower.c: New file.
50253
50254         Tests for module 'unicase/u16-tolower'.
50255         * modules/unicase/u16-tolower-tests: New file.
50256         * tests/unicase/test-u16-tolower.c: New file.
50257
50258         Tests for module 'unicase/u8-tolower'.
50259         * modules/unicase/u8-tolower-tests: New file.
50260         * tests/unicase/test-u8-tolower.c: New file.
50261
50262         New module 'unicase/u32-tolower'.
50263         * lib/unicase/u32-tolower.c: New file.
50264         * modules/unicase/u32-tolower: New file.
50265
50266         New module 'unicase/u16-tolower'.
50267         * lib/unicase/u16-tolower.c: New file.
50268         * modules/unicase/u16-tolower: New file.
50269
50270         New module 'unicase/u8-tolower'.
50271         * lib/unicase/u8-tolower.c: New file.
50272         * modules/unicase/u8-tolower: New file.
50273
50274         Tests for module 'unicase/u32-toupper'.
50275         * modules/unicase/u32-toupper-tests: New file.
50276         * tests/unicase/test-u32-toupper.c: New file.
50277
50278         Tests for module 'unicase/u16-toupper'.
50279         * modules/unicase/u16-toupper-tests: New file.
50280         * tests/unicase/test-u16-toupper.c: New file.
50281
50282         Tests for module 'unicase/u8-toupper'.
50283         * modules/unicase/u8-toupper-tests: New file.
50284         * tests/unicase/test-u8-toupper.c: New file.
50285
50286         New module 'unicase/u32-toupper'.
50287         * lib/unicase/u32-toupper.c: New file.
50288         * modules/unicase/u32-toupper: New file.
50289
50290         New module 'unicase/u16-toupper'.
50291         * lib/unicase/u16-toupper.c: New file.
50292         * modules/unicase/u16-toupper: New file.
50293
50294         New module 'unicase/u8-toupper'.
50295         * lib/unicase/u8-toupper.c: New file.
50296         * modules/unicase/u8-toupper: New file.
50297
50298         New module 'unicase/u32-casemap'.
50299         * lib/unicase/u32-casemap.c: New file.
50300         * modules/unicase/u32-casemap: New file.
50301
50302         New module 'unicase/u16-casemap'.
50303         * lib/unicase/u16-casemap.c: New file.
50304         * modules/unicase/u16-casemap: New file.
50305
50306         New module 'unicase/u8-casemap'.
50307         * lib/unicase/unicasemap.h: New file.
50308         * lib/unicase/u8-casemap.c: New file.
50309         * lib/unicase/u-casemap.h: New file.
50310         * modules/unicase/u8-casemap: New file.
50311
50312         New module 'unicase/special-casing'.
50313         * lib/unicase/special-casing.h: New file.
50314         * lib/unicase/special-casing.c: New file.
50315         * lib/unicase/special-casing-table.gperf: New file, generated by
50316         gen-uni-tables.c.
50317         * modules/unicase/special-casing: New file.
50318
50319         Tests for module 'unicase/locale-language'.
50320         * modules/unicase/locale-language-tests: New file.
50321         * tests/unicase/test-locale-language.sh: New file.
50322         * tests/unicase/test-locale-language.c: New file.
50323
50324         New module 'unicase/locale-language'.
50325         * lib/unicase/locale-language.c: New file.
50326         * lib/unicase/locale-languages.gperf: New file.
50327         * modules/unicase/locale-language: New file.
50328
50329         Generate more tables for case conversion and case folding.
50330         * lib/gen-uni-tables.c (SCC_*): New enum items.
50331         (struct special_casing_rule): New type.
50332         (casing_rules, num_casing_rules, allocated_casing_rules): New
50333         variables.
50334         (add_casing_rule, fill_casing_rules): New functions.
50335         (struct casefold_rule): New type.
50336         (casefolding_rules, num_casefolding_rules,
50337         allocated_casefolding_rules): New variables.
50338         (fill_casefolding_rules): New function.
50339         (unicode_casefold): New variable.
50340         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
50341         sort_casing_rules, output_casing_rules): New functions.
50342         (main): Accept to more arguments: SpecialCasing.txt and
50343         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
50344         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
50345         Output mapping for casefolding.
50346
50347         * lib/unicase.h: Include stdbool.h, uninorm.h.
50348         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
50349         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
50350         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
50351         arguments.
50352         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
50353         resultp arguments.
50354         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
50355         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
50356         resultp arguments.
50357         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
50358         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
50359         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
50360         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
50361         declarations.
50362         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
50363
50364 2009-03-08  Bruno Haible  <bruno@clisp.org>
50365
50366         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50367         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
50368         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
50369         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50370
50371 2009-03-07  Bruno Haible  <bruno@clisp.org>
50372
50373         Adjust u*_normcmp, u*_normcoll API.
50374         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50375         u16_normcoll, u32_normcoll): Change failure conventions.
50376         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
50377         errno and return -1.
50378         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50379
50380 2009-03-07  Bruno Haible  <bruno@clisp.org>
50381
50382         Tests for module 'uninorm/u32-normcoll'.
50383         * modules/uninorm/u32-normcoll-tests: New file.
50384         * tests/uninorm/test-u32-normcoll.c: New file.
50385
50386         Tests for module 'uninorm/u16-normcoll'.
50387         * modules/uninorm/u16-normcoll-tests: New file.
50388         * tests/uninorm/test-u16-normcoll.c: New file.
50389
50390         Tests for module 'uninorm/u8-normcoll'.
50391         * modules/uninorm/u8-normcoll-tests: New file.
50392         * tests/uninorm/test-u8-normcoll.c: New file.
50393
50394 2009-03-07  Bruno Haible  <bruno@clisp.org>
50395
50396         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
50397         tests/uninorm/test-u32-normcmp.c.
50398         * tests/uninorm/test-u32-normcmp.c: Include it.
50399         (test_nonascii): New function, extracted from main. Add some more
50400         tests.
50401         (main): Invoke test_ascii and test_nonascii.
50402         * modules/uninorm/u32-normcmp-tests (Files): Add
50403         tests/uninorm/test-u32-normcmp.h.
50404         (Depends-on): Remove uninorm/u32-normcmp.
50405
50406         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
50407         tests/uninorm/test-u16-normcmp.c.
50408         * tests/uninorm/test-u16-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/u16-normcmp-tests (Files): Add
50413         tests/uninorm/test-u16-normcmp.h.
50414         (Depends-on): Remove uninorm/u16-normcmp.
50415
50416         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
50417         tests/uninorm/test-u8-normcmp.c.
50418         * tests/uninorm/test-u8-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/u8-normcmp-tests (Files): Add
50423         tests/uninorm/test-u8-normcmp.h.
50424         (Depends-on): Remove uninorm/u8-normcmp.
50425
50426 2009-03-07  Bruno Haible  <bruno@clisp.org>
50427
50428         New module 'uninorm/u32-normcoll'.
50429         * lib/uninorm/u32-normcoll.c: New file.
50430         * modules/uninorm/u32-normcoll: New file.
50431
50432         New module 'uninorm/u16-normcoll'.
50433         * lib/uninorm/u16-normcoll.c: New file.
50434         * modules/uninorm/u16-normcoll: New file.
50435
50436         New module 'uninorm/u8-normcoll'.
50437         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
50438         declarations.
50439         * lib/uninorm/u8-normcoll.c: New file.
50440         * lib/uninorm/u-normcoll.h: New file.
50441         * modules/uninorm/u8-normcoll: New file.
50442
50443         New module 'uninorm/u32-normxfrm'.
50444         * lib/uninorm/u32-normxfrm.c: New file.
50445         * modules/uninorm/u32-normxfrm: New file.
50446
50447         New module 'uninorm/u16-normxfrm'.
50448         * lib/uninorm/u16-normxfrm.c: New file.
50449         * modules/uninorm/u16-normxfrm: New file.
50450
50451         New module 'uninorm/u8-normxfrm'.
50452         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
50453         declarations.
50454         * lib/uninorm/u8-normxfrm.c: New file.
50455         * lib/uninorm/u-normxfrm.h: New file.
50456         * modules/uninorm/u8-normxfrm: New file.
50457
50458 2009-03-07  Bruno Haible  <bruno@clisp.org>
50459
50460         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
50461         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
50462         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
50463
50464 2009-03-07  Bruno Haible  <bruno@clisp.org>
50465
50466         New module 'memxfrm'.
50467         * lib/memxfrm.h: New file.
50468         * lib/memxfrm.c: New file.
50469         * modules/memxfrm: New file.
50470
50471 2009-03-07  Bruno Haible  <bruno@clisp.org>
50472
50473         New module 'memcmp2'.
50474         * lib/memcmp2.h: New file.
50475         * lib/memcmp2.c: New file.
50476         * modules/memcmp2: New file.
50477
50478 2009-03-07  Bruno Haible  <bruno@clisp.org>
50479
50480         Tests for module 'uninorm/decomposing-form'.
50481         * modules/uninorm/decomposing-form-tests: New file.
50482         * tests/uninorm/test-decomposing-form.c: New file.
50483
50484         New module 'uninorm/decomposing-form'.
50485         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
50486         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
50487         Add 'decomposing_variant' field.
50488         * lib/uninorm/decomposing-form.c: New file.
50489         * lib/uninorm/nfc.c (uninorm_nfc): Update.
50490         * lib/uninorm/nfd.c (uninorm_nfd): Update.
50491         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
50492         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
50493         * modules/uninorm/decomposing-form: New file.
50494         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
50495         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
50496
50497 2009-03-07  Bruno Haible  <bruno@clisp.org>
50498
50499         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
50500         strings.
50501
50502 2009-03-06  Bruno Haible  <bruno@clisp.org>
50503
50504         Tests for module 'uninorm/u32-normcmp'.
50505         * tests/uninorm/test-u32-normcmp.c: New file.
50506         * modules/uninorm/u32-normcmp-tests: New file.
50507
50508         Tests for module 'uninorm/u16-normcmp'.
50509         * tests/uninorm/test-u16-normcmp.c: New file.
50510         * modules/uninorm/u16-normcmp-tests: New file.
50511
50512         Tests for module 'uninorm/u8-normcmp'.
50513         * tests/uninorm/test-u8-normcmp.c: New file.
50514         * modules/uninorm/u8-normcmp-tests: New file.
50515
50516         New module 'uninorm/u32-normcmp'.
50517         * lib/uninorm/u32-normcmp.c: New file.
50518         * modules/uninorm/u32-normcmp: New file.
50519
50520         New module 'uninorm/u16-normcmp'.
50521         * lib/uninorm/u16-normcmp.c: New file.
50522         * modules/uninorm/u16-normcmp: New file.
50523
50524         New module 'uninorm/u8-normcmp'.
50525         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
50526         declarations.
50527         * lib/uninorm/u8-normcmp.c: New file.
50528         * lib/uninorm/u-normcmp.h: New file.
50529         * modules/uninorm/u8-normcmp: New file.
50530
50531 2009-03-06  Bruno Haible  <bruno@clisp.org>
50532
50533         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
50534         Reported by Eric Blake.
50535
50536 2009-03-06  Eric Blake  <ebb9@byu.net>
50537             Bruno Haible  <bruno@clisp.org>
50538
50539         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
50540         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
50541         condition.
50542         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50543         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
50544         condition.
50545         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50546
50547 2009-03-06  Eric Blake  <ebb9@byu.net>
50548
50549         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
50550         to avoid compiler warnings.
50551         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
50552
50553 2009-03-05  Bruno Haible  <bruno@clisp.org>
50554
50555         * tests/test-ftell.c (main): Disable test beyond end of file on
50556         FreeMiNT.
50557         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50558
50559 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
50560
50561         * lib/filevercmp.c: Move hidden files up in ordering.
50562         * tests/test-filevercmp.c: Add tests for hidden files.
50563
50564 2009-03-04  Bruno Haible  <bruno@clisp.org>
50565
50566         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
50567         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
50568         AM_CFLAGS.
50569         Reported by Simon Josefsson.
50570
50571 2009-03-03  Bruno Haible  <bruno@clisp.org>
50572
50573         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
50574         Reported by Simon Josefsson.
50575
50576         * doc/ld-version-script.texi: Update node reference.
50577
50578 2009-03-03  Bruno Haible  <bruno@clisp.org>
50579
50580         * modules/visibility (License): Change to 'unlimited'.
50581         Suggested by Simon Josefsson.
50582
50583 2009-03-03  Jim Meyering  <meyering@redhat.com>
50584
50585         unlinkdir: cannot_unlink_dir may modify process state
50586         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
50587         it's neither thread-safe nor appropriate for use in a library.
50588
50589 2009-03-03  Eric Blake  <ebb9@byu.net>
50590
50591         test-closein: silence test under Darwin
50592         * tests/test-closein.sh: Ignore stderr from cat, since we don't
50593         care if it dies from EPIPE or EBADF.
50594
50595 2009-03-03  Bruno Haible  <bruno@clisp.org>
50596
50597         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
50598         earlier.
50599         * doc/visibility.texi: Fix @node and @section.
50600
50601 2009-03-03  Simon Josefsson  <simon@josefsson.org>
50602
50603         * doc/gnulib.texi: Link to sections for ld version script and
50604         visibility.
50605         * doc/visibility.texi: Add @node and @section.
50606         * modules/ld-version-script: New module.
50607         * m4/ld-version-script.m4: New file.
50608         * doc/ld-version-script.texi: New file.
50609
50610 2009-03-02  David Lutterkort  <lutter@redhat.com>
50611
50612         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
50613         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50614
50615 2009-03-02  Bruno Haible  <bruno@clisp.org>
50616
50617         * doc/visibility.texi: Mention libtool's -export-symbols option.
50618
50619 2009-03-02  Jim Meyering  <meyering@redhat.com>
50620
50621         announce-gen: new option: --no-print-checksums
50622         * build-aux/announce-gen (usage): Describe it.
50623         (print_checksums): Print a newline here, not in the [*] footnote.
50624         (main): Honor it.
50625
50626 2009-03-01  Bruno Haible  <bruno@clisp.org>
50627
50628         Use socklen_t in the native Windows replacements prototypes.
50629         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
50630         instead of 'int'.
50631         * lib/getsockopt.c (rpl_getsockopt): Likewise.
50632         * lib/setsockopt.c (rpl_setsockopt): Likewise.
50633         * modules/getsockopt (Depends-on): Add socklen.
50634         * modules/setsockopt (Depends-on): Add socklen.
50635
50636 2009-03-01  Bruno Haible  <bruno@clisp.org>
50637
50638         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
50639         least 4.2.
50640
50641 2009-03-01  Eric Blake  <ebb9@byu.net>
50642             Bruno Haible  <bruno@clisp.org>
50643
50644         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
50645         error messages.
50646         * lib/wait-process.c (wait_subprocess): Omit error message about
50647         deadly signal sent to the child of termsigp != NULL.
50648
50649 2009-03-01  Eric Blake  <ebb9@byu.net>
50650
50651         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
50652
50653 2009-03-01  Bruno Haible  <bruno@clisp.org>
50654
50655         Avoid a gcc warning.
50656         * tests/test-sched.c (b): Make global.
50657         Reported by Eric Blake.
50658
50659 2009-01-19  Martin Lambers  <marlam@marlam.de>
50660
50661         Provide POSIX semantics for socket timeout options on W32.
50662         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
50663         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
50664         * modules/setsockopt: Depend on sys_time module for struct timeval.
50665         * modules/getsockopt: Depend on sys_time module for struct timeval.
50666
50667 2009-03-01  Simon Josefsson  <simon@josefsson.org>
50668
50669         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
50670         __USE_GNU, for consistency with netdb.in.h.
50671         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50672
50673 2009-03-01  Bruno Haible  <bruno@clisp.org>
50674
50675         More support for FreeMiNT.
50676         * lib/fseeko.c (rpl_fseeko): Complete last commit.
50677         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50678
50679 2009-03-01  Bruno Haible  <bruno@clisp.org>
50680
50681         More support for FreeMiNT.
50682         * lib/fpurge.c (fpurge): Correct last commit.
50683         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50684
50685 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50686
50687         Fix unportable awk script in vc-list-files.
50688         * build-aux/vc-list-files: In the replacement awk script, use
50689         substr with a second argument of 1, not zero.
50690         Report by Simon Josefsson.
50691
50692 2009-02-28  Bruno Haible  <bruno@clisp.org>
50693
50694         More support for FreeMiNT.
50695         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
50696         to FreeMiNT today.
50697         * lib/fwriting.c (fwriting): Likewise.
50698         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
50699
50700 2009-02-28  Bruno Haible  <bruno@clisp.org>
50701
50702         * tests/test-freadseek.c (main): Disable test beyond end of file on
50703         FreeMiNT.
50704         * tests/test-ftello.c (main): Likewise.
50705         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50706
50707 2009-02-28  Bruno Haible  <bruno@clisp.org>
50708
50709         Add tentative support for FreeMiNT.
50710         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
50711         * lib/fpurge.c (fpurge): Likewise.
50712         * lib/freadable.c (freadable): Likewise.
50713         * lib/freading.c (freading): Likewise.
50714         * lib/freadptr.c (freadptr): Likewise.
50715         * lib/freadseek.c (freadptrinc): Likewise.
50716         * lib/fseeko.c (rpl_fseeko): Likewise.
50717         * lib/fseterr.c (fseterr): Likewise.
50718         * lib/fwritable.c (fwritable): Likewise.
50719         * lib/fwriting.c (fwriting): Likewise.
50720         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
50721         Hourihane.
50722         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50723
50724 2009-02-28  Bruno Haible  <bruno@clisp.org>
50725
50726         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
50727         SIGCHLD.
50728         Reported by Jim Meyering.
50729
50730 2009-02-28  Bruno Haible  <bruno@clisp.org>
50731
50732         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
50733         Mention the results of these tests on various platforms.
50734         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
50735         order.
50736         * doc/posix-functions/printf.texi: Likewise.
50737         * doc/posix-functions/snprintf.texi: Likewise.
50738         * doc/posix-functions/sprintf.texi: Likewise.
50739         * doc/posix-functions/vfprintf.texi: Likewise.
50740         * doc/posix-functions/vprintf.texi: Likewise.
50741         * doc/posix-functions/vsnprintf.texi: Likewise.
50742         * doc/posix-functions/vsprintf.texi: Likewise.
50743         * doc/glibc-functions/obstack_printf.texi: Likewise.
50744         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
50745
50746 2009-02-28  Bruno Haible  <bruno@clisp.org>
50747
50748         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
50749         Reported by Loïc Minier <lool@dooz.org>.
50750
50751 2009-02-27  Bruno Haible  <bruno@clisp.org>
50752
50753         * gnulib-tool (func_import): Make the sed expression used to create the
50754         sed script for updating the .gitignore file POSIX compliant.
50755         Reported by Eric Blake.
50756
50757 2009-02-27  Bruno Haible  <bruno@clisp.org>
50758
50759         * gnulib-tool (sed): Don't alias as "sed --posix".
50760         Reported by Eric Blake.
50761
50762 2009-02-27  Bruno Haible  <bruno@clisp.org>
50763
50764         Avoid test link errors.
50765         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
50766         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
50767         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
50768         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
50769         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50770
50771 2009-02-27  Bruno Haible  <bruno@clisp.org>
50772
50773         Avoid spurious "(cached)" in configure output.
50774         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
50775         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
50776         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
50777         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
50778         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
50779         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
50780         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
50781         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
50782         Reported by Eric Blake.
50783
50784 2009-02-27  Eric Blake  <ebb9@byu.net>
50785
50786         printf: fix regression in previous patch
50787         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
50788
50789 2009-02-27  Bruno Haible  <bruno@clisp.org>
50790
50791         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
50792         value.
50793         * lib/stdint.in.h: Likewise.
50794         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
50795
50796 2009-02-27  Eric Blake  <ebb9@byu.net>
50797
50798         doc: mention more functions added in cygwin 1.7.0
50799         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
50800         addition.
50801         * doc/posix-functions/open_wmemstream.texi: Likewise.
50802         * doc/posix-functions/wcsnlen.texi: Likewise.
50803         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50804         * doc/posix-functions/wcstod.texi: Likewise.
50805         * doc/posix-functions/wcstof.texi: Likewise.
50806         * doc/posix-functions/wcstoimax.texi: Likewise.
50807         * doc/posix-functions/wcstok.texi: Likewise.
50808         * doc/posix-functions/wcstoumax.texi: Likewise.
50809
50810         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
50811         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
50812         * doc/posix-functions/fprintf.texi: Update.
50813         * doc/posix-functions/printf.texi: Update.
50814         * doc/posix-functions/snprintf.texi: Update.
50815         * doc/posix-functions/sprintf.texi: Update.
50816         * doc/posix-functions/vfprintf.texi: Update.
50817         * doc/posix-functions/vprintf.texi: Update.
50818         * doc/posix-functions/vsnprintf.texi: Update.
50819         * doc/posix-functions/vsprintf.texi: Update.
50820         * doc/glibc-functions/obstack_printf.texi: Update.
50821         * doc/glibc-functions/obstack_vprintf.texi: Update.
50822
50823 2009-02-26  Eric Blake  <ebb9@byu.net>
50824
50825         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
50826         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
50827         compilation bug by using runtime conversion.
50828         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
50829         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
50830         * modules/ceill-tests (Files): Use nan.h.
50831         * modules/floorl-tests (Files): Likewise.
50832         * modules/frexpl-tests (Files): Likewise.
50833         * modules/isnanl-tests (Files): Likewise.
50834         * modules/ldexpl-tests (Files): Likewise.
50835         * modules/roundl-tests (Files): Likewise.
50836         * modules/truncl-tests (Files): Likewise.
50837         * tests/test-ceill.c (main): Use a working NaN.
50838         * tests/test-floorl.c (main): Likewise.
50839         * tests/test-frexpl.c (main): Likewise.
50840         * tests/test-isnan.c (test_long_double): Likewise.
50841         * tests/test-isnanl.h (main): Likewise.
50842         * tests/test-ldexpl.h (main): Likewise.
50843         * tests/test-roundl.h (main): Likewise.
50844         * tests/test-truncl.h (main): Likewise.
50845         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
50846
50847 2009-02-26  Eric Blake  <ebb9@byu.net>
50848             Bruno Haible  <bruno@clisp.org>
50849
50850         Work around a *printf bug with %ls on Solaris.
50851         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
50852         precision is specified, sprintf stops converting the wide string
50853         argument when the number of bytes that have been produced by this
50854         conversion equals or exceeds the precision.
50855         * doc/posix-functions/fprintf.texi: Update.
50856         * doc/posix-functions/printf.texi: Update.
50857         * doc/posix-functions/snprintf.texi: Update.
50858         * doc/posix-functions/sprintf.texi: Update.
50859         * doc/posix-functions/vfprintf.texi: Update.
50860         * doc/posix-functions/vprintf.texi: Update.
50861         * doc/posix-functions/vsnprintf.texi: Update.
50862         * doc/posix-functions/vsprintf.texi: Update.
50863         * doc/glibc-functions/obstack_printf.texi: Update.
50864         * doc/glibc-functions/obstack_vprintf.texi: Update.
50865
50866 2009-02-26  Eric Blake  <ebb9@byu.net>
50867
50868         stdlib: favor compiler check of random.h
50869         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
50870         to avoid an ObjC random.h installed by Swarm.
50871
50872 2009-02-26  Bruno Haible  <bruno@clisp.org>
50873
50874         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
50875         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
50876         Reported by Gary V. Vaughan <gary@gnu.org>.
50877
50878 2009-02-26  Bruno Haible  <bruno@clisp.org>
50879
50880         Fix *printf behaviour regarding the %ls directive.
50881         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
50882         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
50883         NEED_PRINTF_DIRECTIVE_LS.
50884         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
50885         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
50886         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50887         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
50888         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
50889         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
50890         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
50891         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50892         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50893         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50894         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50895         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
50896         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50897         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50898         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50899         * doc/posix-functions/fprintf.texi: Update.
50900         * doc/posix-functions/printf.texi: Update.
50901         * doc/posix-functions/snprintf.texi: Update.
50902         * doc/posix-functions/sprintf.texi: Update.
50903         * doc/posix-functions/vfprintf.texi: Update.
50904         * doc/posix-functions/vprintf.texi: Update.
50905         * doc/posix-functions/vsnprintf.texi: Update.
50906         * doc/posix-functions/vsprintf.texi: Update.
50907         * doc/glibc-functions/obstack_printf.texi: Update.
50908         * doc/glibc-functions/obstack_vprintf.texi: Update.
50909         Reported by Eric Blake.
50910
50911 2009-02-25  Bruno Haible  <bruno@clisp.org>
50912
50913         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
50914         with known value.
50915         Reported by Gary V. Vaughan <gary@gnu.org>.
50916
50917 2009-02-25  Bruno Haible  <bruno@clisp.org>
50918
50919         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
50920         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
50921         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
50922         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
50923         Reported by Gary V. Vaughan <gary@gnu.org>.
50924
50925 2009-02-25  Bruno Haible  <bruno@clisp.org>
50926
50927         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
50928         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
50929         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
50930         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
50931         Reported by Gary V. Vaughan <gary@gnu.org>.
50932
50933 2009-02-25  Eric Blake  <ebb9@byu.net>
50934
50935         tests: skip fseek/ftell tests if ungetc is broken
50936         * m4/ungetc.m4: New file.
50937         * modules/fseek-tests: Split test, so ungetc dependency is
50938         separate from rest of test.
50939         * modules/fseeko-tests: Likewise.
50940         * modules/ftell-tests: Likewise.
50941         * modules/ftello-tests: Likewise.
50942         * tests/test-fseek.c (main): Isolate ungetc dependency.
50943         * tests/test-fseeko.c (main): Likewise.
50944         * tests/test-ftell.c (main): Likewise.
50945         * tests/test-ftello.c (main): Likewise.
50946         * tests/test-fseek2.sh: New file.
50947         * tests/test-fseeko2.sh: Likewise.
50948         * tests/test-ftell2.sh: Likewise.
50949         * tests/test-ftello2.sh: Likewise.
50950
50951 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
50952
50953         test-getaddrinfo: fix usage of skip return code 77
50954         * tests/test-gettaddrinfo.c: Return skip code 77 only
50955         for first occurrence of skip (4x77 is not 77)
50956
50957 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
50958
50959         strtod: avoid C99 decl-after-statement
50960         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
50961
50962 2009-02-24  Eric Blake  <ebb9@byu.net>
50963
50964         strtod: detect HP-UX 11.31 bug
50965         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
50966         Reported by Gary V. Vaughan.
50967
50968 2009-02-23  Bruno Haible  <bruno@clisp.org>
50969
50970         Fix invalid read past end of memory block.
50971         * lib/vasnprintf.c (DCHAR_SET): Define.
50972         (local_wcslen): Define only when needed.
50973         (local_strnlen, local_wcsnlen): New functions.
50974         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
50975         directives that involve a conversion ourselves.
50976         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
50977         wcsnlen, mbrtowc, wcrtomb.
50978         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
50979         * tests/test-vasprintf-posix.c (test_function): Likewise.
50980         * tests/test-snprintf-posix.h (test_function): Likewise.
50981         * tests/test-sprintf-posix.h (test_function): Likewise.
50982         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50983
50984 2009-02-22  Bruno Haible  <bruno@clisp.org>
50985
50986         Implement new clarified decomposition of Hangul syllables.
50987         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
50988         of type LTV, return only a pairwise decomposition.
50989         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
50990         Likewise.
50991         * tests/uninorm/test-decomposition.c (main): Updated expected result.
50992         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
50993         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
50994
50995 2009-02-22  Bruno Haible  <bruno@clisp.org>
50996
50997         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
50998         zero-length results and shrink excess allocated memory.
50999         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
51000         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
51001         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
51002         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
51003         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
51004         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
51005         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
51006         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
51007         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
51008         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
51009         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
51010         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
51011
51012 2009-02-21  Bruno Haible  <bruno@clisp.org>
51013
51014         * doc/gnulib.texi: Include safe-alloc.texi earlier.
51015         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
51016         spaces after a period. Put a space between a macro name and its
51017         argument list. Trivial rewordings.
51018         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
51019         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
51020         (main): Return 0 explicitly.
51021
51022 2009-02-21  Bruno Haible  <bruno@clisp.org>
51023
51024         Tests for module 'uninorm/filter'.
51025         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
51026         * modules/uninorm/filter-tests: New file.
51027
51028         New module 'uninorm/filter'.
51029         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
51030         uninorm_filter_flush, uninorm_filter_free): New declarations.
51031         * lib/uninorm/uninorm-filter.c: New file.
51032         * modules/uninorm/filter: New file.
51033
51034 2009-02-21  Bruno Haible  <bruno@clisp.org>
51035
51036         Tests for module 'uninorm/nfkc'.
51037         * tests/uninorm/test-nfkc.c: New file.
51038         * tests/uninorm/test-u8-nfkc.c: New file.
51039         * tests/uninorm/test-u16-nfkc.c: New file.
51040         * tests/uninorm/test-u32-nfkc.c: New file.
51041         * tests/uninorm/test-u32-nfkc-big.sh: New file.
51042         * tests/uninorm/test-u32-nfkc-big.c: New file.
51043         * modules/uninorm/nfkc-tests: New file.
51044
51045         New module 'uninorm/nfkc'.
51046         * lib/uninorm/nfkc.c: New file.
51047         * modules/uninorm/nfkc: New file.
51048
51049         Tests for module 'uninorm/nfkd'.
51050         * tests/uninorm/test-nfkd.c: New file.
51051         * tests/uninorm/test-u8-nfkd.c: New file.
51052         * tests/uninorm/test-u16-nfkd.c: New file.
51053         * tests/uninorm/test-u32-nfkd.c: New file.
51054         * tests/uninorm/test-u32-nfkd-big.sh: New file.
51055         * tests/uninorm/test-u32-nfkd-big.c: New file.
51056         * modules/uninorm/nfkd-tests: New file.
51057
51058         New module 'uninorm/nfkd'.
51059         * lib/uninorm/nfkd.c: New file.
51060         * modules/uninorm/nfkd: New file.
51061
51062         Tests for module 'uninorm/nfc'.
51063         * tests/uninorm/test-nfc.c: New file.
51064         * tests/uninorm/test-u8-nfc.c: New file.
51065         * tests/uninorm/test-u16-nfc.c: New file.
51066         * tests/uninorm/test-u32-nfc.c: New file.
51067         * tests/uninorm/test-u32-nfc-big.sh: New file.
51068         * tests/uninorm/test-u32-nfc-big.c: New file.
51069         * modules/uninorm/nfc-tests: New file.
51070
51071         New module 'uninorm/nfc'.
51072         * lib/uninorm/nfc.c: New file.
51073         * modules/uninorm/nfc: New file.
51074
51075         Tests for module 'uninorm/nfd'.
51076         * tests/uninorm/test-nfd.c: New file.
51077         * tests/uninorm/test-u8-nfd.c: New file.
51078         * tests/uninorm/test-u16-nfd.c: New file.
51079         * tests/uninorm/test-u32-nfd.c: New file.
51080         * tests/uninorm/test-u32-nfd-big.sh: New file.
51081         * tests/uninorm/test-u32-nfd-big.c: New file.
51082         * tests/uninorm/test-u32-normalize-big.h: New file.
51083         * tests/uninorm/test-u32-normalize-big.c: New file.
51084         * tests/uninorm/NormalizationTest.txt: New file, created from
51085         Unicode 5.1.0 NormalizationTest.txt.
51086         * modules/uninorm/nfd-tests: New file.
51087
51088         New module 'uninorm/nfd'.
51089         * lib/uninorm/nfd.c: New file.
51090         * modules/uninorm/nfd: New file.
51091
51092         New module 'uninorm/u32-normalize'.
51093         * lib/uninorm/u32-normalize.c: New file.
51094         * modules/uninorm/u32-normalize: New file.
51095
51096         New module 'uninorm/u16-normalize'.
51097         * lib/uninorm/u16-normalize.c: New file.
51098         * modules/uninorm/u16-normalize: New file.
51099
51100         New module 'uninorm/u8-normalize'.
51101         * lib/uninorm/u8-normalize.c: New file.
51102         * lib/uninorm/normalize-internal.h: New file.
51103         * lib/uninorm/u-normalize-internal.h: New file.
51104         * modules/uninorm/u8-normalize: New file.
51105
51106         New module 'uninorm/decompose-internal'.
51107         * lib/uninorm/decompose-internal.c: New file.
51108         * modules/uninorm/decompose-internal: New file.
51109
51110         Tests for module 'uninorm/composition'.
51111         * tests/uninorm/test-composition.c: New file.
51112         * modules/uninorm/composition-tests: New file.
51113
51114         New module 'uninorm/composition'.
51115         * lib/uninorm/composition.c: New file.
51116         * lib/uninorm/composition-table.gperf: New file, generated by
51117         gen-uni-tables.
51118         * modules/uninorm/composition: New file.
51119
51120         Tests for module 'uninorm/compat-decomposition'.
51121         * tests/uninorm/test-compat-decomposition.c: New file.
51122         * modules/uninorm/compat-decomposition-tests: New file.
51123
51124         New module 'uninorm/compat-decomposition'.
51125         * lib/uninorm/decompose-internal.h: New file.
51126         * lib/uninorm/compat-decomposition.c: New file.
51127         * modules/uninorm/compat-decomposition: New file.
51128
51129         Tests for module 'uninorm/canonical-decomposition'.
51130         * tests/uninorm/test-canonical-decomposition.c: New file.
51131         * modules/uninorm/canonical-decomposition-tests: New file.
51132
51133         New module 'uninorm/canonical-decomposition'.
51134         * lib/uninorm/canonical-decomposition.c: New file.
51135         * modules/uninorm/canonical-decomposition: New file.
51136
51137         Tests for module 'uninorm/decomposition'.
51138         * tests/uninorm/test-decomposition.c: New file.
51139         * modules/uninorm/decomposition-tests: New file.
51140
51141         New module 'uninorm/decomposition'.
51142         * lib/uninorm/decomposition.c: New file.
51143         * modules/uninorm/decomposition: New file.
51144
51145         New module 'uninorm/decomposition-table'.
51146         * lib/uninorm/decomposition-table.h: New file.
51147         * lib/uninorm/decomposition-table.c: New file.
51148         * lib/uninorm/decomposition-table1.h: New file, generated by
51149         gen-uni-tables.
51150         * lib/uninorm/decomposition-table2.h: New file, generated by
51151         gen-uni-tables.
51152         * modules/uninorm/decomposition-table: New file.
51153
51154         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
51155         (UC_DECOMP_*): New enumeration items.
51156         (get_decomposition): New function.
51157         (struct decomp_table): New type.
51158         (output_decomposition, output_decomposition_tables): New functions.
51159         (unicode_composition_exclusions): New variable.
51160         (fill_composition_exclusions, debug_output_composition_tables): New
51161         functions.
51162         (main): Accept one more argument. Invoke fill_composition_exclusions.
51163         Output decomposition and composition tables.
51164
51165         New module 'uninorm/base'.
51166         * lib/uninorm.h: New file.
51167         * lib/unictype.h: Update comment.
51168         * modules/uninorm/base: New file.
51169
51170 2009-02-21  David Lutterkort  <lutter@redhat.com>
51171
51172         Tests for module 'safe-alloc'.
51173         * tests/test-safe-alloc.c: New file.
51174         * modules/safe-alloc-tests: New file.
51175
51176         New module 'safe-alloc'.
51177         * lib/safe-alloc.h: New file.
51178         * lib/safe-alloc.c: New file.
51179         * m4/safe-alloc.m4: New file.
51180         * modules/safe-alloc: New file.
51181         * doc/safe-alloc.texi: New file.
51182         * doc/gnulib.texi: Include it.
51183         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
51184         safe-alloc.
51185
51186 2009-02-18  Bruno Haible  <bruno@clisp.org>
51187
51188         Fix link error on non-glibc systems.
51189         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
51190         variable.
51191         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51192
51193 2009-02-18  Jim Meyering  <meyering@redhat.com>
51194
51195         fts: avoid used-uninitialized error due to recent change
51196         * lib/fts.c (fts_read): Guard uses of the new member,
51197         parent->fts_n_dirs_remaining, since it's not relevant for
51198         the parent of a directory specified on the command-line.
51199
51200 2009-02-17  James Youngman  <jay@gnu.org>
51201             Bruno Haible  <bruno@clisp.org>
51202
51203         * m4/include_next.m4: Reformulate comment.
51204
51205 2009-02-16  Jim Meyering  <meyering@redhat.com>
51206
51207         fts: add #if guards so that the fts_lgpl module still builds
51208         * lib/fts.c: Guard just-added hash-table-using parts with
51209         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
51210         Reported by Simon Josefsson.
51211
51212 2009-02-15  Bruno Haible  <bruno@clisp.org>
51213
51214         * modules/array-mergesort-tests: New file.
51215         * tests/test-array-mergesort.c: New file.
51216
51217         New module 'array-mergesort'.
51218         * modules/array-mergesort: New file.
51219         * lib/array-mergesort.h: New file.
51220
51221 2009-02-15  Bruno Haible  <bruno@clisp.org>
51222
51223         Fix 2009-02-07 commit.
51224         * lib/gen-uni-tables.c (output_predicate, output_category,
51225         output_combclass, output_bidi_category, output_decimal_digit,
51226         output_digit, output_numeric, output_mirror, output_scripts,
51227         output_ident_category, output_simple_mapping): Fix format directives.
51228         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
51229
51230 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
51231
51232         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
51233         fixes are available from IBM.
51234
51235 2009-02-13  Jim Meyering  <meyering@redhat.com>
51236
51237         fts: arrange not to stat non-directories in more cases
51238         This makes GNU find (when it doesn't need to stat each file)
51239         *much* more efficient at traversing reiserfs file systems.
51240         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
51241         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
51242         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
51243         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
51244         (leaf_optimization_applies): New function.
51245         (LCO_hash, LCO_compare): New helper functions.
51246         (link_count_optimize_ok): New function.
51247         (fts_stat): Initialize new member (if dir).
51248         (fts_read): Decrement parent's fts_n_dirs_remaining count if
51249         we've just stat'ed a directory.  Skip the stat call when possible.
51250         ---
51251         Note this AFS-related exchange:
51252         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
51253         and note find's pioctl call in find/fstype.c.
51254         But that is necessary only if you want to enable the
51255         optimization for AFS, and for now, I don't.
51256
51257         fts: move a function definition "up" (no semantic change)
51258         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
51259         "up" to precede upcoming use of a related function.
51260
51261 2009-02-11  Jim Meyering  <meyering@redhat.com>
51262
51263         fts: correct internal computation of nlinks (optimization-related)
51264         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
51265         whether the current entry is a directory, so don't test it.
51266
51267 2009-02-10  Bruno Haible  <bruno@clisp.org>
51268
51269         Tests for module 'uniwbrk/ulc-wordbreaks'.
51270         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
51271         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
51272         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
51273
51274         Tests for module 'uniwbrk/u32-wordbreaks'.
51275         * modules/uniwbrk/u32-wordbreaks-tests: New file.
51276         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
51277
51278         Tests for module 'uniwbrk/u16-wordbreaks'.
51279         * modules/uniwbrk/u16-wordbreaks-tests: New file.
51280         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
51281
51282         Tests for module 'uniwbrk/u8-wordbreaks'.
51283         * modules/uniwbrk/u8-wordbreaks-tests: New file.
51284         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
51285
51286 2009-02-10  Bruno Haible  <bruno@clisp.org>
51287
51288         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
51289         property.
51290         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
51291         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
51292         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
51293
51294 2009-02-10  Simon Josefsson  <simon@josefsson.org>
51295
51296         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
51297         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
51298
51299 2009-02-10  Bruno Haible  <bruno@clisp.org>
51300
51301         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
51302         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
51303         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
51304         * lib/unilbrk/u8-possible-linebreaks.c: Update.
51305         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
51306         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
51307
51308 2009-02-09  Simon Josefsson  <simon@josefsson.org>
51309
51310         * lib/sockets.h (gl_fd_to_handle): New function.
51311
51312         * tests/test-sockets.c: Call gl_fd_to_handle.
51313
51314 2009-02-09  Bruno Haible  <bruno@clisp.org>
51315
51316         * doc/havelib.texi: Document the conventions on bi-arch systems.
51317
51318 2009-02-08  Bruno Haible  <bruno@clisp.org>
51319
51320         Document the AC_LIB_LINKFLAGS macro.
51321         * doc/havelib.texi: New file, mostly written on 2005-05-24.
51322         * doc/gnulib.texi: Include it.
51323
51324 2009-02-08  Bruno Haible  <bruno@clisp.org>
51325
51326         Fix wrong order of sections, compared to TOC.
51327         * doc/gnulib.texi: Include relocatable-maint.texi after the
51328         "Regular expressions" node, not before.
51329
51330 2009-02-08  Bruno Haible  <bruno@clisp.org>
51331
51332         Tests for module 'unicase/totitle'.
51333         * modules/unicase/totitle-tests: New file.
51334
51335         Tests for module 'unicase/tolower'.
51336         * modules/unicase/tolower-tests: New file.
51337
51338         Tests for module 'unicase/toupper'.
51339         * modules/unicase/toupper-tests: New file.
51340         * tests/unicase/test-mapping-part1.h: New file.
51341         * tests/unicase/test-mapping-part2.h: New file.
51342
51343         New module 'unicase/totitle'.
51344         * modules/unicase/totitle: New file.
51345         * lib/unicase/totitle.c: New file.
51346
51347         New module 'unicase/tolower'.
51348         * modules/unicase/tolower: New file.
51349         * lib/unicase/tolower.c: New file.
51350
51351         New module 'unicase/toupper'.
51352         * modules/unicase/toupper: New file.
51353         * lib/unicase/toupper.c: New file.
51354         * lib/unicase/simple-mapping.h: New file.
51355
51356         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
51357         (mapping_table): New structure.
51358         (output_simple_mapping): New function.
51359         (main): Invoke output_simple_mapping_test and output_simple_mapping.
51360         * modules/gen-uni-tables (Description): Update.
51361         * lib/unicase/toupper.h: New file, automatically generated by
51362         gen-uni-tables.
51363         * lib/unicase/tolower.h: New file, automatically generated by
51364         gen-uni-tables.
51365         * lib/unicase/totitle.h: New file, automatically generated by
51366         gen-uni-tables.
51367         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
51368         gen-uni-tables.
51369         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
51370         gen-uni-tables.
51371         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
51372         gen-uni-tables.
51373
51374         New module 'unicase/base'.
51375         * modules/unicase/base: New file.
51376         * lib/unicase.h: New file.
51377
51378 2009-02-08  Bruno Haible  <bruno@clisp.org>
51379
51380         New module 'uniwbrk/ulc-wordbreaks'.
51381         * modules/uniwbrk/ulc-wordbreaks: New file.
51382         * lib/uniwbrk/ulc-wordbreaks.c: New file.
51383
51384         New module 'uniwbrk/u32-wordbreaks'.
51385         * modules/uniwbrk/u32-wordbreaks: New file.
51386         * lib/uniwbrk/u32-wordbreaks.c: New file.
51387
51388         New module 'uniwbrk/u16-wordbreaks'.
51389         * modules/uniwbrk/u16-wordbreaks: New file.
51390         * lib/uniwbrk/u16-wordbreaks.c: New file.
51391
51392         New module 'uniwbrk/u8-wordbreaks'.
51393         * modules/uniwbrk/u8-wordbreaks: New file.
51394         * lib/uniwbrk/u8-wordbreaks.c: New file.
51395         * lib/uniwbrk/u-wordbreaks.h: New file.
51396
51397         New module 'uniwbrk/table'.
51398         * modules/uniwbrk/table: New file.
51399         * lib/uniwbrk/wbrktable.h: New file.
51400         * lib/uniwbrk/wbrktable.c: New file.
51401
51402         New module 'uniwbrk/wordbreak-property'.
51403         * modules/uniwbrk/wordbreak-property: New file.
51404         * lib/uniwbrk/wordbreak-property.c: New file.
51405
51406         * lib/gen-uni-tables.c (WBP_*): New enum items.
51407         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
51408         (unicode_org_wbp): New variable.
51409         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
51410         New functions.
51411         (wbp_table): New structure.
51412         (output_wbp, output_wbrk_tables): New functions.
51413         (main): Accept additional argument. Invoke fill_org_wbp,
51414         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
51415         output_wbrk_tables.
51416         * modules/gen-uni-tables (Description): Update.
51417         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
51418         gen-uni-tables.
51419
51420         New module 'uniwbrk/base'.
51421         * modules/uniwbrk/base: New file.
51422         * lib/uniwbrk.h: New file.
51423
51424 2009-02-08  Bruno Haible  <bruno@clisp.org>
51425
51426         Update to Unicode 5.1.0.
51427         * lib/gen-uni-tables.c (is_property_alphabetic): Include
51428         U+2185..U+2188.
51429         (is_property_default_ignorable_code_point): Don't include characters
51430         of category Cc or Cs and not-a-characters.
51431         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
51432         U+0D79, U+109E, U+109F, U+A60C.
51433         * lib/unictype/bidi_of.h: Regenerated.
51434         * lib/unictype/blocks.h: Regenerated.
51435         * lib/unictype/categ_C.h: Regenerated.
51436         * lib/unictype/categ_Cf.h: Regenerated.
51437         * lib/unictype/categ_Cn.h: Regenerated.
51438         * lib/unictype/categ_L.h: Regenerated.
51439         * lib/unictype/categ_Ll.h: Regenerated.
51440         * lib/unictype/categ_Lm.h: Regenerated.
51441         * lib/unictype/categ_Lo.h: Regenerated.
51442         * lib/unictype/categ_Lu.h: Regenerated.
51443         * lib/unictype/categ_M.h: Regenerated.
51444         * lib/unictype/categ_Mc.h: Regenerated.
51445         * lib/unictype/categ_Me.h: Regenerated.
51446         * lib/unictype/categ_Mn.h: Regenerated.
51447         * lib/unictype/categ_N.h: Regenerated.
51448         * lib/unictype/categ_Nd.h: Regenerated.
51449         * lib/unictype/categ_Nl.h: Regenerated.
51450         * lib/unictype/categ_No.h: Regenerated.
51451         * lib/unictype/categ_P.h: Regenerated.
51452         * lib/unictype/categ_Pd.h: Regenerated.
51453         * lib/unictype/categ_Pe.h: Regenerated.
51454         * lib/unictype/categ_Pf.h: Regenerated.
51455         * lib/unictype/categ_Pi.h: Regenerated.
51456         * lib/unictype/categ_Po.h: Regenerated.
51457         * lib/unictype/categ_Ps.h: Regenerated.
51458         * lib/unictype/categ_S.h: Regenerated.
51459         * lib/unictype/categ_Sk.h: Regenerated.
51460         * lib/unictype/categ_Sm.h: Regenerated.
51461         * lib/unictype/categ_So.h: Regenerated.
51462         * lib/unictype/categ_of.h: Regenerated.
51463         * lib/unictype/combining.h: Regenerated.
51464         * lib/unictype/ctype_alnum.h: Regenerated.
51465         * lib/unictype/ctype_alpha.h: Regenerated.
51466         * lib/unictype/ctype_graph.h: Regenerated.
51467         * lib/unictype/ctype_lower.h: Regenerated.
51468         * lib/unictype/ctype_print.h: Regenerated.
51469         * lib/unictype/ctype_punct.h: Regenerated.
51470         * lib/unictype/ctype_upper.h: Regenerated.
51471         * lib/unictype/decdigit.h: Regenerated.
51472         * lib/unictype/digit.h: Regenerated.
51473         * lib/unictype/mirror.h: Regenerated.
51474         * lib/unictype/numeric.h: Regenerated.
51475         * lib/unictype/pr_alphabetic.h: Regenerated.
51476         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
51477         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
51478         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
51479         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
51480         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
51481         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
51482         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
51483         * lib/unictype/pr_combining.h: Regenerated.
51484         * lib/unictype/pr_dash.h: Regenerated.
51485         * lib/unictype/pr_decimal_digit.h: Regenerated.
51486         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
51487         * lib/unictype/pr_deprecated.h: Regenerated.
51488         * lib/unictype/pr_diacritic.h: Regenerated.
51489         * lib/unictype/pr_extender.h: Regenerated.
51490         * lib/unictype/pr_format_control.h: Regenerated.
51491         * lib/unictype/pr_grapheme_base.h: Regenerated.
51492         * lib/unictype/pr_grapheme_extend.h: Regenerated.
51493         * lib/unictype/pr_grapheme_link.h: Regenerated.
51494         * lib/unictype/pr_id_continue.h: Regenerated.
51495         * lib/unictype/pr_id_start.h: Regenerated.
51496         * lib/unictype/pr_ideographic.h: Regenerated.
51497         * lib/unictype/pr_ignorable_control.h: Regenerated.
51498         * lib/unictype/pr_lowercase.h: Regenerated.
51499         * lib/unictype/pr_math.h: Regenerated.
51500         * lib/unictype/pr_numeric.h: Regenerated.
51501         * lib/unictype/pr_other_alphabetic.h: Regenerated.
51502         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
51503         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
51504         * lib/unictype/pr_other_id_continue.h: Regenerated.
51505         * lib/unictype/pr_other_lowercase.h: Regenerated.
51506         * lib/unictype/pr_other_math.h: Regenerated.
51507         * lib/unictype/pr_punctuation.h: Regenerated.
51508         * lib/unictype/pr_sentence_terminal.h: Regenerated.
51509         * lib/unictype/pr_soft_dotted.h: Regenerated.
51510         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
51511         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
51512         * lib/unictype/pr_unified_ideograph.h: Regenerated.
51513         * lib/unictype/pr_uppercase.h: Regenerated.
51514         * lib/unictype/pr_xid_continue.h: Regenerated.
51515         * lib/unictype/pr_xid_start.h: Regenerated.
51516         * lib/unictype/pr_zero_width.h: Regenerated.
51517         * lib/unictype/scripts.h: Regenerated.
51518         * lib/unictype/scripts_byname.gperf: Regenerated.
51519         * lib/unictype/sy_java_ident.h: Regenerated.
51520         * lib/unilbrk/lbrkprop1.h: Regenerated.
51521         * lib/unilbrk/lbrkprop2.h: Regenerated.
51522         * tests/unictype/test-categ_C.c: Regenerated.
51523         * tests/unictype/test-categ_Cf.c: Regenerated.
51524         * tests/unictype/test-categ_Cn.c: Regenerated.
51525         * tests/unictype/test-categ_L.c: Regenerated.
51526         * tests/unictype/test-categ_Ll.c: Regenerated.
51527         * tests/unictype/test-categ_Lm.c: Regenerated.
51528         * tests/unictype/test-categ_Lo.c: Regenerated.
51529         * tests/unictype/test-categ_Lu.c: Regenerated.
51530         * tests/unictype/test-categ_M.c: Regenerated.
51531         * tests/unictype/test-categ_Mc.c: Regenerated.
51532         * tests/unictype/test-categ_Me.c: Regenerated.
51533         * tests/unictype/test-categ_Mn.c: Regenerated.
51534         * tests/unictype/test-categ_N.c: Regenerated.
51535         * tests/unictype/test-categ_Nd.c: Regenerated.
51536         * tests/unictype/test-categ_Nl.c: Regenerated.
51537         * tests/unictype/test-categ_No.c: Regenerated.
51538         * tests/unictype/test-categ_P.c: Regenerated.
51539         * tests/unictype/test-categ_Pd.c: Regenerated.
51540         * tests/unictype/test-categ_Pe.c: Regenerated.
51541         * tests/unictype/test-categ_Pf.c: Regenerated.
51542         * tests/unictype/test-categ_Pi.c: Regenerated.
51543         * tests/unictype/test-categ_Po.c: Regenerated.
51544         * tests/unictype/test-categ_Ps.c: Regenerated.
51545         * tests/unictype/test-categ_S.c: Regenerated.
51546         * tests/unictype/test-categ_Sk.c: Regenerated.
51547         * tests/unictype/test-categ_Sm.c: Regenerated.
51548         * tests/unictype/test-categ_So.c: Regenerated.
51549         * tests/unictype/test-ctype_alnum.c: Regenerated.
51550         * tests/unictype/test-ctype_alpha.c: Regenerated.
51551         * tests/unictype/test-ctype_graph.c: Regenerated.
51552         * tests/unictype/test-ctype_lower.c: Regenerated.
51553         * tests/unictype/test-ctype_print.c: Regenerated.
51554         * tests/unictype/test-ctype_punct.c: Regenerated.
51555         * tests/unictype/test-ctype_upper.c: Regenerated.
51556         * tests/unictype/test-decdigit.h: Regenerated.
51557         * tests/unictype/test-digit.h: Regenerated.
51558         * tests/unictype/test-numeric.h: Regenerated.
51559         * tests/unictype/test-pr_alphabetic.c: Regenerated.
51560         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
51561         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
51562         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
51563         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
51564         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
51565         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
51566         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
51567         * tests/unictype/test-pr_combining.c: Regenerated.
51568         * tests/unictype/test-pr_dash.c: Regenerated.
51569         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
51570         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
51571         * tests/unictype/test-pr_deprecated.c: Regenerated.
51572         * tests/unictype/test-pr_diacritic.c: Regenerated.
51573         * tests/unictype/test-pr_extender.c: Regenerated.
51574         * tests/unictype/test-pr_format_control.c: Regenerated.
51575         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
51576         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
51577         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
51578         * tests/unictype/test-pr_id_continue.c: Regenerated.
51579         * tests/unictype/test-pr_id_start.c: Regenerated.
51580         * tests/unictype/test-pr_ideographic.c: Regenerated.
51581         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
51582         * tests/unictype/test-pr_lowercase.c: Regenerated.
51583         * tests/unictype/test-pr_math.c: Regenerated.
51584         * tests/unictype/test-pr_numeric.c: Regenerated.
51585         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
51586         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
51587         Regenerated.
51588         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
51589         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
51590         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
51591         * tests/unictype/test-pr_other_math.c: Regenerated.
51592         * tests/unictype/test-pr_punctuation.c: Regenerated.
51593         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
51594         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
51595         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
51596         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
51597         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
51598         * tests/unictype/test-pr_uppercase.c: Regenerated.
51599         * tests/unictype/test-pr_xid_continue.c: Regenerated.
51600         * tests/unictype/test-pr_xid_start.c: Regenerated.
51601         * tests/unictype/test-pr_zero_width.c: Regenerated.
51602
51603         Update to Unicode 5.1.0.
51604         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
51605         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
51606         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
51607         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
51608         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
51609         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
51610         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
51611         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
51612         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
51613         (nonspacing_table_ind): Update.
51614         * tests/uniwidth/test-uc_width2.sh: Update expected result.
51615
51616         Update to Unicode 5.1.0.
51617         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
51618         code transform.
51619         * lib/uniname/uniname.c (unicode_character_name,
51620         unicode_name_character): Add the range 0x1Fxxx to the code transform.
51621         * lib/uniname/uninames.h: Regenerated.
51622         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
51623
51624 2009-02-07  Bruno Haible  <bruno@clisp.org>
51625
51626         Merge gen-ctype and gen-lbrk into a single program.
51627         * lib/gen-uni-tables.c: New file, incorporating
51628         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
51629         Add directory prefixes to the names of the generated files.
51630         * lib/unictype/gen-ctype.c: Remove file.
51631         * lib/unilbrk/gen-lbrk.c: Remove file.
51632         * modules/gen-uni-tables: New file.
51633         * modules/unictype/gen-ctype: Remove file.
51634         * modules/unilbrk/gen-lbrk: Remove file.
51635
51636 2009-02-07  Bruno Haible  <bruno@clisp.org>
51637
51638         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
51639
51640         New module 'unistr/u32-strcoll'.
51641         * modules/unistr/u32-strcoll: New file.
51642         * lib/unistr/u32-strcoll.c: New file.
51643
51644         New module 'unistr/u16-strcoll'.
51645         * modules/unistr/u16-strcoll: New file.
51646         * lib/unistr/u16-strcoll.c: New file.
51647
51648         New module 'unistr/u8-strcoll'.
51649         * modules/unistr/u8-strcoll: New file.
51650         * lib/unistr/u8-strcoll.c: New file.
51651         * lib/unistr/u-strcoll.h: New file.
51652
51653 2009-02-07  Bruno Haible  <bruno@clisp.org>
51654
51655         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
51656         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51657         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51658         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
51659         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
51660         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
51661
51662 2009-02-07  Bruno Haible  <bruno@clisp.org>
51663
51664         Make 64-bit clean.
51665         * lib/unictype/gen-ctype.c (output_predicate, output_category,
51666         output_combclass, output_bidi_category, output_decimal_digit,
51667         output_digit, output_numeric, output_mirror, output_scripts,
51668         output_ident_category): Use proper width specifier in format strings.
51669
51670 2009-02-07  Bruno Haible  <bruno@clisp.org>
51671
51672         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
51673         failure behaviour.
51674
51675 2009-02-07  Jim Meyering  <meyering@redhat.com>
51676
51677         regex: avoid compilation failure with upcoming gcc-4.4
51678         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
51679         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
51680         "... error: integer overflow in preprocessor expression".
51681
51682 2009-02-05  Ben Pfaff  <blp@gnu.org>
51683
51684         Fix link errors on Windows when close module is used.
51685         * modules/close: Add $(LIB_CLOSE) to Link section.
51686         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
51687         $(LIB_CLOSE) on Windows.
51688
51689 2009-02-05  Jim Meyering  <meyering@redhat.com>
51690
51691         still avoid unused-parameter warnings, but do it cleanly
51692         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
51693         (get_fs_usage): Cast to void instead.
51694         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
51695         (dev_from_mount_options, read_file_system_list): Cast to void.
51696         Prompted by Bruno Haible.
51697
51698 2009-02-04  Jim Meyering  <meyering@redhat.com>
51699
51700         fsusage.c: correct copyright year
51701         * lib/fsusage.c: Reflect year in which the change is pushed into
51702
51703         avoid misc. warnings
51704         * lib/fsusage.c (UNUSED_PARAM): Define.
51705         (get_fs_usage): Mark parameter "disk" as unused.
51706         * lib/getugroups.c (getgrent): Use "void" in prototype.
51707         * lib/mountlist.c: Mark unused parameters.
51708         (read_file_system_list): Declare a local with "const".
51709         * lib/nanosleep.c (getnow): Declare static.
51710         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
51711
51712         dirfd: set errno upon failure
51713         * lib/dirfd.c: Include <errno.h>.
51714         Set errno to ENOTSUP when returning -1.
51715         * modules/dirfd (Depends-on): Add errno.
51716         Suggested by John Kodis <kodis@comcast.net>.
51717
51718 2009-02-01  Bruno Haible  <bruno@clisp.org>
51719
51720         Don't assume sizeof (long) >= sizeof (void *).
51721         * lib/memcmp.c: Include stdint.h.
51722         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
51723         srcp2 to 'const byte *'.
51724         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
51725         types to uintptr_t.
51726         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
51727         * modules/memcmp (Depends-on): Add stdint.
51728         Reported by Ozkan Sezer <sezeroz@gmail.com>.
51729
51730 2009-01-30  Eric Blake  <ebb9@byu.net>
51731
51732         fix more require-before-expand issues
51733         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
51734         expand, AC_PROG_AWK.
51735         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
51736
51737 2009-01-28  Eric Blake  <ebb9@byu.net>
51738
51739         version-etc: use consistent URL formatting
51740         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
51741         Improve formatting.  Use fputs for string without %.
51742
51743 2009-01-28  Jim Meyering  <meyering@redhat.com>
51744
51745         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
51746         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
51747         "underquoted definition of NAME" from autoconf-2.59.
51748
51749 2009-01-28  Bruno Haible  <bruno@clisp.org>
51750
51751         * doc/gnulib.texi: Add "Obsolete modules" to index.
51752
51753 2009-01-28  Jim Meyering  <meyering@redhat.com>
51754
51755         useless-if-before-free: recognize more variants
51756         * build-aux/useless-if-before-free: Also recognize e.g.,
51757         if (NULL != p) free (p);
51758
51759 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
51760
51761         test-getaddrinfo: skip (don't fail) this test when there's no network
51762         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
51763         on the presumption that it means you lack network access.
51764
51765 2009-01-26  Jim Meyering  <meyering@redhat.com>
51766
51767         fflush: avoid warnings on modern systems
51768         * lib/fflush.c (rpl_fflush): Move declarations of locals,
51769         pos and result, into scopes where they're used.
51770
51771 2009-01-26  Eric Blake  <ebb9@byu.net>
51772
51773         Silence warning reintroduced by recent extensions patch.
51774         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
51775         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
51776         autoconf.
51777
51778         Backport improved autoconf semantics of AC_DEFUN_ONCE.
51779         * m4/00gnulib.m4: New file.
51780         * gnulib-tool (func_get_filelist): Always use it.
51781         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
51782         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
51783
51784 2009-01-25  Bruno Haible  <bruno@clisp.org>
51785
51786         Make test-quotearg work on MacOS X and AIX.
51787         * tests/test-quotearg.sh: New file.
51788         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
51789         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
51790         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
51791         include <libintl.h>.
51792         (fake_locale): Remove variable.
51793         (gettext, dgettext, dcgettext): Remove functions.
51794         (main): Instead of setting a fake locale, set a real locale. Call
51795         textdomain and bindtextdomain.
51796         * modules/quotearg-tests (Files): Add the new files.
51797         (Depends-on): Add gettext, setenv, unsetenv.
51798         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
51799         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
51800         Augment TESTS_ENVIRONMENT.
51801
51802 2009-01-25  Bruno Haible  <bruno@clisp.org>
51803
51804         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
51805         fr_FR.ISO8859-1 locale on MacOS X.
51806         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
51807         ja_JP.eucJP locale on MacOS X.
51808         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
51809         zh_CN.GB18030 locale on MacOS X.
51810
51811 2009-01-25  Bruno Haible  <bruno@clisp.org>
51812
51813         Avoid link errors on MacOS X 10.3.
51814         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
51815         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
51816
51817 2009-01-25  Bruno Haible  <bruno@clisp.org>
51818
51819         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51820         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
51821         * modules/pipe (Files): Remove m4/posix_spawn.m4.
51822         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51823         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
51824         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51825         posix_spawnattr_init, posix_spawnattr_setsigmask,
51826         posix_spawnattr_setflags, posix_spawnattr_destroy.
51827
51828         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51829         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
51830         * modules/execute (Files): Remove m4/posix_spawn.m4.
51831         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51832         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51833         posix_spawnattr_init, posix_spawnattr_setsigmask,
51834         posix_spawnattr_setflags, posix_spawnattr_destroy.
51835
51836 2009-01-25  Bruno Haible  <bruno@clisp.org>
51837
51838         * lib/glthread/threadlib.c: Include <stdlib.h>.
51839
51840 2009-01-25  Bruno Haible  <bruno@clisp.org>
51841
51842         * lib/glthread/threadlib.c (dummy): New declaration.
51843
51844 2009-01-25  Bruno Haible  <bruno@clisp.org>
51845
51846         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
51847         multibyte characters also for the GB18030 encoding. Don't crash when
51848         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
51849
51850 2009-01-25  Bruno Haible  <bruno@clisp.org>
51851
51852         Avoid redefining 'struct random_data' on OSF/1 5.1.
51853         * lib/stdlib.in.h: Include <random.h> if it exists.
51854         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
51855         HAVE_RANDOM_H. Include <random.h> when testing whether
51856         'struct random_data' exists.
51857         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
51858
51859 2009-01-25  Bruno Haible  <bruno@clisp.org>
51860
51861         Don't install charset.alias on MacOS X >= 10.3.
51862         * lib/localcharset.c (DARWIN7): New macro.
51863         (get_charset_aliases): Hardcode the result for Darwin7.
51864         * modules/localcharset (install-exec-local): Don't install
51865         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
51866
51867 2009-01-25  Bruno Haible  <bruno@clisp.org>
51868
51869         Don't install charset.alias on mingw and Cygwin.
51870         * modules/localcharset (install-exec-local): Don't install
51871         charset.alias on mingw and Cygwin, if the file does not yet exist.
51872         The result for these platforms is hardcoded in localcharset.c.
51873
51874 2009-01-25  Bruno Haible  <bruno@clisp.org>
51875
51876         Make it possible again to use AC_GNU_SOURCE together with gnulib.
51877         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
51878         before requiring AC_USE_SYSTEM_EXTENSIONS.
51879
51880 2009-01-25  Jim Meyering  <meyering@redhat.com>
51881
51882         c-strtod: avoid warnings
51883         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
51884         "assignment discards qualifiers from pointer target type" warnings.
51885
51886 2009-01-24  Bruno Haible  <bruno@clisp.org>
51887
51888         Add support for non-UTF-8 locales on MacOS X.
51889         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
51890         canonical encodings. For Darwin 7 and newer, don't map traditional
51891         encodings to UTF-8.
51892         Reported by Vincent Lefevre <vincent@vinc17.org>
51893         at <http://savannah.gnu.org/bugs/?25235>.
51894
51895 2009-01-24  Bruno Haible  <bruno@clisp.org>
51896
51897         * doc/gnulib.texi (Obsolete modules): New section.
51898         Reported by Mike Frysinger <vapier@gentoo.org>.
51899
51900 2009-01-24  Bruno Haible  <bruno@clisp.org>
51901
51902         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
51903         (%.dvi): New rule.
51904
51905 2009-01-24  Bruno Haible  <bruno@clisp.org>
51906
51907         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
51908         Reported by Eric Blake.
51909
51910 2009-01-24  Bruno Haible  <bruno@clisp.org>
51911
51912         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
51913         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
51914         Reported by Gary V. Vaughan <gary@gnu.org>.
51915
51916 2009-01-24  Bruno Haible  <bruno@clisp.org>
51917
51918         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
51919
51920 2009-01-23  Bruno Haible  <bruno@clisp.org>
51921
51922         Make c-strtod, c-strtold usable in libraries.
51923         * lib/c-strtod.c: Include string.h instead of xalloc.h.
51924         (C_STRTOD): Call strdup instead of xstrdup.
51925         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
51926         * modules/c-strtold (Depends-on): Likewise.
51927         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
51928         * NEWS: Mention the change.
51929         Reported by Michael Gold <mgold@ncf.ca>.
51930
51931 2009-01-23  Jim Meyering  <meyering@redhat.com>
51932
51933         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
51934         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
51935         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
51936
51937 2009-01-23  Simon Josefsson  <simon@josefsson.org>
51938
51939         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
51940         GNU CoreUtils.
51941         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
51942         * modules/version-etc (Description): Update.
51943
51944 2009-01-22  Bruno Haible  <bruno@clisp.org>
51945
51946         Cache the C locale object.
51947         * lib/c-strtod.c (c_locale_cache): New variable.
51948         (c_locale): New function.
51949         (C_STRTOD): Use it, and don't call freelocale.
51950         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
51951         Suggested by Paolo Bonzini.
51952
51953 2009-01-21  Bruno Haible  <bruno@clisp.org>
51954
51955         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
51956         conditions other than overflow.
51957
51958 2009-01-21  Bruno Haible  <bruno@clisp.org>
51959
51960         * lib/c-strtod.c: Include errno.h.
51961         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
51962         value from STRTOD_L and STRTOD.
51963
51964 2009-01-21  Bruno Haible  <bruno@clisp.org>
51965         and Jim Meyering  <meyering@redhat.com>
51966
51967         nanosleep: skip configure test (fail it) for apple universal builds
51968         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
51969         universal builds, assume that nanosleep does not work.
51970         * modules/nanosleep (Depends-on): Add multiarch.
51971
51972         mktime: skip configure test (fail it) for apple universal builds
51973         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
51974         universal builds, assume that mktime does not work.
51975         * modules/mktime (Depends-on): Add multiarch.
51976
51977 2009-01-21  Eric Blake  <ebb9@byu.net>
51978
51979         multiarch: avoid expand-before-require warning
51980         * modules/multiarch (configure.ac): Require, rather than expand,
51981         gl_MULTIARCH.
51982         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
51983         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
51984         enforce that all clients require it.  Partial reversion of
51985         2008-12-29 patch.
51986
51987         error: avoid expand-before-require warning
51988         * modules/errno (configure.ac): Require, rather than expand,
51989         gl_HEADER_ERRNO_H.
51990         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
51991         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
51992         enforce that all clients require it.
51993
51994         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
51995         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
51996         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
51997         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
51998
51999 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
52000
52001         Revert:
52002         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
52003
52004         regex: do not depend on obsolete modules.
52005         * modules/regex: Remove memcmp and memmove.
52006
52007 2009-01-20  Bruno Haible  <bruno@clisp.org>
52008
52009         Make the 'link' module link on Windows NT 4.
52010         * lib/link.c (_WIN32_WINNT): Don't define.
52011         (CreateHardLinkFuncType): New type.
52012         (CreateHardLinkFunc, initialized): New variables.
52013         (initialize): New function.
52014         (link): Invoke CreateHardLink indirectly through the function pointer.
52015
52016 2009-01-20  Bruno Haible  <bruno@clisp.org>
52017
52018         Fix compilation failure on mingw.
52019         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
52020
52021 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
52022
52023         * doc/c-strtod.texi: Mention a couple of restrictions.
52024
52025 2009-01-20  Jim Meyering  <meyering@redhat.com>
52026
52027         gettimeofday: move more declarations out of functions
52028         * lib/gettimeofday.c: Move extern declarations of tzset and
52029         gmtime out of containing functions.  Prompted by Bruno Haible.
52030
52031 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
52032
52033         regex: do not depend on obsolete modules.
52034         * modules/regex: Remove memcmp and memmove.
52035
52036 2009-01-19  Bruno Haible  <bruno@clisp.org>
52037
52038         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
52039         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
52040         gl_BIGENDIAN, not AC_C_BIGENDIAN.
52041         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
52042         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
52043
52044 2009-01-19  Bruno Haible  <bruno@clisp.org>
52045
52046         * tests/test-link.c: Include <errno.h>.
52047         (main): Exit with code 77 when a hard link cannot be created due to
52048         the file system.
52049         * tests/test-link.sh: Skip test when a hard link cannot be created due
52050         to the file system.
52051         Suggested by Eric Blake.
52052
52053 2009-01-19  Martin Lambers  <marlam@marlam.de>
52054
52055         * modules/link-tests: New file.
52056         * tests/test-link.sh: New file.
52057         * tests/test-link.c: New file.
52058
52059 2009-01-19  Eric Blake  <ebb9@byu.net>
52060
52061         doc: mention another function added in cygwin 1.7.0
52062         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
52063         Another new function in cygwin 1.7.
52064
52065 2009-01-19  Bruno Haible  <bruno@clisp.org>
52066
52067         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
52068         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
52069         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
52070         gl_BIGENDIAN, not AC_C_BIGENDIAN.
52071         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
52072         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
52073         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
52074         * m4/md4.m4 (gl_MD4): Likewise.
52075         * m4/md5.m4 (gl_MD5): Likewise.
52076         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
52077         * m4/sha1.m4 (gl_SHA1): Likewise.
52078         * m4/sha256.m4 (gl_SHA256): Likewise.
52079         * m4/sha512.m4 (gl_SHA512): Likewise.
52080
52081 2009-01-19  Bruno Haible  <bruno@clisp.org>
52082
52083         * modules/uniname/uniname-tests (Depends-on): Add progname.
52084         * tests/uniname/test-uninames.c: Include progname.h.
52085         (main): Call set_program_name.
52086
52087         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
52088         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
52089         (main): Call set_program_name.
52090
52091         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
52092         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
52093         (main): Call set_program_name.
52094
52095         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
52096         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
52097         (main): Call set_program_name.
52098
52099         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
52100         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
52101         (main): Call set_program_name.
52102
52103         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
52104         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
52105         (main): Call set_program_name.
52106
52107         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
52108         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
52109         (main): Call set_program_name.
52110
52111         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
52112         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
52113         (main): Call set_program_name.
52114
52115         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
52116         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
52117         (main): Call set_program_name.
52118
52119 2009-01-19  Eric Blake  <ebb9@byu.net>
52120
52121         test-unistd: test previous patch
52122         * tests/test-unistd.c: Test *_FILENO macros.
52123
52124         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
52125         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52126         Guarantee a definition.
52127         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
52128         * modules/unistd-safer (Depends-on): Add dependency on unistd.
52129         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
52130         * lib/dup-safer.c (STDERR_FILENO): Likewise.
52131         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52132         Likewise.
52133         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
52134         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
52135         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52136         Likewise.
52137         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
52138         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
52139         (STDERR_FILENO): Likewise.
52140         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
52141         (STDERR_FILENO): Likewise.
52142         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
52143         (STDERR_FILENO): Likewise.
52144         Reported by Elbert Pol.
52145
52146 2009-01-19  Eric Blake  <ebb9@byu.net>
52147
52148         doc: mention more functions added in cygwin 1.7.0
52149         * doc/posix-functions/abort.texi (abort): Update wording related
52150         to cygwin.
52151         * doc/posix-functions/daylight.texi (daylight): Likewise.
52152         * doc/posix-functions/optarg.texi (optarg): Likewise.
52153         * doc/posix-functions/optarg.texi (opterr): Likewise.
52154         * doc/posix-functions/optarg.texi (optind): Likewise.
52155         * doc/posix-functions/optarg.texi (optopt): Likewise.
52156         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
52157         worked in 1.5.x, and was withdrawn in 1.7.
52158         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
52159         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
52160         cygwin versions.
52161         * doc/posix-functions/perror.texi (perror): Likewise.
52162         * doc/posix-functions/printf.texi (printf): Likewise.
52163         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
52164         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
52165         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
52166         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
52167         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
52168         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
52169         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
52170         Likewise.
52171         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
52172         Likewise.
52173         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
52174         this function.
52175         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
52176         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
52177         Likewise.
52178         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
52179         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
52180         * doc/posix-functions/confstr.texi (confstr): Likewise.
52181         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
52182         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
52183         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
52184         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
52185         * doc/posix-functions/fputws.texi (fputws): Likewise.
52186         * doc/posix-functions/fwide.texi (fwide): Likewise.
52187         * doc/posix-functions/getwc.texi (getwc): Likewise.
52188         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
52189         * doc/posix-functions/putwc.texi (putwc): Likewise.
52190         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
52191         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
52192         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
52193         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
52194         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
52195         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
52196         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
52197         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
52198         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
52199         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
52200         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
52201
52202 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
52203
52204         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
52205         * lib/ioctl.c: Include <sys/ioctl.h>.
52206
52207 2009-01-19  Simon Josefsson  <simon@josefsson.org>
52208
52209         * modules/getdate-tests (Depends-on): Add progname.
52210         * tests/test-getdate.c: Use progname module, to avoid link errors
52211         on non-glibc systems.
52212
52213 2009-01-18  Simon Josefsson  <simon@josefsson.org>
52214
52215         * modules/filenamecat-tests (Depends-on): Add progname.
52216         * modules/fstrcmp-tests (Depends-on): Likewise.
52217
52218         * tests/test-filenamecat.c: Use progname module, to avoid link
52219         errors on non-glibc systems.
52220         * tests/test-fstrcmp.c: Likewise.
52221
52222 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
52223
52224         gettimeofday: avoid warning: nested extern declaration of 'localtime'
52225         * lib/gettimeofday.c: Move extern declaration out of function.
52226
52227 2009-01-18  Bruno Haible  <bruno@clisp.org>
52228
52229         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
52230         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
52231         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
52232
52233 2009-01-18  Bruno Haible  <bruno@clisp.org>
52234
52235         * lib/strftime.c (MEMPCPY): Remove unused macro.
52236         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
52237
52238 2009-01-18  Martin Lambers  <marlam@marlam.de>
52239
52240         New module 'link'.
52241         * lib/unistd.in.h (link): New declaration.
52242         * lib/link.c: New file.
52243         * m4/link.m4: New file.
52244         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
52245         HAVE_LINK.
52246         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
52247         * modules/link: New file.
52248         * doc/posix-functions/link.texi: Mention the new module.
52249
52250 2009-01-18  Bruno Haible  <bruno@clisp.org>
52251
52252         * tests/test-avltree_list.c (main): Call set_program_name.
52253         * tests/test-avltree_oset.c (main): Likewise.
52254         * tests/test-obstack-printf.c: Include progname.h.
52255         (main): Call set_program_name.
52256         * tests/test-quotearg.c: Include progname.h.
52257         (main): Call set_program_name.
52258         * tests/test-xmemdup0.c: Include progname.h.
52259         (main): Call set_program_name.
52260
52261 2009-01-18  Bruno Haible  <bruno@clisp.org>
52262
52263         New module 'alphasort'.
52264         * lib/dirent.in.h (alphasort): New declaration.
52265         * lib/alphasort.c: New file, from glibc with modifications.
52266         * m4/alphasort.m4: New file.
52267         * modules/alphasort: New file.
52268         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
52269         HAVE_ALPHASORT.
52270         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
52271         HAVE_ALPHASORT.
52272         * doc/posix-functions/alphasort.texi: Mention the new module and the
52273         portability problems.
52274
52275 2009-01-18  Bruno Haible  <bruno@clisp.org>
52276
52277         New module 'scandir'.
52278         * lib/dirent.in.h (scandir): New declaration.
52279         * lib/scandir.c: New file, from glibc with modifications.
52280         * m4/scandir.m4: New file.
52281         * modules/scandir: New file.
52282         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
52283         HAVE_SCANDIR.
52284         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
52285         HAVE_SCANDIR.
52286         * doc/posix-functions/scandir.texi: Mention the new module and the
52287         portability problems.
52288
52289 2009-01-17  Bruno Haible  <bruno@clisp.org>
52290
52291         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
52292         Update documentation.
52293         (func_remove_suffix): Escape all dots in the suffix. Update
52294         documentation.
52295         (func_filter_filelist): Update documentation.
52296         Reported by Ralf Wildenhues.
52297
52298 2009-01-17  Bruno Haible  <bruno@clisp.org>
52299
52300         * modules/dprintf-posix-tests: New file.
52301         * tests/test-dprintf-posix.sh: New file.
52302         * tests/test-dprintf-posix.c: New file.
52303
52304         New modules 'dprintf', 'dprintf-posix'.
52305         * lib/stdio.in.h (dprintf): New declaration.
52306         * lib/dprintf.c: New file.
52307         * m4/dprintf.m4: New file.
52308         * m4/dprintf-posix.m4: New file.
52309         * modules/dprintf: New file.
52310         * modules/dprintf-posix: New file.
52311         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
52312         HAVE_DPRINTF, REPLACE_DPRINTF.
52313         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
52314         HAVE_DPRINTF, REPLACE_DPRINTF.
52315         * doc/posix-functions/dprintf.texi: Mention the new modules.
52316
52317 2009-01-17  Bruno Haible  <bruno@clisp.org>
52318
52319         * modules/vdprintf-posix-tests: New file.
52320         * tests/test-vdprintf-posix.sh: New file.
52321         * tests/test-vdprintf-posix.c: New file.
52322
52323         New modules 'vdprintf', 'vdprintf-posix'.
52324         * lib/stdio.in.h (vdprintf): New declaration.
52325         * lib/vdprintf.c: New file.
52326         * m4/vdprintf.m4: New file.
52327         * m4/vdprintf-posix.m4: New file.
52328         * modules/vdprintf: New file.
52329         * modules/vdprintf-posix: New file.
52330         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
52331         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52332         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
52333         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52334         * doc/posix-functions/vdprintf.texi: Mention the new modules.
52335
52336 2009-01-17  Bruno Haible  <bruno@clisp.org>
52337
52338         Fix replacement of fopen on mingw.
52339         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
52340         mingw.
52341
52342 2009-01-17  Bruno Haible  <bruno@clisp.org>
52343
52344         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
52345         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
52346
52347 2009-01-17  Bruno Haible  <bruno@clisp.org>
52348
52349         Avoid test-fflush2.sh failure on mingw.
52350         * tests/test-fflush2.c: Include binary-io.h.
52351         (main): Put standard input into binary mode.
52352         * modules/fflush-tests (Depends-on): Add binary-io.
52353
52354 2009-01-17  Bruno Haible  <bruno@clisp.org>
52355
52356         * lib/wchar.in.h: In another particular situation, include only the
52357         system's <wchar.h> file.
52358         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
52359         Reported by Albert Chin-A-Young <china@thewrittenword.com>
52360         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
52361
52362 2009-01-17  Bruno Haible  <bruno@clisp.org>
52363
52364         Support for stripping executables in --enable-relocatable.
52365         * build-aux/install-reloc: Expect one more argument, or an environment
52366         variable RELOC_STRIP_PROG. If set, strip the destination program and
52367         its wrapper.
52368         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
52369         RELOC_STRIP_PROG.
52370         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
52371         to set RELOCATABLE_STRIP.
52372         * NEWS: Mention the new Makefile requirement.
52373
52374 2009-01-17  Bruno Haible  <bruno@clisp.org>
52375
52376         * build-aux/install-reloc: Remove debugging information left over by
52377         C compiler on MacOS X.
52378
52379 2009-01-17  Bruno Haible  <bruno@clisp.org>
52380
52381         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
52382         * lib/progreloc.c (find_executable): Fix type of pointer passed to
52383         _NSGetExecutablePath.
52384
52385 2009-01-16  Jim Meyering  <meyering@redhat.com>
52386
52387         strerror: avoid warnings about discarding "const"
52388         * lib/strerror.c (rpl_strerror): Instead of returning a const
52389         string from each and every "case", use a variable, and add a single
52390         cast after the switch.
52391
52392 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
52393
52394         * lib/arpa_inet.in.h: Add extern "C" block for C++.
52395
52396 2009-01-16  Bruno Haible  <bruno@clisp.org>
52397
52398         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
52399         array initializer syntax that also works in C++ mode.
52400         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52401
52402 2009-01-16  Jim Meyering  <meyering@redhat.com>
52403
52404         poll: suppress a warning
52405         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
52406         to ignore "...unsigned expression < 0 is always false" warnings.
52407
52408 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
52409
52410         poll: remove declarations of unused variables
52411         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
52412         sockbuf and optlen.
52413
52414 2009-01-15  Bruno Haible  <bruno@clisp.org>
52415
52416         Make fflush-after-ungetc POSIX compliant on BSD systems.
52417         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
52418         (clear_ungetc_buffer): Implement also for other systems.
52419         (rpl_fflush): On glibc systems, invoke
52420         clear_ungetc_buffer_preserving_position. Otherwise, invoke
52421         clear_ungetc_buffer after fetching the stream's position, not before.
52422
52423 2009-01-15  Bruno Haible  <bruno@clisp.org>
52424
52425         Make fflush-after-ungetc POSIX compliant on glibc systems.
52426         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
52427         after ungetc.
52428         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
52429         (rpl_fflush): On glibc systems, simply call the system's fflush
52430         function after clearing the ungetc buffer.
52431         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
52432         Instead, lseek only to the end of file, then use the system's fseeko
52433         for the rest. On glibc systems, reset the EOF indicator bit.
52434
52435 2009-01-15  Jim Meyering  <meyering@redhat.com>
52436
52437         openmp.m4: revert quote-adding change, for portability to older autoconf
52438         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
52439         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
52440         Simon Josefsson noticed the problem when using autoconf-2.61.
52441
52442 2009-01-15  Bruno Haible  <bruno@clisp.org>
52443
52444         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
52445         * tests/test-fflush2.c (ASSERT): Always fail.
52446         (main): Add two tests for fflush() after ungetc(), taking into account
52447         the Austin Group's clarification.
52448         Suggested by Eric Blake.
52449
52450 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
52451
52452         mktime.m4: remove K&R-style function prototypes
52453         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
52454         for the Sun C++ compiler.
52455
52456 2009-01-14  Bruno Haible  <bruno@clisp.org>
52457
52458         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
52459         while including <wchar.h>.
52460         * lib/wchar.in.h: In two particular situations on HP-UX, include only
52461         the system's <wchar.h> file.
52462         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52463
52464 2009-01-14  Bruno Haible  <bruno@clisp.org>
52465
52466         * m4/csharp.m4: Don't mention gettext on the serial number line.
52467         * m4/csharpexec.m4: Likewise.
52468         * m4/eaccess.m4: Likewise.
52469         * m4/javaexec.m4: Likewise.
52470         * m4/sig_atomic_t.m4: Likewise.
52471         * m4/tmpdir.m4: Likewise.
52472         * m4/intldir.m4: Bump gettext version.
52473         * m4/lib-ld.m4: Likewise.
52474
52475 2009-01-14  Bruno Haible  <bruno@clisp.org>
52476
52477         * lib/progname.c (set_program_name): Add more comments.
52478         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
52479
52480 2009-01-14  Simon Josefsson  <simon@josefsson.org>
52481
52482         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
52483         were sys/stat.h does not define it.
52484
52485 2009-01-14  Jim Meyering  <meyering@redhat.com>
52486
52487         many *.m4 files: improve m4 quoting
52488         99% of this change was performed by running the following commands:
52489         git ls-files | grep '\.m4$' | xargs perl -pi \
52490           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
52491           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52492           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52493           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
52494         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
52495         The remainder were to add Copyright dates, increment serial numbers,
52496         undo some changes in comments, exclude m4/intl.m4, and add quotes
52497         around the "1" in ",1" where the unusual spacing prohibited the
52498         above regexps from doing the job.  For more details, see
52499         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
52500         * m4/acl.m4: Modified.
52501         * m4/afs.m4: Likewise.
52502         * m4/alloca.m4: Likewise.
52503         * m4/argp.m4: Likewise.
52504         * m4/argz.m4: Likewise.
52505         * m4/atexit.m4: Likewise.
52506         * m4/bison-i18n.m4: Likewise.
52507         * m4/bison.m4: Likewise.
52508         * m4/byteswap.m4: Likewise.
52509         * m4/c-stack.m4: Likewise.
52510         * m4/c-strtod.m4: Likewise.
52511         * m4/calloc.m4: Likewise.
52512         * m4/canonicalize-lgpl.m4: Likewise.
52513         * m4/chown.m4: Likewise.
52514         * m4/clock_time.m4: Likewise.
52515         * m4/codeset.m4: Likewise.
52516         * m4/copy-file.m4: Likewise.
52517         * m4/csharp.m4: Likewise.
52518         * m4/csharpcomp.m4: Likewise.
52519         * m4/csharpexec.m4: Likewise.
52520         * m4/d-ino.m4: Likewise.
52521         * m4/d-type.m4: Likewise.
52522         * m4/dirfd.m4: Likewise.
52523         * m4/double-slash-root.m4: Likewise.
52524         * m4/eaccess.m4: Likewise.
52525         * m4/eealloc.m4: Likewise.
52526         * m4/environ.m4: Likewise.
52527         * m4/errno_h.m4: Likewise.
52528         * m4/euidaccess.m4: Likewise.
52529         * m4/execute.m4: Likewise.
52530         * m4/fatal-signal.m4: Likewise.
52531         * m4/fchdir.m4: Likewise.
52532         * m4/fcntl_h.m4: Likewise.
52533         * m4/fileblocks.m4: Likewise.
52534         * m4/filenamecat.m4: Likewise.
52535         * m4/findprog.m4: Likewise.
52536         * m4/flexmember.m4: Likewise.
52537         * m4/fnmatch.m4: Likewise.
52538         * m4/fopen.m4: Likewise.
52539         * m4/fpending.m4: Likewise.
52540         * m4/fprintf-posix.m4: Likewise.
52541         * m4/free.m4: Likewise.
52542         * m4/frexp.m4: Likewise.
52543         * m4/frexpl.m4: Likewise.
52544         * m4/fsusage.m4: Likewise.
52545         * m4/ftruncate.m4: Likewise.
52546         * m4/gc-camellia.m4: Likewise.
52547         * m4/gc-random.m4: Likewise.
52548         * m4/gc.m4: Likewise.
52549         * m4/getaddrinfo.m4: Likewise.
52550         * m4/getcwd-abort-bug.m4: Likewise.
52551         * m4/getcwd-path-max.m4: Likewise.
52552         * m4/getdate.m4: Likewise.
52553         * m4/getdomainname.m4: Likewise.
52554         * m4/getgroups.m4: Likewise.
52555         * m4/gethostname.m4: Likewise.
52556         * m4/gethrxtime.m4: Likewise.
52557         * m4/getline.m4: Likewise.
52558         * m4/getloadavg.m4: Likewise.
52559         * m4/getndelim2.m4: Likewise.
52560         * m4/getpass.m4: Likewise.
52561         * m4/gettext.m4: Likewise.
52562         * m4/gettime.m4: Likewise.
52563         * m4/gettimeofday.m4: Likewise.
52564         * m4/gnulib-common.m4: Likewise.
52565         * m4/group-member.m4: Likewise.
52566         * m4/host-os.m4: Likewise.
52567         * m4/iconv.m4: Likewise.
52568         * m4/iconv_open.m4: Likewise.
52569         * m4/inet_ntop.m4: Likewise.
52570         * m4/inet_pton.m4: Likewise.
52571         * m4/inline.m4: Likewise.
52572         * m4/intldir.m4: Likewise.
52573         * m4/intlmacosx.m4: Likewise.
52574         * m4/intmax.m4: Likewise.
52575         * m4/intmax_t.m4: Likewise.
52576         * m4/inttypes.m4: Likewise.
52577         * m4/inttypes_h.m4: Likewise.
52578         * m4/inttypes-pri.m4: Likewise.
52579         * m4/isapipe.m4: Likewise.
52580         * m4/isnand.m4: Likewise.
52581         * m4/isnanf.m4: Likewise.
52582         * m4/isnanl.m4: Likewise.
52583         * m4/javacomp.m4: Likewise.
52584         * m4/javaexec.m4: Likewise.
52585         * m4/jm-winsz1.m4: Likewise.
52586         * m4/jm-winsz2.m4: Likewise.
52587         * m4/lchown.m4: Likewise.
52588         * m4/lcmessage.m4: Likewise.
52589         * m4/ldexpl.m4: Likewise.
52590         * m4/lib-ld.m4: Likewise.
52591         * m4/lib-link.m4: Likewise.
52592         * m4/libsigsegv.m4: Likewise.
52593         * m4/link-follow.m4: Likewise.
52594         * m4/localcharset.m4: Likewise.
52595         * m4/locale-fr.m4: Likewise.
52596         * m4/locale-ja.m4: Likewise.
52597         * m4/locale-tr.m4: Likewise.
52598         * m4/locale-zh.m4: Likewise.
52599         * m4/lock.m4: Likewise.
52600         * m4/longlong.m4: Likewise.
52601         * m4/ls-mntd-fs.m4: Likewise.
52602         * m4/lstat.m4: Likewise.
52603         * m4/malloc.m4: Likewise.
52604         * m4/mathl.m4: Likewise.
52605         * m4/mbrtowc.m4: Likewise.
52606         * m4/mbstate_t.m4: Likewise.
52607         * m4/mbswidth.m4: Likewise.
52608         * m4/memchr.m4: Likewise.
52609         * m4/memcmp.m4: Likewise.
52610         * m4/memcpy.m4: Likewise.
52611         * m4/memmem.m4: Likewise.
52612         * m4/memmove.m4: Likewise.
52613         * m4/mempcpy.m4: Likewise.
52614         * m4/memrchr.m4: Likewise.
52615         * m4/memset.m4: Likewise.
52616         * m4/minmax.m4: Likewise.
52617         * m4/mkdir-slash.m4: Likewise.
52618         * m4/mkdtemp.m4: Likewise.
52619         * m4/mktime.m4: Likewise.
52620         * m4/mmap-anon.m4: Likewise.
52621         * m4/mountlist.m4: Likewise.
52622         * m4/nanosleep.m4: Likewise.
52623         * m4/nls.m4: Likewise.
52624         * m4/nocrash.m4: Likewise.
52625         * m4/open.m4: Likewise.
52626         * m4/openat.m4: Likewise.
52627         * m4/openmp.m4: Likewise.
52628         * m4/pathmax.m4: Likewise.
52629         * m4/perl.m4: Likewise.
52630         * m4/physmem.m4: Likewise.
52631         * m4/pipe.m4: Likewise.
52632         * m4/po.m4: Likewise.
52633         * m4/poll.m4: Likewise.
52634         * m4/posixtm.m4: Likewise.
52635         * m4/posixver.m4: Likewise.
52636         * m4/printf-frexp.m4: Likewise.
52637         * m4/printf-frexpl.m4: Likewise.
52638         * m4/printf-posix.m4: Likewise.
52639         * m4/printf-posix-rpl.m4: Likewise.
52640         * m4/printf.m4: Likewise.
52641         * m4/progtest.m4: Likewise.
52642         * m4/putenv.m4: Likewise.
52643         * m4/readline.m4: Likewise.
52644         * m4/readlink.m4: Likewise.
52645         * m4/readutmp.m4: Likewise.
52646         * m4/realloc.m4: Likewise.
52647         * m4/regex.m4: Likewise.
52648         * m4/relocatable.m4: Likewise.
52649         * m4/relocatable-lib.m4: Likewise.
52650         * m4/rename-dest-slash.m4: Likewise.
52651         * m4/rename.m4: Likewise.
52652         * m4/rmdir-errno.m4: Likewise.
52653         * m4/rmdir.m4: Likewise.
52654         * m4/roundf.m4: Likewise.
52655         * m4/roundl.m4: Likewise.
52656         * m4/rpmatch.m4: Likewise.
52657         * m4/save-cwd.m4: Likewise.
52658         * m4/selinux-selinux-h.m4: Likewise.
52659         * m4/setenv.m4: Likewise.
52660         * m4/settime.m4: Likewise.
52661         * m4/sig2str.m4: Likewise.
52662         * m4/sig_atomic_t.m4: Likewise.
52663         * m4/signalblocking.m4: Likewise.
52664         * m4/signbit.m4: Likewise.
52665         * m4/sigpipe.m4: Likewise.
52666         * m4/sockets.m4: Likewise.
52667         * m4/sockpfaf.m4: Likewise.
52668         * m4/st_dm_mode.m4: Likewise.
52669         * m4/stat-time.m4: Likewise.
52670         * m4/stdbool.m4: Likewise.
52671         * m4/stdint.m4: Likewise.
52672         * m4/stdint_h.m4: Likewise.
52673         * m4/stpcpy.m4: Likewise.
52674         * m4/stpncpy.m4: Likewise.
52675         * m4/strcase.m4: Likewise.
52676         * m4/strchrnul.m4: Likewise.
52677         * m4/strcspn.m4: Likewise.
52678         * m4/strdup.m4: Likewise.
52679         * m4/strftime.m4: Likewise.
52680         * m4/strndup.m4: Likewise.
52681         * m4/strnlen.m4: Likewise.
52682         * m4/strpbrk.m4: Likewise.
52683         * m4/strptime.m4: Likewise.
52684         * m4/strsep.m4: Likewise.
52685         * m4/strtod.m4: Likewise.
52686         * m4/strtoimax.m4: Likewise.
52687         * m4/strtok_r.m4: Likewise.
52688         * m4/strtol.m4: Likewise.
52689         * m4/strtoll.m4: Likewise.
52690         * m4/strtoul.m4: Likewise.
52691         * m4/strtoull.m4: Likewise.
52692         * m4/strtoumax.m4: Likewise.
52693         * m4/strverscmp.m4: Likewise.
52694         * m4/threadlib.m4: Likewise.
52695         * m4/timegm.m4: Likewise.
52696         * m4/tm_gmtoff.m4: Likewise.
52697         * m4/tmpdir.m4: Likewise.
52698         * m4/tmpfile.m4: Likewise.
52699         * m4/tzset.m4: Likewise.
52700         * m4/uintmax_t.m4: Likewise.
52701         * m4/unlinkdir.m4: Likewise.
52702         * m4/unlocked-io.m4: Likewise.
52703         * m4/uptime.m4: Likewise.
52704         * m4/userspec.m4: Likewise.
52705         * m4/utimbuf.m4: Likewise.
52706         * m4/utime.m4: Likewise.
52707         * m4/utimes-null.m4: Likewise.
52708         * m4/utimes.m4: Likewise.
52709         * m4/vararrays.m4: Likewise.
52710         * m4/vasnprintf.m4: Likewise.
52711         * m4/vfprintf-posix.m4: Likewise.
52712         * m4/vprintf-posix.m4: Likewise.
52713         * m4/wait-process.m4: Likewise.
52714         * m4/wchar_t.m4: Likewise.
52715         * m4/wint_t.m4: Likewise.
52716         * m4/write-any-file.m4: Likewise.
52717         * m4/yield.m4: Likewise.
52718
52719 2009-01-13  Bruno Haible  <bruno@clisp.org>
52720
52721         Avoid test-copy-file.sh failures when ACL support insufficient.
52722         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
52723         TESTS_ENVIRONMENT.
52724         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
52725         Reported by Jim Meyering.
52726
52727 2009-01-13  Bruno Haible  <bruno@clisp.org>
52728
52729         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
52730         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
52731         * modules/unistdio/u8-printf-parse (Files): Likewise.
52732         * modules/unistdio/u32-printf-parse (Files): Likewise.
52733         * modules/unistdio/ulc-printf-parse (Files): Likewise.
52734
52735 2009-01-13  Simon Josefsson  <simon@josefsson.org>
52736
52737         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
52738         and m4/inttypes_h.m4 too.
52739
52740 2009-01-12  Eric Blake  <ebb9@byu.net>
52741
52742         tests: IRIX 6.2 cc can't compile -0.0 into .data
52743         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
52744         rather than at compile-time.
52745         * tests/test-floorl.c (minus_zero): Likewise.
52746         * tests/test-frexpl.c (minus_zero): Likewise.
52747         * tests/test-isnan.c (minus_zerol): Likewise.
52748         * tests/test-isnanl.h (minus_zero): Likewise.
52749         * tests/test-ldexpl.c (minus_zero): Likewise.
52750         * tests/test-roundl.c (minus_zero): Likewise.
52751         * tests/test-signbit.c (minus_zerol): Likewise.
52752         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52753         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52754         * tests/test-truncl.c (minus_zero): Likewise.
52755         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52756         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52757         Reported by Tom G. Christensen and Nelson H. F. Beebe.
52758
52759 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52760
52761         regex: fix glibc bug 9697
52762         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
52763         handling.
52764
52765 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52766
52767         regex: fix glibc bug 697
52768         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
52769         being NULL also if there are no backreferences.
52770
52771 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52772
52773         regex: merge glibc changes
52774         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
52775         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
52776         re_string_skip_chars, re_string_reconstruct): Likewise.
52777         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
52778
52779 2009-01-07  Jim Meyering  <meyering@redhat.com>
52780
52781         poll: filter through cppi
52782         * lib/poll.c: Indent cpp directives to reflect nesting.
52783
52784 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
52785
52786         poll: don't return uninitialized
52787         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
52788
52789 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
52790
52791         avoid compile failure on AIX 6.1
52792         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
52793         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
52794
52795 2009-01-04  Jim Meyering  <meyering@redhat.com>
52796
52797         remove duplicate inclusion of <stdio.h>
52798         * tests/test-fprintf-posix.c: Likewise.
52799         * tests/test-printf-posix.c: Likewise.
52800         * tests/test-snprintf-posix.c: Likewise.
52801         * tests/test-sprintf-posix.c: Likewise.
52802         * tests/test-vasprintf-posix.c: Likewise.
52803         * tests/test-vfprintf-posix.c: Likewise.
52804         * tests/test-vprintf-posix.c: Likewise.
52805         * tests/test-vsnprintf-posix.c: Likewise.
52806         * tests/test-vsprintf-posix.c: Likewise.
52807
52808 2009-01-03  Jim Meyering  <meyering@redhat.com>
52809
52810         gnulib-tool: fix sed-based filtering
52811         * gnulib-tool (func_filter_filelist): Remove extra backslash
52812         in sed_fff_filter definition.
52813
52814 2009-01-02  Jim Meyering  <meyering@redhat.com>
52815
52816         strftime: avoid compilation failure on Solaris 2.6
52817         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
52818         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
52819         Don't #define mbrlen or mbsinit, since now they're guaranteed to
52820         be available.  Reported by Tom G. Christensen.  Details in
52821         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
52822
52823 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52824             Bruno Haible  <bruno@clisp.org>
52825
52826         Speed up gnulib-tool by doing more string processing through shell
52827         built-ins.
52828         * gnulib-tool (fast_func_append): New variable.
52829         (func_remove_prefix, func_remove_suffix): New functions.
52830         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
52831         (func_filter_filelist): New function.
52832         (func_get_dependencies): Use func_remove_suffix instead of sed.
52833         (func_get_automake_snippet): Use func_filter_filelist instead of a
52834         subshell and sed invocation.
52835
52836 2009-01-01  Bruno Haible  <bruno@clisp.org>
52837
52838         Fix a security bug.
52839         * gnulib-tool (func_import, import, update): Don't allow the characters
52840         '"', '$', '`', '\' in macro arguments that become part of commands that
52841         are evaluated.
52842
52843 2009-01-01  Bruno Haible  <bruno@clisp.org>
52844
52845         * gnulib-tool (func_reset_sigpipe): Add more comments.
52846
52847 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52848
52849         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
52850         func_emit_tests_Makefile_am, func_import): Abort loops early if we
52851         already know the answer.
52852
52853 2009-01-01  Jim Meyering  <meyering@redhat.com>
52854
52855         * lib/version-etc.c (version_etc_va): Update copyright year.
52856
52857 2008-12-30  Bruno Haible  <bruno@clisp.org>
52858
52859         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
52860         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
52861         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
52862
52863 2008-12-29  Eric Blake  <ebb9@byu.net>
52864
52865         multiarch: avoid autoconf AC_REQUIRE bug
52866         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
52867         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
52868         2.63 and older.
52869         Reported by Bruno Haible, and analyzed in
52870         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
52871
52872 2008-12-29  Bruno Haible  <bruno@clisp.org>
52873
52874         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
52875         files in subdirectories correctly.
52876         Reported by Ralf Wildenhues.
52877
52878 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52879
52880         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
52881         rather than 'join FILE -', for Solaris join.
52882
52883 2008-12-29  Bruno Haible  <bruno@clisp.org>
52884
52885         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
52886         quoting.
52887         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
52888         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
52889         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
52890         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
52891         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
52892         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
52893         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
52894         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
52895         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
52896         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
52897         * m4/nls.m4 (AM_NLS): Likewise.
52898         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
52899         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
52900         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
52901         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
52902         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
52903         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
52904         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
52905         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
52906         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
52907         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
52908         * m4/xsize.m4 (gl_XSIZE): Likewise.
52909         Suggested by Jim Meyering.
52910
52911 2008-11-17  Bruce Korb  <bkorb@gnu.org>
52912
52913         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
52914         * lib/parse-duration.c: use a switch instead of cascading if's.
52915
52916 2008-12-29  Eric Blake  <ebb9@byu.net>
52917
52918         wchar.h: supply WEOF on Irix 5.3
52919         * lib/wchar.in.h (wint_t): Also supply WEOF.
52920         * lib/wctype.in.h (wint_t): Likewise.
52921         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
52922         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
52923         Reported by Tom G. Christensen.
52924
52925 2008-12-26  Bruno Haible  <bruno@clisp.org>
52926
52927         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
52928         i486, i586, i686.
52929
52930 2008-12-26  Bruno Haible  <bruno@clisp.org>
52931
52932         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
52933
52934 2008-12-26  Bruno Haible  <bruno@clisp.org>
52935
52936         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
52937         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
52938         not __STDC_CONSTANT_MACROS.
52939         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52940
52941 2008-12-25  Bruno Haible  <bruno@clisp.org>
52942
52943         Add support for universal builds to vasnprintf.
52944         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
52945         universal builds, guess no.
52946         * modules/vasnprintf-posix (Depends-on): Add multiarch.
52947         * modules/vasprintf-posix (Depends-on): Likewise.
52948         * modules/fprintf-posix (Depends-on): Likewise.
52949         * modules/vfprintf-posix (Depends-on): Likewise.
52950         * modules/snprintf-posix (Depends-on): Likewise.
52951         * modules/vsnprintf-posix (Depends-on): Likewise.
52952         * modules/sprintf-posix (Depends-on): Likewise.
52953         * modules/vsprintf-posix (Depends-on): Likewise.
52954         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52955         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52956         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52957         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52958         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52959         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52960         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52961
52962         Add support for universal builds to <inttypes.h>.
52963         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
52964         _SCNu64_PREFIX): In Apple
52965         universal builds, define directly, using _LP64.
52966         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
52967         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
52968         * modules/inttypes (Depends-on): Add multiarch.
52969         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52970
52971         Add support for universal builds to <stdint.h>.
52972         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
52973         universal builds, define directly, using _LP64.
52974         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
52975         Apple universal builds, don't test for the size and suffix of ptrdiff_t
52976         and size_t.
52977         * modules/stdint (Depends-on): Add multiarch.
52978         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52979
52980         New module 'multiarch'.
52981         * modules/multiarch: New file.
52982         * m4/multiarch.m4: New file.
52983
52984 2008-12-25  Bruno Haible  <bruno@clisp.org>
52985
52986         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
52987
52988 2008-12-25  Bruno Haible  <bruno@clisp.org>
52989
52990         * modules/btowc (License): Relicense under LGPLv2+.
52991         * modules/mbsinit (License): Likewise.
52992         * modules/mbrtowc (License): Likewise.
52993         * modules/wcrtomb (License): Likewise.
52994         * modules/streq (License): Likewise.
52995         Reported by David Lutterkort <lutter@redhat.com>.
52996
52997 2008-12-23  Bruno Haible  <bruno@clisp.org>
52998
52999         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
53000
53001 2008-12-23  Bruno Haible  <bruno@clisp.org>
53002
53003         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
53004         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
53005         GETADDRINFO_LIB, not in LIBS.
53006         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
53007         * modules/canon-host (Link): Likewise.
53008         * NEWS: Mention the change.
53009         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
53010         GETADDRINFO_LIB.
53011
53012 2008-12-22  Bruno Haible  <bruno@clisp.org>
53013
53014         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
53015         * doc/posix-functions/iswalpha_l.texi: Likewise.
53016         * doc/posix-functions/iswblank_l.texi: Likewise.
53017         * doc/posix-functions/iswcntrl_l.texi: Likewise.
53018         * doc/posix-functions/iswctype_l.texi: Likewise.
53019         * doc/posix-functions/iswdigit_l.texi: Likewise.
53020         * doc/posix-functions/iswgraph_l.texi: Likewise.
53021         * doc/posix-functions/iswlower_l.texi: Likewise.
53022         * doc/posix-functions/iswprint_l.texi: Likewise.
53023         * doc/posix-functions/iswpunct_l.texi: Likewise.
53024         * doc/posix-functions/iswspace_l.texi: Likewise.
53025         * doc/posix-functions/iswupper_l.texi: Likewise.
53026         * doc/posix-functions/iswxdigit_l.texi: Likewise.
53027         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
53028         * doc/posix-functions/open_wmemstream.texi: Likewise.
53029         * doc/posix-functions/swscanf.texi: Likewise.
53030         * doc/posix-functions/towctrans_l.texi: Likewise.
53031         * doc/posix-functions/towlower.texi: Likewise.
53032         * doc/posix-functions/towlower_l.texi: Likewise.
53033         * doc/posix-functions/towupper.texi: Likewise.
53034         * doc/posix-functions/towupper_l.texi: Likewise.
53035         * doc/posix-functions/vfwprintf.texi: Likewise.
53036         * doc/posix-functions/vfwscanf.texi: Likewise.
53037         * doc/posix-functions/vswscanf.texi: Likewise.
53038         * doc/posix-functions/vwprintf.texi: Likewise.
53039         * doc/posix-functions/vwscanf.texi: Likewise.
53040         * doc/posix-functions/wcpcpy.texi: Likewise.
53041         * doc/posix-functions/wcpncpy.texi: Likewise.
53042         * doc/posix-functions/wcscasecmp.texi: Likewise.
53043         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
53044         * doc/posix-functions/wcscoll_l.texi: Likewise.
53045         * doc/posix-functions/wcsdup.texi: Likewise.
53046         * doc/posix-functions/wcsncasecmp.texi: Likewise.
53047         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
53048         * doc/posix-functions/wcsnlen.texi: Likewise.
53049         * doc/posix-functions/wcsnrtombs.texi: Likewise.
53050         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
53051         * doc/posix-functions/wctrans_l.texi: Likewise.
53052         * doc/posix-functions/wctype_l.texi: Likewise.
53053         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
53054         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
53055         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
53056         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
53057         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
53058         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
53059         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
53060         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
53061         * doc/glibc-functions/wcschrnul.texi: Likewise.
53062         * doc/glibc-functions/wcsftime_l.texi: Likewise.
53063         * doc/glibc-functions/wcstod_l.texi: Likewise.
53064         * doc/glibc-functions/wcstof_l.texi: Likewise.
53065         * doc/glibc-functions/wcstol_l.texi: Likewise.
53066         * doc/glibc-functions/wcstold_l.texi: Likewise.
53067         * doc/glibc-functions/wcstoll_l.texi: Likewise.
53068         * doc/glibc-functions/wcstoq.texi: Likewise.
53069         * doc/glibc-functions/wcstoul_l.texi: Likewise.
53070         * doc/glibc-functions/wcstoull_l.texi: Likewise.
53071         * doc/glibc-functions/wcstouq.texi: Likewise.
53072         * doc/glibc-functions/wmempcpy.texi: Likewise.
53073
53074 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
53075             Eric Blake  <ebb9@byu.net>
53076             Paolo Bonzini  <bonzini@gnu.org>
53077             Bruno Haible  <bruno@clisp.org>
53078
53079         Make c-stack work on Haiku.
53080         * lib/c-stack.c (SA_ONSTACK): Define fallback.
53081         (c_stack_action): Use SA_ONSTACK flag.
53082
53083 2008-12-22  Bruno Haible  <bruno@clisp.org>
53084
53085         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
53086
53087 2008-12-22  Bruno Haible  <bruno@clisp.org>
53088
53089         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
53090         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
53091         being overridden.
53092         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
53093         New macros.
53094         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
53095         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
53096         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
53097         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
53098
53099 2008-12-22  Bruno Haible  <bruno@clisp.org>
53100
53101         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
53102         from test code.
53103
53104 2008-12-22  Eric Blake  <ebb9@byu.net>
53105
53106         Avoid gcc warnings on cygwin.
53107         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
53108         Avoid unused variable.
53109         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
53110         Likewise.
53111
53112 2008-12-22  Bruno Haible  <bruno@clisp.org>
53113
53114         Remove HAVE_MBRTOWC conditionals.
53115         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
53116         (mbscasecmp): Assume mbrtowc function.
53117         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
53118         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
53119         * lib/mbschr.c: Include mbuiter.h unconditionally.
53120         (mbschr): Assume mbrtowc function.
53121         * lib/mbscspn.c: Include mbuiter.h unconditionally.
53122         (mbscspn): Assume mbrtowc function.
53123         * lib/mbslen.c: Include mbuiter.h unconditionally.
53124         (mbslen): Assume mbrtowc function.
53125         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
53126         (mbsncasecmp): Assume mbrtowc function.
53127         * lib/mbsnlen.c: Include mbiter.h unconditionally.
53128         (mbsnlen): Assume mbrtowc function.
53129         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
53130         (mbspbrk): Assume mbrtowc function.
53131         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
53132         (mbspcasecmp): Assume mbrtowc function.
53133         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
53134         (mbsrchr): Assume mbrtowc function.
53135         * lib/mbssep.c: Include mbuiter.h unconditionally.
53136         (mbssep): Assume mbrtowc function.
53137         * lib/mbsspn.c: Include mbuiter.h unconditionally.
53138         (mbsspn): Assume mbrtowc function.
53139         * lib/mbsstr.c: Include mbuiter.h unconditionally.
53140         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
53141         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
53142         (mbstok_r): Assume mbrtowc function.
53143         * lib/propername.c: Include mbuiter.h unconditionally.
53144         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
53145         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
53146         (trim2): Assume mbrtowc function.
53147         * lib/mbswidth.c (mbsinit): Remove fallback definition.
53148         (mbsnwidth): Assume mbrtowc function.
53149         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
53150         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
53151         fallback definitions.
53152         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
53153
53154 2008-12-22  Bruno Haible  <bruno@clisp.org>
53155
53156         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
53157
53158 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
53159
53160         * modules/regex: Request emulations for the mb*/wc* functions we need.
53161         * m4/regex.m4: Don't look for those functions here.
53162         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
53163
53164 2008-12-22  Bruno Haible  <bruno@clisp.org>
53165
53166         * modules/fnmatch (Depends-on): Remove duplicated dependency.
53167
53168 2008-12-21  Bruno Haible  <bruno@clisp.org>
53169
53170         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
53171         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
53172         (Include): Remove conditionalization.
53173         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
53174         (Include): Remove conditionalization.
53175         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
53176         (Include): Remove conditionalization.
53177         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
53178         * m4/mbfile.m4 (gl_MBFILE): Likewise.
53179         * NEWS: Mention the change.
53180         Reported by Alan Hourihane <alanh@fairlite.co.uk>
53181         via Sergey Poznyakoff <gray@gnu.org.ua>.
53182
53183 2008-12-21  Bruno Haible  <bruno@clisp.org>
53184
53185         * MODULES.html.sh (Extended multibyte and wide character utilities
53186         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
53187         wcrtomb, wcsrtombs.
53188         (Support for systems lacking POSIX:2008): Add accept, bind, close,
53189         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
53190         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
53191         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
53192
53193 2008-12-21  Bruno Haible  <bruno@clisp.org>
53194
53195         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
53196
53197 2008-12-21  Bruno Haible  <bruno@clisp.org>
53198
53199         * modules/wcsnrtombs-tests: New file.
53200         * tests/test-wcsnrtombs1.sh: New file.
53201         * tests/test-wcsnrtombs2.sh: New file.
53202         * tests/test-wcsnrtombs3.sh: New file.
53203         * tests/test-wcsnrtombs4.sh: New file.
53204         * tests/test-wcsnrtombs.c: New file.
53205
53206         New module 'wcsnrtombs'.
53207         * lib/wchar.in.h (wcsnrtombs): New declaration.
53208         * lib/wcsnrtombs.c: New file.
53209         * lib/wcsrtombs-state.c: New file.
53210         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
53211         (internal_state): Remove variable.
53212         * m4/wcsnrtombs.m4: New file.
53213         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
53214         compilation units.
53215         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
53216         HAVE_WCSNRTOMBS.
53217         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
53218         HAVE_WCSNRTOMBS.
53219         * modules/wcsnrtombs: New file.
53220         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
53221         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
53222
53223 2008-12-21  Bruno Haible  <bruno@clisp.org>
53224
53225         * modules/wcsrtombs-tests: New file.
53226         * tests/test-wcsrtombs1.sh: New file.
53227         * tests/test-wcsrtombs2.sh: New file.
53228         * tests/test-wcsrtombs3.sh: New file.
53229         * tests/test-wcsrtombs4.sh: New file.
53230         * tests/test-wcsrtombs.c: New file.
53231
53232         New module 'wcsrtombs'.
53233         * lib/wchar.in.h (wcsrtombs): New declaration.
53234         * lib/wcsrtombs.c: New file.
53235         * m4/wcsrtombs.m4: New file.
53236         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
53237         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
53238         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
53239         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
53240         * modules/wcsrtombs: New file.
53241         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
53242         bugs.
53243
53244 2008-12-21  Bruno Haible  <bruno@clisp.org>
53245
53246         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
53247         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
53248         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
53249         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
53250         if not correct.
53251         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
53252         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
53253         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53254         m4/locale-zh.m4, m4/codeset.m4.
53255         * doc/posix-functions/wcrtomb.texi: Document the bug.
53256
53257 2008-12-21  Bruno Haible  <bruno@clisp.org>
53258
53259         Work around a btowc() bug on IRIX 6.5.
53260         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
53261         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
53262         REPLACE_WTOBC if not.
53263         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
53264         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
53265         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
53266
53267 2008-12-21  Bruno Haible  <bruno@clisp.org>
53268
53269         * modules/wcrtomb-tests: New file.
53270         * tests/test-wcrtomb.sh: New file.
53271         * tests/test-wcrtomb.c: New file.
53272
53273         New module 'wcrtomb'.
53274         * lib/wchar.in.h (wcrtomb): New declaration.
53275         * lib/wcrtomb.c: New file.
53276         * m4/wcrtomb.m4: New file.
53277         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
53278         HAVE_WCRTOMB.
53279         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
53280         HAVE_WCRTOMB.
53281         * modules/wcrtomb: New file.
53282         * doc/posix-functions/wcrtomb.texi: Mention the new module.
53283
53284 2008-12-21  Bruno Haible  <bruno@clisp.org>
53285
53286         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
53287         * modules/mbsrtowcs (Files): Likewise.
53288         * modules/wctob (Files): Likewise.
53289         * modules/c-strcase-tests (Files): Likewise.
53290         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
53291         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
53292         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
53293         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
53294         * modules/vasnprintf-posix-tests (Files): Likewise.
53295
53296 2008-12-21  William Pursell  <bill.pursell@gmail.com>
53297
53298         gitlog-to-changelog: pass all command-line arguments to git-log
53299         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
53300         it is sometimes convenient to filter the commits in various ways.
53301         gitlog-to-changelog only allows --since to specify a start date,
53302         but git-log itself supports many other filtering mechanisms.
53303         At the moment, I want to filter by branch name.  Rather than
53304         adding a --branch option to gitlog-to-changelog, it seems more
53305         flexible to simply pass all options directly to git-log and let
53306         git do the work.  Notice that this effectively makes --since a
53307         redundant option for gitlog-to-changelog, but removing it would
53308         require current usage to change since calls would then require
53309         an additional '--'.
53310
53311 2008-12-21  Bruno Haible  <bruno@clisp.org>
53312
53313         * modules/mbsnrtowcs-tests: New file.
53314         * tests/test-mbsnrtowcs1.sh: New file.
53315         * tests/test-mbsnrtowcs2.sh: New file.
53316         * tests/test-mbsnrtowcs3.sh: New file.
53317         * tests/test-mbsnrtowcs4.sh: New file.
53318         * tests/test-mbsnrtowcs.c: New file.
53319
53320         New module 'mbsnrtowcs'.
53321         * lib/wchar.in.h (mbsnrtowcs): New declaration.
53322         * lib/mbsnrtowcs.c: New file.
53323         * lib/mbsrtowcs-state.c: New file.
53324         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
53325         (internal_state): Remove variable.
53326         * m4/mbsnrtowcs.m4: New file.
53327         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
53328         compilation units.
53329         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
53330         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53331         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
53332         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53333         * modules/mbsnrtowcs: New file.
53334         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
53335         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
53336         portability problem.
53337
53338 2008-12-21  Bruno Haible  <bruno@clisp.org>
53339
53340         Work around mbsrtowcs bug.
53341         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
53342         (gl_FUNC_MBSRTOWCS): Invoke it.
53343         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53344         m4/locale-zh.m4.
53345         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
53346
53347 2008-12-21  Bruno Haible  <bruno@clisp.org>
53348
53349         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
53350
53351 2008-12-21  Bruno Haible  <bruno@clisp.org>
53352
53353         Update doc for AIX.
53354         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
53355         16-bit wchar_t type.
53356         * doc/posix-functions/btowc.texi: Likewise.
53357         * doc/posix-functions/fgetwc.texi: Likewise.
53358         * doc/posix-functions/fgetws.texi: Likewise.
53359         * doc/posix-functions/fputwc.texi: Likewise.
53360         * doc/posix-functions/fputws.texi: Likewise.
53361         * doc/posix-functions/fwide.texi: Likewise.
53362         * doc/posix-functions/fwprintf.texi: Likewise.
53363         * doc/posix-functions/fwscanf.texi: Likewise.
53364         * doc/posix-functions/getwchar.texi: Likewise.
53365         * doc/posix-functions/getwc.texi: Likewise.
53366         * doc/posix-functions/iswalnum.texi: Likewise.
53367         * doc/posix-functions/iswalpha.texi: Likewise.
53368         * doc/posix-functions/iswblank.texi: Likewise.
53369         * doc/posix-functions/iswcntrl.texi: Likewise.
53370         * doc/posix-functions/iswctype.texi: Likewise.
53371         * doc/posix-functions/iswdigit.texi: Likewise.
53372         * doc/posix-functions/iswgraph.texi: Likewise.
53373         * doc/posix-functions/iswlower.texi: Likewise.
53374         * doc/posix-functions/iswprint.texi: Likewise.
53375         * doc/posix-functions/iswpunct.texi: Likewise.
53376         * doc/posix-functions/iswspace.texi: Likewise.
53377         * doc/posix-functions/iswupper.texi: Likewise.
53378         * doc/posix-functions/iswxdigit.texi: Likewise.
53379         * doc/posix-functions/mbrtowc.texi: Likewise.
53380         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53381         * doc/posix-functions/mbstowcs.texi: Likewise.
53382         * doc/posix-functions/mbtowc.texi: Likewise.
53383         * doc/posix-functions/putwchar.texi: Likewise.
53384         * doc/posix-functions/putwc.texi: Likewise.
53385         * doc/posix-functions/swprintf.texi: Likewise.
53386         * doc/posix-functions/tolower.texi: Likewise.
53387         * doc/posix-functions/toupper.texi: Likewise.
53388         * doc/posix-functions/towctrans.texi: Likewise.
53389         * doc/posix-functions/ungetwc.texi: Likewise.
53390         * doc/posix-functions/vswprintf.texi: Likewise.
53391         * doc/posix-functions/wcrtomb.texi: Likewise.
53392         * doc/posix-functions/wcscat.texi: Likewise.
53393         * doc/posix-functions/wcschr.texi: Likewise.
53394         * doc/posix-functions/wcscmp.texi: Likewise.
53395         * doc/posix-functions/wcscoll.texi: Likewise.
53396         * doc/posix-functions/wcscpy.texi: Likewise.
53397         * doc/posix-functions/wcscspn.texi: Likewise.
53398         * doc/posix-functions/wcsftime.texi: Likewise.
53399         * doc/posix-functions/wcslen.texi: Likewise.
53400         * doc/posix-functions/wcsncat.texi: Likewise.
53401         * doc/posix-functions/wcsncmp.texi: Likewise.
53402         * doc/posix-functions/wcsncpy.texi: Likewise.
53403         * doc/posix-functions/wcspbrk.texi: Likewise.
53404         * doc/posix-functions/wcsrchr.texi: Likewise.
53405         * doc/posix-functions/wcsrtombs.texi: Likewise.
53406         * doc/posix-functions/wcsspn.texi: Likewise.
53407         * doc/posix-functions/wcsstr.texi: Likewise.
53408         * doc/posix-functions/wcstod.texi: Likewise.
53409         * doc/posix-functions/wcstof.texi: Likewise.
53410         * doc/posix-functions/wcstoimax.texi: Likewise.
53411         * doc/posix-functions/wcstok.texi: Likewise.
53412         * doc/posix-functions/wcstold.texi: Likewise.
53413         * doc/posix-functions/wcstoll.texi: Likewise.
53414         * doc/posix-functions/wcstol.texi: Likewise.
53415         * doc/posix-functions/wcstombs.texi: Likewise.
53416         * doc/posix-functions/wcstoull.texi: Likewise.
53417         * doc/posix-functions/wcstoul.texi: Likewise.
53418         * doc/posix-functions/wcstoumax.texi: Likewise.
53419         * doc/posix-functions/wcswidth.texi: Likewise.
53420         * doc/posix-functions/wcsxfrm.texi: Likewise.
53421         * doc/posix-functions/wctob.texi: Likewise.
53422         * doc/posix-functions/wctomb.texi: Likewise.
53423         * doc/posix-functions/wctrans.texi: Likewise.
53424         * doc/posix-functions/wctype.texi: Likewise.
53425         * doc/posix-functions/wcwidth.texi: Likewise.
53426         * doc/posix-functions/wmemchr.texi: Likewise.
53427         * doc/posix-functions/wmemcmp.texi: Likewise.
53428         * doc/posix-functions/wmemcpy.texi: Likewise.
53429         * doc/posix-functions/wmemmove.texi: Likewise.
53430         * doc/posix-functions/wmemset.texi: Likewise.
53431         * doc/posix-functions/wprintf.texi: Likewise.
53432         * doc/posix-functions/wscanf.texi: Likewise.
53433
53434 2008-12-21  Bruno Haible  <bruno@clisp.org>
53435
53436         Update doc for HP-UX 11.11.
53437         * doc/posix-functions/btowc.texi: Clarify that the function is missing
53438         in HP-UX version 11.00, not in all versions of HP-UX 11.
53439         * doc/posix-functions/fwide.texi: Likewise.
53440         * doc/posix-functions/fwprintf.texi: Likewise.
53441         * doc/posix-functions/fwscanf.texi: Likewise.
53442         * doc/posix-functions/inet_ntop.texi: Likewise.
53443         * doc/posix-functions/inet_pton.texi: Likewise.
53444         * doc/posix-functions/mbrlen.texi: Likewise.
53445         * doc/posix-functions/mbrtowc.texi: Likewise.
53446         * doc/posix-functions/mbsinit.texi: Likewise.
53447         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53448         * doc/posix-functions/swprintf.texi: Likewise.
53449         * doc/posix-functions/swscanf.texi: Likewise.
53450         * doc/posix-functions/towctrans.texi: Likewise.
53451         * doc/posix-functions/vfwprintf.texi: Likewise.
53452         * doc/posix-functions/vswprintf.texi: Likewise.
53453         * doc/posix-functions/vwprintf.texi: Likewise.
53454         * doc/posix-functions/wcrtomb.texi: Likewise.
53455         * doc/posix-functions/wcsrtombs.texi: Likewise.
53456         * doc/posix-functions/wcsstr.texi: Likewise.
53457         * doc/posix-functions/wctob.texi: Likewise.
53458         * doc/posix-functions/wctrans.texi: Likewise.
53459         * doc/posix-functions/wmemchr.texi: Likewise.
53460         * doc/posix-functions/wmemcmp.texi: Likewise.
53461         * doc/posix-functions/wmemcpy.texi: Likewise.
53462         * doc/posix-functions/wmemmove.texi: Likewise.
53463         * doc/posix-functions/wmemset.texi: Likewise.
53464         * doc/posix-functions/wprintf.texi: Likewise.
53465         * doc/posix-functions/wscanf.texi: Likewise.
53466
53467 2008-12-21  Bruno Haible  <bruno@clisp.org>
53468
53469         Work around a portability problem.
53470         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
53471         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
53472
53473 2008-12-20  Bruno Haible  <bruno@clisp.org>
53474
53475         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
53476         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
53477         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
53478         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
53479         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
53480
53481         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
53482         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
53483         set.
53484         (GNULIB_defined_mbstate_t): New macro.
53485         (mbsinit): Redefine if REPLACE_MBSINIT is set.
53486         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
53487         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
53488         reuses the system's mbrtowc function but works around the bugs.
53489         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
53490         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
53491         macros.
53492         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
53493         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
53494         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
53495         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
53496         REPLACE_MBSINIT if mbsinit needs to be overridden.
53497         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
53498         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53499         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
53500         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53501         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53502         m4/locale-zh.m4.
53503         (Depends): Add mbsinit.
53504         * modules/mbsinit (Depends): Add mbrtowc.
53505         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
53506
53507 2008-12-20  Bruno Haible  <bruno@clisp.org>
53508
53509         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
53510         so that there are no conversion errors on AIX.
53511         * tests/test-mbsrtowcs.c (main): LIkewise.
53512
53513 2008-12-20  Bruno Haible  <bruno@clisp.org>
53514
53515         Work around wctob bug on Solaris <= 9.
53516         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
53517         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
53518         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
53519         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
53520         * modules/wctob (Files): Add m4/locale-fr.m4.
53521         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
53522
53523 2008-12-20  Bruno Haible  <bruno@clisp.org>
53524
53525         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
53526         /dev/null.
53527         * tests/test-select-in.sh: Likewise.
53528         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53529
53530 2008-12-20  Bruno Haible  <bruno@clisp.org>
53531
53532         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
53533         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
53534         Cygwin 1.5.x.
53535
53536 2008-12-20  Bruno Haible  <bruno@clisp.org>
53537
53538         Ensure mbstate_t is defined on HP-UX 11.11.
53539         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
53540         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
53541         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
53542         AC_USE_SYSTEM_EXTENSIONS.
53543         * modules/fnmatch (Depends-on): Add extensions.
53544         * modules/mbrlen (Depends-on): Likewise.
53545         * modules/mbrtowc (Depends-on): Likewise.
53546         * modules/mbsinit (Depends-on): Likewise.
53547         * modules/mbsrtowcs (Depends-on): Likewise.
53548         * modules/mbswidth (Depends-on): Likewise.
53549         * modules/quotearg (Depends-on): Likewise.
53550         * modules/strftime (Depends-on): Likewise.
53551
53552 2008-12-20  Bruno Haible  <bruno@clisp.org>
53553
53554         Ensure wctob is declared on IRIX 6.5.
53555         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
53556         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
53557         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
53558         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
53559         of HAVE_WCTOB.
53560         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
53561         HAVE_WCTOB.
53562         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
53563
53564 2008-12-19  Bruno Haible  <bruno@clisp.org>
53565
53566         * modules/mbsrtowcs-tests: New file.
53567         * tests/test-mbsrtowcs1.sh: New file.
53568         * tests/test-mbsrtowcs2.sh: New file.
53569         * tests/test-mbsrtowcs3.sh: New file.
53570         * tests/test-mbsrtowcs4.sh: New file.
53571         * tests/test-mbsrtowcs.c: New file.
53572
53573         New module 'mbsrtowcs'.
53574         * lib/wchar.in.h (mbsrtowcs): New declaration.
53575         * lib/mbsrtowcs.c: New file.
53576         * m4/mbsrtowcs.m4: New file.
53577         * modules/mbsrtowcs: New file.
53578         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
53579         HAVE_MBSRTOWCS.
53580         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
53581         HAVE_MBSRTOWCS.
53582         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
53583
53584 2008-12-19  Bruno Haible  <bruno@clisp.org>
53585
53586         New module 'mbrlen'.
53587         * lib/wchar.in.h (mbrlen): New declaration.
53588         * lib/mbrlen.c: New file.
53589         * m4/mbrlen.m4: New file.
53590         * modules/mbrlen: New file.
53591         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
53592         HAVE_MBRLEN.
53593         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
53594         HAVE_MBRLEN.
53595         * doc/posix-functions/mbrlen.texi: Document the new module.
53596
53597 2008-12-19  Bruno Haible  <bruno@clisp.org>
53598
53599         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
53600         * modules/mbrtowc (Depends-on): Add verify.
53601         Suggested by Paul Eggert.
53602
53603 2008-12-18  Bruno Haible  <bruno@clisp.org>
53604
53605         * modules/mbsinit-tests: New file.
53606         * tests/test-mbsinit.sh: New file.
53607         * tests/test-mbsinit.c: New file.
53608
53609 2008-12-18  Bruno Haible  <bruno@clisp.org>
53610
53611         * modules/mbrtowc-tests: New file.
53612         * tests/test-mbrtowc1.sh: New file.
53613         * tests/test-mbrtowc2.sh: New file.
53614         * tests/test-mbrtowc3.sh: New file.
53615         * tests/test-mbrtowc4.sh: New file.
53616         * tests/test-mbrtowc.c: New file.
53617
53618         New module 'mbrtowc'.
53619         * lib/wchar.in.h (mbstate_t): Override when the system does not have
53620         mbsinit and mbrtowc.
53621         (mbrtowc): New declaration.
53622         * lib/mbrtowc.c: New file.
53623         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
53624         * modules/mbrtowc: New file.
53625         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
53626         HAVE_MBRTOWC.
53627         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
53628         HAVE_MBRTOWC.
53629         * doc/posix-functions/mbrtowc.texi: Document the new module.
53630
53631 2008-12-18  Bruno Haible  <bruno@clisp.org>
53632
53633         New module 'wctob'.
53634         * lib/wchar.in.h (wctob): New declaration.
53635         * lib/wctob.c: New file.
53636         * m4/wctob.m4: New file.
53637         * modules/wctob: New file.
53638         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
53639         HAVE_WCTOB.
53640         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
53641         * doc/posix-functions/wctob.texi: Document the new module.
53642
53643 2008-12-18  Bruno Haible  <bruno@clisp.org>
53644
53645         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
53646         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
53647
53648 2008-12-18  Simon Josefsson  <simon@josefsson.org>
53649
53650         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
53651         G. Christensen" <tgc@jupiterrise.com>.
53652
53653         * lib/flock.c: Need to include errno.h.  Reported by "Tom
53654         G. Christensen" <tgc@jupiterrise.com>.
53655
53656         * lib/flock.c: Need to include string.h.  Reported by "Tom
53657         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
53658         <ebb9@byu.net>.
53659
53660 2008-12-18  Bruno Haible  <bruno@clisp.org>
53661
53662         * m4/locale-ja.m4: New file, from GNU gettext.
53663
53664 2008-12-17  Bruno Haible  <bruno@clisp.org>
53665
53666         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
53667         Suggested by Eric Blake.
53668
53669 2008-12-17  Bruno Haible  <bruno@clisp.org>
53670
53671         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
53672
53673 2008-12-17  Bruno Haible  <bruno@clisp.org>
53674
53675         * lib/mbsinit.c: Include verify.h. Verify an assumption.
53676         * modules/mbsinit (Depends-on): Add verify.
53677         Suggested by Paul Eggert.
53678
53679 2008-12-17  Bruno Haible  <bruno@clisp.org>
53680
53681         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
53682         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
53683         gl_FUNC_MBRTOWC.
53684         * m4/mbiter.m4 (gl_MBITER): LIkewise.
53685         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
53686         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
53687         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
53688         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
53689         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
53690         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
53691         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
53692         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
53693         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
53694         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
53695         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
53696         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
53697         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
53698         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
53699         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53700         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
53701         * modules/trim (configure.ac): Likewise.
53702
53703 2008-12-17  Bruno Haible  <bruno@clisp.org>
53704
53705         * modules/btowc-tests: New file.
53706         * tests/test-btowc1.sh: New file.
53707         * tests/test-btowc2.sh: New file.
53708         * tests/test-btowc.c: New file.
53709
53710         New module 'btowc'.
53711         * lib/wchar.in.h (btowc): New declaration.
53712         * lib/btowc.c: New file.
53713         * m4/btowc.m4: New file.
53714         * modules/btowc: New file.
53715         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
53716         HAVE_BTOWC.
53717         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
53718         * doc/posix-functions/btowc.texi: Document the new module.
53719
53720 2008-12-17  Bruno Haible  <bruno@clisp.org>
53721
53722         New module 'mbsinit'.
53723         * lib/wchar.in.h (mbsinit): New declaration.
53724         * lib/mbsinit.c: New file.
53725         * m4/mbsinit.m4: New file.
53726         * modules/mbsinit: New file.
53727         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
53728         HAVE_MBSINIT.
53729         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
53730         HAVE_MBSINIT.
53731         * doc/posix-functions/mbsinit.texi: Document the new module.
53732
53733 2008-12-16  Bruno Haible  <bruno@clisp.org>
53734
53735         * lib/unistd.in.h: Add comment.
53736         * tests/test-environ.c: Don't include <stdlib.h>.
53737
53738 2008-12-16  Bruno Haible  <bruno@clisp.org>
53739
53740         * lib/parse-duration.h (parse_duration): Document return value
53741         convention.
53742         * lib/parse-duration.c: Include specification header first. Add
53743         comments.
53744         (_): Remove macro.
53745         (parse_year_month_day, parse_hour_minute_second): Move side effects
53746         outside of strchr call.
53747         (parse_non_iso8601): Move side effects outside of isspace call.
53748         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
53749         call.
53750
53751 2008-12-16  Bruno Haible  <bruno@clisp.org>
53752
53753         * tests/test-parse-duration.sh: Produce no output when the test
53754         succeeds.
53755
53756 2008-12-16  Bruno Haible  <bruno@clisp.org>
53757
53758         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
53759         expressions.
53760
53761 2008-12-15  Bruno Haible  <bruno@clisp.org>
53762
53763         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
53764         * doc/glibc-functions/flistxattr.texi: Likewise.
53765         * doc/glibc-functions/fopencookie.texi: Likewise.
53766         * doc/glibc-functions/fremovexattr.texi: Likewise.
53767         * doc/glibc-functions/fsetxattr.texi: Likewise.
53768         * doc/glibc-functions/getxattr.texi: Likewise.
53769         * doc/glibc-functions/lgetxattr.texi: Likewise.
53770         * doc/glibc-functions/listxattr.texi: Likewise.
53771         * doc/glibc-functions/llistxattr.texi: Likewise.
53772         * doc/glibc-functions/lremovexattr.texi: Likewise.
53773         * doc/glibc-functions/lsetxattr.texi: Likewise.
53774         * doc/glibc-functions/removexattr.texi: Likewise.
53775         * doc/glibc-functions/setxattr.texi: Likewise.
53776         * doc/posix-functions/open_memstream.texi: Likewise.
53777
53778 2008-12-15  Eric Blake  <ebb9@byu.net>
53779
53780         Update doc for cygwin 1.7.
53781         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
53782         functions.
53783         * doc/posix-functions/fchmodat.texi: Likewise.
53784         * doc/posix-functions/fchownat.texi: Likewise.
53785         * doc/posix-functions/fdopendir.texi: Likewise.
53786         * doc/posix-functions/fmemopen.texi: Likewise.
53787         * doc/posix-functions/freeaddrinfo.texi: Likewise.
53788         * doc/posix-functions/fstatat.texi: Likewise.
53789         * doc/posix-functions/futimens.texi: Likewise.
53790         * doc/posix-functions/gai_strerror.texi: Likewise.
53791         * doc/posix-functions/getaddrinfo.texi: Likewise.
53792         * doc/posix-functions/getnameinfo.texi: Likewise.
53793         * doc/posix-functions/if_freenameindex.texi: Likewise.
53794         * doc/posix-functions/if_indextoname.texi: Likewise.
53795         * doc/posix-functions/if_nameindex.texi: Likewise.
53796         * doc/posix-functions/if_nametoindex.texi: Likewise.
53797         * doc/posix-functions/insque.texi: Likewise.
53798         * doc/posix-functions/linkat.texi: Likewise.
53799         * doc/posix-functions/llrint.texi: Likewise.
53800         * doc/posix-functions/llrintf.texi: Likewise.
53801         * doc/posix-functions/llrintl.texi: Likewise.
53802         * doc/posix-functions/lockf.texi: Likewise.
53803         * doc/posix-functions/lrintl.texi: Likewise.
53804         * doc/posix-functions/mkdirat.texi: Likewise.
53805         * doc/posix-functions/mkfifoat.texi: Likewise.
53806         * doc/posix-functions/mknodat.texi: Likewise.
53807         * doc/posix-functions/mq_close.texi: Likewise.
53808         * doc/posix-functions/mq_getattr.texi: Likewise.
53809         * doc/posix-functions/mq_notify.texi: Likewise.
53810         * doc/posix-functions/mq_open.texi: Likewise.
53811         * doc/posix-functions/mq_receive.texi: Likewise.
53812         * doc/posix-functions/mq_send.texi: Likewise.
53813         * doc/posix-functions/mq_setattr.texi: Likewise.
53814         * doc/posix-functions/mq_timedreceive.texi: Likewise.
53815         * doc/posix-functions/mq_timedsend.texi: Likewise.
53816         * doc/posix-functions/mq_unlink.texi: Likewise.
53817         * doc/posix-functions/open_memstream.texi: Likewise.
53818         * doc/posix-functions/openat.texi: Likewise.
53819         * doc/posix-functions/posix_fadvise.texi: Likewise.
53820         * doc/posix-functions/posix_fallocate.texi: Likewise.
53821         * doc/posix-functions/posix_madvise.texi: Likewise.
53822         * doc/posix-functions/posix_memalign.texi: Likewise.
53823         * doc/posix-functions/posix_openpt.texi: Likewise.
53824         * doc/posix-functions/readlinkat.texi: Likewise.
53825         * doc/posix-functions/remque.texi: Likewise.
53826         * doc/posix-functions/renameat.texi: Likewise.
53827         * doc/posix-functions/rintl.texi: Likewise.
53828         * doc/posix-functions/sem_unlink.texi: Likewise.
53829         * doc/posix-functions/shm_open.texi: Likewise.
53830         * doc/posix-functions/shm_unlink.texi: Likewise.
53831         * doc/posix-functions/signgam.texi: Likewise.
53832         * doc/posix-functions/sigset.texi: Likewise.
53833         * doc/posix-functions/stpcpy.texi: Likewise.
53834         * doc/posix-functions/stpncpy.texi: Likewise.
53835         * doc/posix-functions/strerror.texi: Likewise.
53836         * doc/posix-functions/strtod.texi: Likewise.
53837         * doc/posix-functions/symlinkat.texi: Likewise.
53838         * doc/posix-functions/unlinkat.texi: Likewise.
53839         * doc/posix-functions/utimensat.texi: Likewise.
53840         * doc/glibc-functions/bindresvport.texi: Likewise.
53841         * doc/glibc-functions/dn_expand.texi: Likewise.
53842         * doc/glibc-functions/exp10.texi: Likewise.
53843         * doc/glibc-functions/exp10f.texi: Likewise.
53844         * doc/glibc-functions/fgetxattr.texi: Likewise.
53845         * doc/glibc-functions/flistxattr.texi: Likewise.
53846         * doc/glibc-functions/fopencookie.texi: Likewise.
53847         * doc/glibc-functions/freeifaddrs.texi: Likewise.
53848         * doc/glibc-functions/fremovexattr.texi: Likewise.
53849         * doc/glibc-functions/fsetxattr.texi: Likewise.
53850         * doc/glibc-functions/getifaddrs.texi: Likewise.
53851         * doc/glibc-functions/getxattr.texi: Likewise.
53852         * doc/glibc-functions/lgetxattr.texi: Likewise.
53853         * doc/glibc-functions/listxattr.texi: Likewise.
53854         * doc/glibc-functions/llistxattr.texi: Likewise.
53855         * doc/glibc-functions/lremovexattr.texi: Likewise.
53856         * doc/glibc-functions/lsetxattr.texi: Likewise.
53857         * doc/glibc-functions/pow10.texi: Likewise.
53858         * doc/glibc-functions/pow10f.texi: Likewise.
53859         * doc/glibc-functions/rcmd_af.texi: Likewise.
53860         * doc/glibc-functions/removexattr.texi: Likewise.
53861         * doc/glibc-functions/res_init.texi: Likewise.
53862         * doc/glibc-functions/res_mkquery.texi: Likewise.
53863         * doc/glibc-functions/res_query.texi: Likewise.
53864         * doc/glibc-functions/res_querydomain.texi: Likewise.
53865         * doc/glibc-functions/res_send.texi: Likewise.
53866         * doc/glibc-functions/rresvport_af.texi: Likewise.
53867         * doc/glibc-functions/setxattr.texi: Likewise.
53868         * doc/glibc-functions/strcasestr.texi: Likewise.
53869
53870 2008-12-15  Bruno Haible  <bruno@clisp.org>
53871
53872         Fix compilation error on OSF/1 4.0.
53873         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
53874         <sys/time.h>, simply delegate to the system header.
53875         Reported by Daniel Richard G. <oss@teragram.com>.
53876
53877 2008-12-15  Bruno Haible  <bruno@clisp.org>
53878
53879         * doc/posix-functions/openat.texi: Mention the 'openat' module.
53880         * doc/posix-functions/fchmodat.texi: Likewise.
53881         * doc/posix-functions/fchownat.texi: Likewise.
53882         * doc/posix-functions/fdopendir.texi: Likewise.
53883         * doc/posix-functions/fstatat.texi: Likewise.
53884         * doc/posix-functions/mkdirat.texi: Likewise.
53885         * doc/posix-functions/unlinkat.texi: Likewise.
53886
53887 2008-12-14  Bruno Haible  <bruno@clisp.org>
53888
53889         Update doc for POSIX:2008.
53890         * doc/posix-functions/faccessat.texi: New file.
53891         * doc/posix-functions/fchmodat.texi: New file.
53892         * doc/posix-functions/fchownat.texi: New file.
53893         * doc/posix-functions/fdopendir.texi: New file.
53894         * doc/posix-functions/fstatat.texi: New file.
53895         * doc/posix-functions/futimens.texi: New file.
53896         * doc/posix-functions/linkat.texi: New file.
53897         * doc/posix-functions/mkdirat.texi: New file.
53898         * doc/posix-functions/mkfifoat.texi: New file.
53899         * doc/posix-functions/mknodat.texi: New file.
53900         * doc/posix-functions/open_wmemstream.texi: New file.
53901         * doc/posix-functions/openat.texi: New file.
53902         * doc/posix-functions/psiginfo.texi: New file.
53903         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
53904         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
53905         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
53906         * doc/posix-functions/readlinkat.texi: New file.
53907         * doc/posix-functions/renameat.texi: New file.
53908         * doc/posix-functions/strerror_l.texi: New file.
53909         * doc/posix-functions/symlinkat.texi: New file.
53910         * doc/posix-functions/unlinkat.texi: New file.
53911         * doc/posix-functions/utimensat.texi: New file.
53912         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53913
53914 2008-12-14  Bruno Haible  <bruno@clisp.org>
53915
53916         Update doc for POSIX:2008.
53917         * doc/posix-functions/alphasort.texi: Renamed from
53918         doc/glibc-functions/alphasort.texi.
53919         * doc/posix-functions/dirfd.texi: Renamed from
53920         doc/glibc-functions/dirfd.texi.
53921         * doc/posix-functions/dprintf.texi: Renamed from
53922         doc/glibc-functions/dprintf.texi.
53923         * doc/posix-functions/duplocale.texi: Renamed from
53924         doc/glibc-functions/duplocale.texi.
53925         * doc/posix-functions/fexecve.texi: Renamed from
53926         doc/glibc-functions/fexecve.texi.
53927         * doc/posix-functions/fmemopen.texi: Renamed from
53928         doc/glibc-functions/fmemopen.texi.
53929         * doc/posix-functions/freelocale.texi: Renamed from
53930         doc/glibc-functions/freelocale.texi.
53931         * doc/posix-functions/getdate_err.texi: Renamed from
53932         doc/glibc-functions/getdate_err.texi.
53933         * doc/posix-functions/isalnum_l.texi: Renamed from
53934         doc/glibc-functions/isalnum_l.texi.
53935         * doc/posix-functions/isalpha_l.texi: Renamed from
53936         doc/glibc-functions/isalpha_l.texi.
53937         * doc/posix-functions/isblank_l.texi: Renamed from
53938         doc/glibc-functions/isblank_l.texi.
53939         * doc/posix-functions/iscntrl_l.texi: Renamed from
53940         doc/glibc-functions/iscntrl_l.texi.
53941         * doc/posix-functions/isdigit_l.texi: Renamed from
53942         doc/glibc-functions/isdigit_l.texi.
53943         * doc/posix-functions/isgraph_l.texi: Renamed from
53944         doc/glibc-functions/isgraph_l.texi.
53945         * doc/posix-functions/islower_l.texi: Renamed from
53946         doc/glibc-functions/islower_l.texi.
53947         * doc/posix-functions/isprint_l.texi: Renamed from
53948         doc/glibc-functions/isprint_l.texi.
53949         * doc/posix-functions/ispunct_l.texi: Renamed from
53950         doc/glibc-functions/ispunct_l.texi.
53951         * doc/posix-functions/isspace_l.texi: Renamed from
53952         doc/glibc-functions/isspace_l.texi.
53953         * doc/posix-functions/isupper_l.texi: Renamed from
53954         doc/glibc-functions/isupper_l.texi.
53955         * doc/posix-functions/iswalnum_l.texi: Renamed from
53956         doc/glibc-functions/iswalnum_l.texi.
53957         * doc/posix-functions/iswalpha_l.texi: Renamed from
53958         doc/glibc-functions/iswalpha_l.texi.
53959         * doc/posix-functions/iswblank_l.texi: Renamed from
53960         doc/glibc-functions/iswblank_l.texi.
53961         * doc/posix-functions/iswcntrl_l.texi: Renamed from
53962         doc/glibc-functions/iswcntrl_l.texi.
53963         * doc/posix-functions/iswctype_l.texi: Renamed from
53964         doc/glibc-functions/iswctype_l.texi.
53965         * doc/posix-functions/iswdigit_l.texi: Renamed from
53966         doc/glibc-functions/iswdigit_l.texi.
53967         * doc/posix-functions/iswgraph_l.texi: Renamed from
53968         doc/glibc-functions/iswgraph_l.texi.
53969         * doc/posix-functions/iswlower_l.texi: Renamed from
53970         doc/glibc-functions/iswlower_l.texi.
53971         * doc/posix-functions/iswprint_l.texi: Renamed from
53972         doc/glibc-functions/iswprint_l.texi.
53973         * doc/posix-functions/iswpunct_l.texi: Renamed from
53974         doc/glibc-functions/iswpunct_l.texi.
53975         * doc/posix-functions/iswspace_l.texi: Renamed from
53976         doc/glibc-functions/iswspace_l.texi.
53977         * doc/posix-functions/iswupper_l.texi: Renamed from
53978         doc/glibc-functions/iswupper_l.texi.
53979         * doc/posix-functions/iswxdigit_l.texi: Renamed from
53980         doc/glibc-functions/iswxdigit_l.texi.
53981         * doc/posix-functions/isxdigit_l.texi: Renamed from
53982         doc/glibc-functions/isxdigit_l.texi.
53983         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
53984         doc/glibc-functions/mbsnrtowcs.texi.
53985         * doc/posix-functions/mkdtemp.texi: Renamed from
53986         doc/glibc-functions/mkdtemp.texi.
53987         * doc/posix-functions/newlocale.texi: Renamed from
53988         doc/glibc-functions/newlocale.texi.
53989         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
53990         doc/glibc-functions/nl_langinfo_l.texi.
53991         * doc/posix-functions/open_memstream.texi: Renamed from
53992         doc/glibc-functions/open_memstream.texi.
53993         * doc/posix-functions/opterr.texi: Renamed from
53994         doc/glibc-functions/opterr.texi.
53995         * doc/posix-functions/optind.texi: Renamed from
53996         doc/glibc-functions/optind.texi.
53997         * doc/posix-functions/optopt.texi: Renamed from
53998         doc/glibc-functions/optopt.texi.
53999         * doc/posix-functions/psignal.texi: Renamed from
54000         doc/glibc-functions/psignal.texi.
54001         * doc/posix-functions/scandir.texi: Renamed from
54002         doc/glibc-functions/scandir.texi.
54003         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
54004         doc/glibc-functions/sched_get_priority_min.texi.
54005         * doc/posix-functions/signgam.texi: Renamed from
54006         doc/glibc-functions/signgam.texi.
54007         * doc/posix-functions/stpcpy.texi: Renamed from
54008         doc/glibc-functions/stpcpy.texi.
54009         * doc/posix-functions/stpncpy.texi: Renamed from
54010         doc/glibc-functions/stpncpy.texi.
54011         * doc/posix-functions/strcasecmp_l.texi: Renamed from
54012         doc/glibc-functions/strcasecmp_l.texi.
54013         * doc/posix-functions/strcoll_l.texi: Renamed from
54014         doc/glibc-functions/strcoll_l.texi.
54015         * doc/posix-functions/strfmon_l.texi: Renamed from
54016         doc/glibc-functions/strfmon_l.texi.
54017         * doc/posix-functions/strftime_l.texi: Renamed from
54018         doc/glibc-functions/strftime_l.texi.
54019         * doc/posix-functions/strncasecmp_l.texi: Renamed from
54020         doc/glibc-functions/strncasecmp_l.texi.
54021         * doc/posix-functions/strndup.texi: Renamed from
54022         doc/glibc-functions/strndup.texi.
54023         * doc/posix-functions/strnlen.texi: Renamed from
54024         doc/glibc-functions/strnlen.texi.
54025         * doc/posix-functions/strsignal.texi: Renamed from
54026         doc/glibc-functions/strsignal.texi.
54027         * doc/posix-functions/strxfrm_l.texi: Renamed from
54028         doc/glibc-functions/strxfrm_l.texi.
54029         * doc/posix-functions/timer_gettime.texi: Renamed from
54030         doc/glibc-functions/timer_gettime.texi.
54031         * doc/posix-functions/tolower_l.texi: Renamed from
54032         doc/glibc-functions/tolower_l.texi.
54033         * doc/posix-functions/toupper_l.texi: Renamed from
54034         doc/glibc-functions/toupper_l.texi.
54035         * doc/posix-functions/towctrans_l.texi: Renamed from
54036         doc/glibc-functions/towctrans_l.texi.
54037         * doc/posix-functions/towlower_l.texi: Renamed from
54038         doc/glibc-functions/towlower_l.texi.
54039         * doc/posix-functions/towupper_l.texi: Renamed from
54040         doc/glibc-functions/towupper_l.texi.
54041         * doc/posix-functions/uselocale.texi: Renamed from
54042         doc/glibc-functions/uselocale.texi.
54043         * doc/posix-functions/vdprintf.texi: Renamed from
54044         doc/glibc-functions/vdprintf.texi.
54045         * doc/posix-functions/wcpcpy.texi:
54046         Renamed from doc/glibc-functions/wcpcpy.texi.
54047         * doc/posix-functions/wcpncpy.texi: Renamed from
54048         doc/glibc-functions/wcpncpy.texi.
54049         * doc/posix-functions/wcscasecmp.texi: Renamed from
54050         doc/glibc-functions/wcscasecmp.texi.
54051         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
54052         doc/glibc-functions/wcscasecmp_l.texi.
54053         * doc/posix-functions/wcscoll_l.texi: Renamed from
54054         doc/glibc-functions/wcscoll_l.texi.
54055         * doc/posix-functions/wcsdup.texi: Renamed from
54056         doc/glibc-functions/wcsdup.texi.
54057         * doc/posix-functions/wcsncasecmp.texi: Renamed from
54058         doc/glibc-functions/wcsncasecmp.texi.
54059         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
54060         doc/glibc-functions/wcsncasecmp_l.texi.
54061         * doc/posix-functions/wcsnlen.texi: Renamed from
54062         doc/glibc-functions/wcsnlen.texi.
54063         * doc/posix-functions/wcsnrtombs.texi: Renamed from
54064         doc/glibc-functions/wcsnrtombs.texi.
54065         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
54066         doc/glibc-functions/wcsxfrm_l.texi.
54067         * doc/posix-functions/wctrans_l.texi: Renamed from
54068         doc/glibc-functions/wctrans_l.texi.
54069         * doc/posix-functions/wctype_l.texi: Renamed from
54070         doc/glibc-functions/wctype_l.texi.
54071         * doc/gnulib.texi (Function Substitutes): Add these subsections.
54072         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
54073         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
54074         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
54075         these subsections.
54076         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
54077         Remove sections.
54078
54079 2008-12-14  Bruno Haible  <bruno@clisp.org>
54080
54081         Update doc for POSIX:2008.
54082         * doc/posix-functions/*.texi: Update URL of POSIX specification.
54083
54084 2008-12-14  Bruno Haible  <bruno@clisp.org>
54085
54086         Update doc for POSIX:2008.
54087         * doc/pastposix-functions/bcmp.texi: Renamed from
54088         doc/posix-functions/bcmp.texi.
54089         * doc/pastposix-functions/bcopy.texi: Renamed from
54090         doc/posix-functions/bcopy.texi.
54091         * doc/pastposix-functions/bsd_signal.texi: Renamed from
54092         doc/posix-functions/bsd_signal.texi.
54093         * doc/pastposix-functions/bzero.texi: Renamed from
54094         doc/posix-functions/bzero.texi.
54095         * doc/pastposix-functions/ecvt.texi: Renamed from
54096         doc/posix-functions/ecvt.texi.
54097         * doc/pastposix-functions/fcvt.texi: Renamed from
54098         doc/posix-functions/fcvt.texi.
54099         * doc/pastposix-functions/ftime.texi: Renamed from
54100         doc/posix-functions/ftime.texi.
54101         * doc/pastposix-functions/gcvt.texi: Renamed from
54102         doc/posix-functions/gcvt.texi.
54103         * doc/pastposix-functions/getcontext.texi: Renamed from
54104         doc/posix-functions/getcontext.texi.
54105         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
54106         doc/posix-functions/gethostbyaddr.texi.
54107         * doc/pastposix-functions/gethostbyname.texi: Renamed from
54108         doc/posix-functions/gethostbyname.texi.
54109         * doc/pastposix-functions/getwd.texi: Renamed from
54110         doc/posix-functions/getwd.texi.
54111         * doc/pastposix-functions/h_errno.texi: Renamed from
54112         doc/posix-functions/h_errno.texi.
54113         * doc/pastposix-functions/index.texi: Renamed from
54114         doc/posix-functions/index.texi.
54115         * doc/pastposix-functions/makecontext.texi: Renamed from
54116         doc/posix-functions/makecontext.texi.
54117         * doc/pastposix-functions/mktemp.texi: Renamed from
54118         doc/posix-functions/mktemp.texi.
54119         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
54120         doc/posix-functions/pthread_attr_getstackaddr.texi.
54121         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
54122         doc/posix-functions/pthread_attr_setstackaddr.texi.
54123         * doc/pastposix-functions/rindex.texi: Renamed from
54124         doc/posix-functions/rindex.texi.
54125         * doc/pastposix-functions/scalb.texi: Renamed from
54126         doc/posix-functions/scalb.texi.
54127         * doc/pastposix-functions/setcontext.texi: Renamed from
54128         doc/posix-functions/setcontext.texi.
54129         * doc/pastposix-functions/swapcontext.texi: Renamed from
54130         doc/posix-functions/swapcontext.texi.
54131         * doc/pastposix-functions/ualarm.texi: Renamed from
54132         doc/posix-functions/ualarm.texi.
54133         * doc/pastposix-functions/usleep.texi: Renamed from
54134         doc/posix-functions/usleep.texi.
54135         * doc/pastposix-functions/vfork.texi: Renamed from
54136         doc/posix-functions/vfork.texi.
54137         * doc/pastposix-functions/wcswcs.texi: Renamed from
54138         doc/posix-functions/wcswcs.texi.
54139         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
54140         (Function Substitutes): Update.
54141
54142 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54143
54144         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
54145         m4/strerror.m4.
54146
54147 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54148             Bruno Haible  <bruno@clisp.org>
54149
54150         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
54151
54152 2008-12-13  Bruno Haible  <bruno@clisp.org>
54153
54154         * modules/strtoull (Depends-on): Remove unistd.
54155
54156 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54157
54158         * modules/strtoull (Depends-on): Add stdlib.
54159
54160 2008-12-11  Simon Josefsson  <simon@josefsson.org>
54161
54162         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
54163
54164 2008-12-10  Jim Meyering  <meyering@redhat.com>
54165
54166         gl_ASSERT: don't say assertions are disabled when they're not
54167         * m4/assert.m4 (gl_ASSERT): Do not make configure report
54168         "checking whether to enable assertions... no", when they are in
54169         fact enabled.  This is solely a bug in the output of configure.
54170         In spite of saying "no", NDEBUG was not defined in that case.
54171         Also, as noted by Eric Blake, leave assertions enabled upon
54172         --enable-assert=INVALID.
54173
54174 2008-12-10  Bruno Haible  <bruno@clisp.org>
54175
54176         Change MODULES.html to refer to POSIX:2008 where possible.
54177         * MODULES.html.sh (POSIX2008_URL): New variable.
54178         (posix_headers): Remove sys/timeb, ucontext.
54179         (posix2001_headers): New variable.
54180         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
54181         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
54182         index, makecontext, mktemp, pthread_attr_getstackaddr,
54183         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
54184         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
54185         (posix2001_functions): New variable.
54186         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
54187         otherwise.
54188
54189 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54190
54191         add missing include to parse-duration.c
54192         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
54193         * modules/parse-duration (Depends-on): Add xalloc.
54194
54195         fix sed script reading maint.mk
54196         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
54197         (syntax-check-rules): Use it.
54198
54199 2008-12-09  Bruno Haible  <bruno@clisp.org>
54200
54201         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
54202         MacOS X 10.4/PowerPC.
54203         Reported by Simon Josefsson.
54204
54205 2008-12-08  Jim Meyering  <meyering@redhat.com>
54206
54207         work around mingw's lack of some S_IF definitions
54208         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
54209         Reported by Simon Josefsson.
54210
54211 2008-12-08  Bruno Haible  <bruno@clisp.org>
54212
54213         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
54214         applied to variables. Needed on MacOS X 10.4/PowerPC.
54215         Reported by Simon Josefsson.
54216
54217 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
54218         and Eric Blake  <ebb9@byu.net>
54219
54220         assert: honor --enable-assert
54221         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
54222         order to honor --enable-assert, rather than treating it as a
54223         synonym for --disable-assert.
54224
54225 2008-12-08  Jim Meyering  <meyering@redhat.com>
54226
54227         * lib/posixtm.c: Remove now-useless declaration of mktime.
54228
54229         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
54230
54231 2008-12-07  Bruno Haible  <bruno@clisp.org>
54232
54233         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
54234         test_once): Mark functions as static.
54235         * tests/test-tls.c (test_tls): Likewise.
54236
54237 2008-12-07  Bruno Haible  <bruno@clisp.org>
54238
54239         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
54240         iconv_register_autodetect.
54241
54242 2008-12-07  Jim Meyering  <meyering@redhat.com>
54243
54244         posixtm.c: avoid a warning
54245         * lib/posixtm.c (posixtime): Don't initialize tm0.
54246         It's no longer needed to placate gcc4's -Wuninitialized,
54247         and the attempt to placate would elicit a new warning.
54248
54249         unicodeio.c: mark unused parameters
54250         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
54251         (fallback_failure_callback): Likewise.
54252
54253 2008-12-07  Bruno Haible  <bruno@clisp.org>
54254
54255         * gnulib-tool (func_create_testdir): When building the tests
54256         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
54257         Reported by Simon Josefsson.
54258
54259 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54260
54261         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
54262
54263 2008-12-06  Bruno Haible  <bruno@clisp.org>
54264
54265         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
54266         Suggested by Eric Blake.
54267
54268 2008-12-06  Bruno Haible  <bruno@clisp.org>
54269
54270         Fix a c-stack test failure on MacOS X.
54271         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
54272         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
54273         handler for SIGBUS as well.
54274         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
54275         install a signal handler for SIGBUS as well.
54276         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
54277
54278 2008-12-06  Bruno Haible  <bruno@clisp.org>
54279
54280         Advocacy documentation.
54281         * doc/gnulib-intro.texi (Benefits): New section.
54282         * doc/gnulib.texi: Update.
54283
54284 2008-12-06  Bruno Haible  <bruno@clisp.org>
54285
54286         Document the 'manywarnings' module.
54287         * doc/manywarnings.texi: New file.
54288         * doc/gnulib.texi: Include it.
54289
54290 2008-12-05  Eric Blake  <ebb9@byu.net>
54291
54292         tests: silence some gcc warnings
54293         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
54294         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
54295         type mismatches.
54296
54297 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54298             Bruno Haible  <bruno@clisp.org>
54299
54300         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
54301
54302 2008-11-29  Jim Meyering  <meyering@redhat.com>
54303
54304         unicodeio.c: mark unused parameters
54305         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
54306         (fallback_failure_callback): Likewise.
54307
54308         fts: fix a thinko
54309         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
54310         (set_stat_type): Return S_IF*-valued "type" directly.
54311         Prompted by James Youngman's spotting a related bug.
54312         Confirmed by further testing through find.
54313
54314         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
54315         * lib/fts.c (D_TYPE): Define.
54316         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
54317         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
54318         (s_ifmt_shift_bits): New function.
54319         (set_stat_type): New function.
54320         (fts_build): When not calling fts_stat, call set_stat_type
54321         to propagate dirent.d_type info to fts_read caller.
54322         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
54323         fts_statp->st_mode type information may be valid.
54324
54325 2008-11-28  Simon Josefsson  <simon@josefsson.org>
54326
54327         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
54328         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
54329         <sds@gnu.org>.
54330
54331 2008-11-20  Bruno Haible  <bruno@clisp.org>
54332
54333         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
54334         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
54335         INCLUDE_NEXT.
54336         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
54337         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
54338         * modules/math (Makefile.am): Substitute
54339         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
54340         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54341
54342 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
54343             Bruno Haible  <bruno@clisp.org>
54344
54345         * lib/stdint.in.h: Define all type macros so that their expansion is
54346         a single typedef'ed token. Fixes a compilation failure in Boost which
54347         does "using ::int8_t;".
54348
54349 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54350
54351         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
54352         gl_MANYWARN_ALL_GCC.
54353         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
54354         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
54355         * modules/manywarnings: New file.
54356         * MODULES.html.sh: Mention manywarnings module.
54357
54358 2008-11-18  Bruno Haible  <bruno@clisp.org>
54359
54360         * doc/gnulib-tool.texi (Unit tests): New section.
54361
54362 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54363
54364         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
54365         paths like 'lib/po/foo.po'.
54366
54367 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54368
54369         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
54370         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
54371
54372 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54373
54374         * m4/warnings.m4: Use CPPFLAGS to really check whether the
54375         parameter works.
54376
54377 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54378
54379         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
54380
54381 2008-11-17  Bruce Korb  <bkorb@gnu.org>
54382
54383         * modules/parse-duration-tests: New file.
54384         * tests/test-parse-duration.sh: New file.
54385         * tests/test-parse-duration.c: New file.
54386
54387         New module 'parse-duration'.
54388         * lib/parse-duration.h: New file.
54389         * lib/parse-duration.c: New file.
54390         * modules/parse-duration: New file.
54391
54392 2008-11-17  Bruno Haible  <bruno@clisp.org>
54393
54394         * tests/test-select-out.sh: Comment out the first pipe test.
54395         Reported by Simon Josefsson.
54396
54397 2008-11-17  Bruno Haible  <bruno@clisp.org>
54398
54399         * modules/getaddrinfo (Depends-on): Add servent, hostent.
54400         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
54401         gl_HOSTENT.
54402
54403 2008-11-17  Bruno Haible  <bruno@clisp.org>
54404
54405         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
54406         -lnetwork and -lnet. Needed for Haiku and BeOS.
54407
54408 2008-11-16  Bruno Haible  <bruno@clisp.org>
54409
54410         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
54411
54412 2008-11-16  Bruno Haible  <bruno@clisp.org>
54413
54414         Avoid test failure on Haiku.
54415         * tests/test-fsync.c: Include <errno.h>.
54416         (main): Don't require that fsync (0) fails.
54417
54418 2008-11-15  Bruno Haible  <bruno@clisp.org>
54419
54420         New module 'hostent'.
54421         * modules/hostent: New file.
54422         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
54423
54424 2008-11-15  Bruno Haible  <bruno@clisp.org>
54425
54426         New module 'servent'.
54427         * modules/servent: New file.
54428         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
54429
54430 2008-11-15  Bruno Haible  <bruno@clisp.org>
54431
54432         Avoid generating same test program with two different rules.
54433         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
54434         test-frexp to test-frexp-nolibm.
54435         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
54436         test-frexpl to test-frexpl-nolibm.
54437
54438 2008-11-15  Bruno Haible  <bruno@clisp.org>
54439
54440         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
54441         $(FREXPL_LIBM).
54442
54443 2008-11-15  Bruno Haible  <bruno@clisp.org>
54444
54445         * lib/netdb.in.h: Activate the definitions also when the system's
54446         <netdb.h> has 'struct addrinfo'.
54447         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
54448         EAI_OVERFLOW or AI_NUMERICSERV.
54449         * doc/posix-headers/netdb.texi: Document the problem.
54450
54451 2008-11-15  Bruno Haible  <bruno@clisp.org>
54452
54453         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
54454
54455         Make the 'sched' module work on platforms where <sched.h> exists but
54456         is incomplete (such as Haiku).
54457         * lib/sched.in.h; Include the system's <sched.h> if it exists.
54458         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
54459         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
54460         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
54461         HAVE_STRUCT_SCHED_PARAM.
54462         * modules/sched (Depends-on): Add include_next.
54463         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
54464         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
54465         * doc/posix-headers/sched.texi: Document the issue.
54466
54467 2008-11-13  Jim Meyering  <meyering@redhat.com>
54468
54469         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
54470         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
54471         test would fail due to the difference in the Report bugs to ...
54472         line.  The expected address is empty, "<>", while the actual
54473         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
54474
54475 2008-11-12  Bruno Haible  <bruno@clisp.org>
54476
54477         lstat: don't compile lstat.c on systems lacking lstat
54478         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
54479         which don't have lstat; this is handled by lib/sys_stat.in.h already.
54480         Reported by Daniel P. Berrange via Jim Meyering.
54481
54482 2008-11-12  Jim Meyering  <meyering@redhat.com>
54483
54484         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
54485
54486 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54487
54488         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
54489         instead.
54490
54491 2008-11-12  Bruno Haible  <bruno@clisp.org>
54492
54493         * lib/unicodeio.c: Include unistr.h.
54494         (utf8_wctomb): Remove function.
54495         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
54496
54497 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54498
54499         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
54500         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
54501         <bruno@clisp.org>.
54502         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
54503
54504 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54505
54506         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
54507         * doc/gnulib.texi: Add section for warnings.
54508
54509 2008-11-11  Bruno Haible  <bruno@clisp.org>
54510
54511         * lib/sockets.h: Add a comment.
54512
54513 2008-11-11  Karl Berry  <karl@gnu.org>
54514
54515         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
54516
54517 2008-11-11  Eric Blake  <ebb9@byu.net>
54518
54519         fdl.texi: avoid git symlinks
54520         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
54521
54522 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54523
54524         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
54525
54526 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54527
54528         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
54529         (gl_WARN_ADD): Substitute $2 if literal.
54530
54531 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54532
54533         * m4/warning.m4: Remove.
54534
54535 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54536
54537         * m4/warnings.m4: Almost complete rewrite. :-)
54538
54539 2008-11-10  Simon Josefsson  <simon@josefsson.org>
54540
54541         * modules/warnings: New module.
54542         * m4/warnings.m4: New file.
54543         * MODULES.html.sh: Mention warnings module.
54544         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
54545         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54546
54547 2008-11-10  Eric Blake  <ebb9@byu.net>
54548
54549         fdl.texi: make a symlink to the latest version
54550         * doc/standards.texi: Revert today's earlier change.
54551         * doc/fdl-1.2.texi: Rename from old fdl.texi...
54552         * doc/fdl.texi: ...and replace this with a symlink to the newer
54553         fdl-1.3.texi.
54554
54555 2008-11-10  Bruno Haible  <bruno@clisp.org>
54556
54557         * tests/test-select-fd.c (main): Accept the result file name as fourth
54558         argument.
54559         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
54560         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
54561
54562 2008-11-10  Bruno Haible  <bruno@clisp.org>
54563
54564         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
54565         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
54566         as autoconf-substituted macros.
54567         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
54568         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
54569         gl_NETDB_H_DEFAULTS. Set these variables.
54570         * modules/netdb (Makefile.am): Substitute these variables.
54571
54572 2008-11-10  Eric Blake  <ebb9@byu.net>
54573
54574         standards.texi: include correct file for FDL 1.3
54575         * doc/standards.texi (GNU Free Documentation License): Change
54576         include file to pull in FDL 1.3, not 1.2.
54577
54578         fdl.texi: revert accidental change to license
54579         * doc/fdl.texi: This is FDL 1.2, not 1.3.
54580
54581 2008-11-10  Bruno Haible  <bruno@clisp.org>
54582
54583         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
54584         cross-compiling guesses also when the native compile gives no result.
54585
54586 2008-11-10  Bruno Haible  <bruno@clisp.org>
54587
54588         * lib/spawni.c (__spawni): Force variable into the stack.
54589
54590 2008-11-10  Bruno Haible  <bruno@clisp.org>
54591
54592         Add support for Haiku.
54593         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
54594         glibc and BeOS, but also on Haiku.
54595         * lib/fpurge.c (fpurge): Likewise.
54596         * lib/freadable.c (freadable): Likewise.
54597         * lib/freadahead.c (freadahead): Likewise.
54598         * lib/freading.c (freading): Likewise.
54599         * lib/freadptr.c (freadptr): Likewise.
54600         * lib/freadseek.c (freadptrinc): Likewise.
54601         * lib/fseeko.c (rpl_fseeko): Likewise.
54602         * lib/fseterr.c (fseterr): Likewise.
54603         * lib/fwritable.c (fwritable): Likewise.
54604         * lib/fwriting.c (fwriting): Likewise.
54605         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
54606
54607 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54608
54609         * lib/config.charset: Treat Haiku like BeOS.
54610
54611 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54612
54613         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
54614         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
54615
54616 2008-11-08  Bruno Haible  <bruno@clisp.org>
54617
54618         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
54619         AC_CACHE_CHECK.
54620
54621 2008-11-08  Bruno Haible  <bruno@clisp.org>
54622
54623         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
54624
54625 2008-11-08  Bruno Haible  <bruno@clisp.org>
54626
54627         * tests/test-select-fd.c: New file.
54628         * tests/test-select-in.sh: New file.
54629         * tests/test-select-out.sh: New file.
54630         * tests/test-select-stdin.c: New file.
54631         * modules/select-tests (Files): Add the new files.
54632         (Depends-on): Add gettimeofday.
54633         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
54634         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
54635         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
54636
54637 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
54638             Bruno Haible  <bruno@clisp.org>
54639
54640         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
54641
54642 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
54643
54644         * build-aux/pmccabe2html: Added support for C++ source files.
54645
54646 2008-11-05  Ben Pfaff  <blp@gnu.org>
54647
54648         Fix lib/close.c build on Windows.
54649         * modules/close (Files): Add lib/w32sock.h.
54650
54651 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
54652
54653         Accept Bison's NEWS format.
54654         * build-aux/announce-gen (print_news_deltas): Tweak
54655         $re_prefix.
54656
54657 2008-11-04  Bruno Haible  <bruno@clisp.org>
54658
54659         * modules/random_r (Maintainer): Add glibc.
54660
54661 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54662
54663         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
54664         by karl@freefriends.org (Karl Berry).
54665         * doc/alloca.texi: Likewise.
54666         * doc/c-ctype.texi: Likewise.
54667         * doc/c-strcase.texi: Likewise.
54668         * doc/c-strcaseeq.texi: Likewise.
54669         * doc/c-strcasestr.texi: Likewise.
54670         * doc/c-strstr.texi: Likewise.
54671         * doc/c-strtod.texi: Likewise.
54672         * doc/c-strtold.texi: Likewise.
54673         * doc/ctime.texi: Likewise.
54674         * doc/error.texi: Likewise.
54675         * doc/fdl.texi: Likewise.
54676         * doc/gcd.texi: Likewise.
54677         * doc/getdate.texi: Likewise.
54678         * doc/gnulib-intro.texi: Likewise.
54679         * doc/gnulib-tool.texi: Likewise.
54680         * doc/gnulib.texi: Likewise.
54681         * doc/inet_ntoa.texi: Likewise.
54682         * doc/maintain.texi: Likewise.
54683         * doc/make-stds.texi: Likewise.
54684         * doc/quote.texi: Likewise.
54685         * doc/regexprops-generic.texi: Likewise.
54686         * doc/standards.texi: Likewise.
54687         * doc/verify.texi: Likewise.
54688         * doc/visibility.texi: Likewise.
54689         * doc/gnulib.texi (GNU Free Documentation License): Include
54690         fdl-1.3.texi instead of fdl.texi.
54691
54692 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54693
54694         * doc/fdl-1.3.texi: New file, from
54695         <http://www.gnu.org/licenses/fdl-1.3.texi>.
54696         * modules/fdl-1.3: Add.
54697         * MODULES.html.sh: Add fdl-1.3.
54698
54699 2008-11-03  Bruno Haible  <bruno@clisp.org>
54700
54701         Make determination of absolute name of header file work with AIX xlc.
54702         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
54703         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
54704         preprocessing.
54705         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54706         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
54707
54708 2008-11-03  Simon Josefsson  <simon@josefsson.org>
54709
54710         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
54711         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
54712         <ludo@gnu.org>.
54713
54714 2008-11-02  Bruno Haible  <bruno@clisp.org>
54715
54716         Mark 'strpbrk' obsolete.
54717         * modules/strpbrk (Status, Notice): New sections.
54718         * modules/strtok_r (Depends-on): Add strpbrk.
54719
54720 2008-11-02  Bruno Haible  <bruno@clisp.org>
54721
54722         Mark 'strdup' obsolete.
54723         * modules/strdup (Status, Notice): New sections.
54724         * modules/findprog (Depends-on): Add strdup.
54725         * modules/getaddrinfo (Depends-on): Likewise.
54726         * modules/localename (Depends-on): Likewise.
54727         * modules/relocatable-lib (Depends-on): Likewise.
54728         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
54729         * modules/relocatable-prog (Depends-on): Likewise.
54730         * modules/trim (Depends-on): Likewise.
54731         * modules/unictype/gen-ctype (Depends-on): Likewise.
54732         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54733
54734 2008-11-02  Bruno Haible  <bruno@clisp.org>
54735
54736         Mark 'strcspn' obsolete.
54737         * modules/strcspn (Status, Notice): New sections.
54738
54739 2008-11-02  Bruno Haible  <bruno@clisp.org>
54740
54741         Mark 'rmdir' obsolete.
54742         * modules/rmdir (Status, Notice): New sections.
54743         * modules/clean-temp (Depends-on): Add rmdir.
54744         * modules/openat (Depends-on): Likewise.
54745
54746 2008-11-02  Bruno Haible  <bruno@clisp.org>
54747
54748         Mark 'raise' obsolete.
54749         * modules/raise (Status, Notice): New sections.
54750         (Include): Specify <signal.h>.
54751         * modules/stdio (Depends-on): Add raise.
54752         * modules/write (Depends-on): Likewise.
54753
54754 2008-11-02  Bruno Haible  <bruno@clisp.org>
54755
54756         Mark 'memset' obsolete.
54757         * modules/memset (Status, Notice): New sections.
54758
54759 2008-11-02  Bruno Haible  <bruno@clisp.org>
54760
54761         Mark 'memmove' obsolete.
54762         * modules/memmove (Status, Notice): New sections.
54763         * modules/argp (Depends-on): Add memmove.
54764         * modules/argz (Depends-on): Likewise.
54765         * modules/canonicalize (Depends-on): Likewise.
54766         * modules/canonicalize-lgpl (Depends-on): Likewise.
54767         * modules/fts (Depends-on): Likewise.
54768         * modules/getcwd (Depends-on): Likewise.
54769         * modules/human (Depends-on): Likewise.
54770         * modules/regex (Depends-on): Likewise.
54771         * modules/striconveh (Depends-on): Likewise.
54772         * modules/trim (Depends-on): Likewise.
54773         * modules/unistr/u8-move (Depends-on): Likewise.
54774         * modules/unistr/u16-move (Depends-on): Likewise.
54775         * modules/unistr/u32-move (Depends-on): Likewise.
54776
54777 2008-11-02  Bruno Haible  <bruno@clisp.org>
54778
54779         Mark 'memcpy' obsolete.
54780         * modules/memcpy (Status, Notice): New sections.
54781
54782 2008-11-02  Bruno Haible  <bruno@clisp.org>
54783
54784         Mark 'memcmp' obsolete.
54785         * modules/memcmp (Status, Notice): New sections.
54786         * modules/argmatch (Depends-on): Add memchr.
54787         * modules/backupfile (Depends-on): Likewise.
54788         * modules/c-strcasestr (Depends-on): Likewise.
54789         * modules/crypto/des (Depends-on): Likewise.
54790         * modules/csharpcomp (Depends-on): Likewise.
54791         * modules/fnmatch (Depends-on): Likewise.
54792         * modules/git-merge-changelog (Depends-on): Likewise.
54793         * modules/isnand (Depends-on): Likewise.
54794         * modules/isnand-nolibm (Depends-on): Likewise.
54795         * modules/isnanf (Depends-on): Likewise.
54796         * modules/isnanf-nolibm (Depends-on): Likewise.
54797         * modules/isnanl (Depends-on): Likewise.
54798         * modules/isnanl-nolibm (Depends-on): Likewise.
54799         * modules/mbchar (Depends-on): Likewise.
54800         * modules/memcoll (Depends-on): Likewise.
54801         * modules/quotearg (Depends-on): Likewise.
54802         * modules/regex (Depends-on): Likewise.
54803         * modules/relocatable-prog (Depends-on): Likewise.
54804         * modules/same (Depends-on): Likewise.
54805         * modules/signbit (Depends-on): Likewise.
54806         * modules/strcasestr-simple (Depends-on): Likewise.
54807         * modules/unictype/gen-ctype (Depends-on): Likewise.
54808         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54809         * modules/uniname/uniname (Depends-on): Likewise.
54810         * modules/unistr/u8-cmp (Depends-on): Likewise.
54811
54812 2008-11-02  Bruno Haible  <bruno@clisp.org>
54813
54814         Mark 'memchr' obsolete.
54815         * modules/memchr (Status, Notice): New sections.
54816         * modules/argp (Depends-on): Add memchr.
54817         * modules/base64 (Depends-on): Likewise.
54818         * modules/c-strcasestr (Depends-on): Likewise.
54819         * modules/chdir-long (Depends-on): Likewise.
54820         * modules/fnmatch (Depends-on): Likewise.
54821         * modules/getsubopt (Depends-on): Likewise.
54822         * modules/git-merge-changelog (Depends-on): Likewise.
54823         * modules/glob (Depends-on): Likewise.
54824         * modules/strcasestr-simple (Depends-on): Likewise.
54825         * modules/strnlen (Depends-on): Likewise.
54826
54827 2008-11-02  Bruno Haible  <bruno@clisp.org>
54828
54829         Mark 'atexit' obsolete.
54830         * modules/atexit (Status, Notice): New sections.
54831         * modules/chdir-long (Depends-on): Add atexit.
54832         * modules/wait-process (Depends-on): Likewise.
54833
54834 2008-11-02  Bruno Haible  <bruno@clisp.org>
54835
54836         * gnulib-tool: New option --with-obsolete.
54837         (func_usage): Document it.
54838         (func_modules_transitive_closure): Drop obsolete dependencies if
54839         incobsolete is not true.
54840         (func_import): Read and save the incobsolete variable to the cache.
54841
54842 2008-11-02  Bruno Haible  <bruno@clisp.org>
54843
54844         * modules/TEMPLATE-EXTENDED: New field 'Status'.
54845         * gnulib-tool: New option --extract-status.
54846         (func_usage): Document it.
54847         (sed_extract_prog): Recognize it.
54848         (func_get_status): New function.
54849
54850 2008-10-30  Simon Josefsson  <simon@josefsson.org>
54851
54852         * modules/sockets (License): Change from LGPL to LGPLv2+.
54853
54854 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54855
54856         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
54857
54858 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54859
54860         * MODULES.html.sh (Support for systems lacking POSIX:2001):
54861         Mention times and sys_times.
54862         * modules/sys_times, modules/sys_times-tests: New modules.
54863         * modules/times, modules/times-tests: Likewise
54864         * m4/sys_times_h.m4: New file.
54865         * lib/sys_times.in.h: Likewise
54866         * lib/times.c: Likewise.
54867         * tests/test-sys_times.c: Likewise.
54868         * tests/test-times.c: Likewise.
54869         * doc/posix-headers/sys_times.texi: Update.
54870         * doc/posix-functions/times.texi: Update.
54871
54872 2008-10-28  Jim Meyering  <meyering@redhat.com>
54873
54874         * modules/tempname (Depends-on): Add lstat.
54875
54876         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
54877
54878 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54879
54880         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
54881         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
54882         using idiom used elsewhere in gnulib.
54883
54884 2008-10-27  Jim Meyering  <meyering@redhat.com>
54885
54886         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
54887
54888 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54889
54890         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
54891         TESTS_ENVIRONMENT, for shell scripts that needs to call built
54892         programs.
54893         * tests/test-argp-2.sh: Use $EXEEXT when needed.
54894
54895 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54896
54897         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
54898
54899 2008-10-27  Bruno Haible  <bruno@clisp.org>
54900
54901         * tests/test-lstat.c: Include <stdio.h>.
54902
54903 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54904
54905         * modules/lstat-tests: New module.
54906         * tests/test-lstat.c: New file.
54907
54908 2008-10-26  Jim Meyering  <meyering@redhat.com>
54909
54910         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
54911
54912 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54913             Bruno Haible  <bruno@clisp.org>
54914
54915         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
54916         * modules/configmake (Include): Add a note that the include must come
54917         after all system headers.
54918         * lib/javaversion.c: Include configmake.h after all other includes.
54919
54920 2008-10-26  Bruno Haible  <bruno@clisp.org>
54921
54922         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
54923         HAVE_STRUCT_RANDOM_DATA to 1.
54924         (gl_STDLIB_H): Simplify.
54925
54926 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54927
54928         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
54929         substitute HAVE_STRUCT_RANDOM_DATA.
54930         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
54931         random_data.
54932         * modules/stdlib (Makefile.am): Substitute
54933         HAVE_STRUCT_RANDOM_DATA.
54934
54935 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54936
54937         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
54938         * doc/gnulib-intro.texi (Copyright): Likewise.
54939
54940 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54941
54942         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
54943         findings.
54944
54945 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
54946             Bruno Haible  <bruno@clisp.org>
54947
54948         * lib/unistd.in.h: Include <winsock2.h>.
54949         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
54950         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
54951         Provide dummy declarations.
54952         (gethostname): Override.
54953         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
54954         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
54955         gl_PREREQ_SYS_H_WINSOCK2.
54956         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
54957         * doc/posix-functions/gethostname.texi: More details.
54958
54959 2008-10-25  Bruno Haible  <bruno@clisp.org>
54960
54961         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
54962         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
54963         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
54964
54965         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
54966         here ...
54967         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
54968         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
54969         gl_UNISTD_H_DEFAULTS.
54970
54971 2008-10-25  Eric Blake  <ebb9@byu.net>
54972
54973         signbit: avoid spurious compiler failure
54974         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
54975         declarations inside function.
54976
54977 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54978             Bruno Haible  <bruno@clisp.org>
54979
54980         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
54981         * modules/random_r (Depends-on): Add stdint.
54982
54983 2008-10-24  Bruno Haible  <bruno@clisp.org>
54984
54985         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
54986         Eggert.
54987         * modules/strerror (License): Likewise.
54988
54989 2008-10-24  Jim Meyering  <meyering@redhat.com>
54990
54991         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
54992         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
54993
54994 2008-10-24  Eric Blake  <ebb9@byu.net>
54995
54996         getgroups: fix compilation when getgroups is available
54997         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
54998         but with <config.h> override of getgroups disabled.
54999
55000 2008-10-24  Simon Josefsson  <simon@josefsson.org>
55001
55002         * doc/gnulib.texi (Header files): Add note about C++ problems.
55003         Explained by Bruno Haible <bruno@clisp.org>.
55004
55005 2008-10-23  Bruno Haible  <bruno@clisp.org>
55006
55007         Define a dummy SA_NODEFER macro on Interix.
55008         * lib/signal.in.h (SA_NODEFER): Define fallback.
55009         Reported by Aleksey Cheusov <cheusov@tut.by> via
55010         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
55011
55012 2008-10-23  Bruno Haible  <bruno@clisp.org>
55013
55014         * modules/freadahead (License): Change to LGPLv2+.
55015         Suggested by Simon Josefsson.
55016
55017 2008-10-23  Jim Meyering  <meyering@redhat.com>
55018
55019         random_r: new module
55020         * modules/random_r: New file.
55021         * m4/random_r.m4: New file.
55022         * lib/random_r.c: New file, from glibc.
55023         * modules/random_r-tests: New file.
55024         * tests/test-random_r.c: New file.
55025         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
55026          Declare.
55027         (RAND_MAX): Define.
55028         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
55029         * modules/stdlib: Substitute them, too.
55030         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
55031         * doc/glibc-functions/initstate_r.texi: Mention the new module.
55032         * doc/glibc-functions/random_r.texi: Likewise.
55033         * doc/glibc-functions/setstate_r.texi: Likewise.
55034         * doc/glibc-functions/srandom_r.texi: Likewise.
55035         * config/srclist.txt: Mention it.
55036
55037 2008-10-23  David Lutterkort  <lutter@redhat.com>
55038
55039         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
55040         link requirement
55041
55042 2008-10-23  Jim Meyering  <meyering@redhat.com>
55043
55044         selinux-h: mark parameters of stub functions as intentionally unused
55045         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
55046         * lib/se-context.in.h: Likewise.
55047
55048 2008-10-22  Simon Josefsson  <simon@josefsson.org>
55049
55050         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
55051
55052 2008-10-22  Simon Josefsson  <simon@josefsson.org>
55053
55054         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
55055
55056 2008-10-22  Eric Blake  <ebb9@byu.net>
55057
55058         glthread/thread: avoid compiler warning
55059         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
55060         Add unreachable abort to silence compiler.
55061
55062 2008-10-22  Eric Blake  <ebb9@byu.net>
55063
55064         netdb: also supply struct addrinfo for cygwin 1.5.x
55065         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
55066         older cygwin.
55067         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
55068         cygwin.
55069         * doc/posix-headers/netdb.texi (netdb.h): Document this.
55070
55071 2008-10-22  Bruno Haible  <bruno@clisp.org>
55072
55073         * users.txt: Update entry about pspp.
55074
55075 2008-10-21  Bruno Haible  <bruno@clisp.org>
55076
55077         Simplification.
55078         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
55079         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
55080
55081         Simplification.
55082         * lib/ioctl.c (ioctl): Don't undefine.
55083         * lib/socket.c (socket): Don't undefine.
55084
55085         Remove unused module indicator macros.
55086         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
55087         GNULIB_$1 as a C macro.
55088
55089         * doc/posix-functions/close.texi: Undo last change.
55090         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
55091         Windows platforms.
55092
55093 2008-10-21  Bruno Haible  <bruno@clisp.org>
55094
55095         Add gethostname() declaration to <unistd.h>.
55096         * lib/unistd.in.h (gethostname): New declaration.
55097         * lib/gethostname.c: Include <unistd.h>.
55098         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
55099         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
55100         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
55101         and HAVE_GETHOSTNAME.
55102         * modules/gethostname (Depends-on): Add unistd.
55103         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55104         (Include): Specify <unistd.h>.
55105         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
55106         HAVE_GETHOSTNAME.
55107         * tests/test-gethostname.c: Include <unistd.h> first.
55108
55109 2008-10-21  Bruno Haible  <bruno@clisp.org>
55110
55111         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
55112         * modules/select-tests (Depends-on): Likewise.
55113         Reported by Simon Josefsson.
55114
55115 2008-10-21  Simon Josefsson  <simon@josefsson.org>
55116
55117         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
55118         * lib/accept.c: New file, based on winsock.c.
55119         * lib/bind.c: New file, based on winsock.c.
55120         * lib/connect.c: New file, based on winsock.c.
55121         * lib/getpeername.c: New file, based on winsock.c.
55122         * lib/getsockname.c: New file, based on winsock.c.
55123         * lib/getsockopt.c: New file, based on winsock.c.
55124         * lib/ioctl.c: New file, based on winsock.c.
55125         * lib/listen.c: New file, based on winsock.c.
55126         * lib/recv.c: New file, based on winsock.c.
55127         * lib/recvfrom.c: New file, based on winsock.c.
55128         * lib/send.c: New file, based on winsock.c.
55129         * lib/sendto.c: New file, based on winsock.c.
55130         * lib/setsockopt.c: New file, based on winsock.c.
55131         * lib/shutdown.c: New file, based on winsock.c.
55132         * lib/socket.c: New file, based on winsock.c.
55133         * lib/w32sock.h: New file, based on winsock.c.
55134         * lib/winsock.c: Remove file.
55135         * modules/accept: Likewise.
55136         * modules/bind: Likewise.
55137         * modules/connect: Likewise.
55138         * modules/getpeername: Likewise.
55139         * modules/getsockname: Likewise.
55140         * modules/getsockopt: Likewise.
55141         * modules/ioctl: Likewise.
55142         * modules/listen: Likewise.
55143         * modules/recv: Likewise.
55144         * modules/recvfrom: Likewise.
55145         * modules/send: Likewise.
55146         * modules/sendto: Likewise.
55147         * modules/setsockopt: Likewise.
55148         * modules/shutdown: Likewise.
55149         * modules/socket: Use socket.c instead of winsock.c.
55150         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
55151         * doc/posix-functions/accept.texi: Doc fix.
55152         * doc/posix-functions/bind.texi: Doc fix.
55153         * doc/posix-functions/close.texi: Doc fix.
55154         * doc/posix-functions/connect.texi: Doc fix.
55155         * doc/posix-functions/getpeername.texi: Doc fix.
55156         * doc/posix-functions/getsockname.texi: Doc fix.
55157         * doc/posix-functions/getsockopt.texi: Doc fix.
55158         * doc/posix-functions/ioctl.texi: Doc fix.
55159         * doc/posix-functions/listen.texi: Doc fix.
55160         * doc/posix-functions/recv.texi: Doc fix.
55161         * doc/posix-functions/recvfrom.texi: Doc fix.
55162         * doc/posix-functions/send.texi: Doc fix.
55163         * doc/posix-functions/sendto.texi: Doc fix.
55164         * doc/posix-functions/setsockopt.texi: Doc fix.
55165         * doc/posix-functions/shutdown.texi: Doc fix.
55166         * doc/posix-functions/socket.texi: Doc fix.
55167
55168 2008-10-20  Bruno Haible  <bruno@clisp.org>
55169
55170         Take into account the role of SIGABRT_COMPAT on Windows 2008.
55171         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
55172         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
55173         as an alias for SIGABRT.
55174         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
55175         (sigaction): Map it to SIGABRT.
55176         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
55177
55178 2008-10-20  Bruno Haible  <bruno@clisp.org>
55179
55180         * lib/fts.c: Don't include lstat.h.
55181         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
55182
55183         Move the lstat() declaration to <sys/stat.h>.
55184         * lib/lstat.h: Remove file.
55185         * lib/sys_stat.in.h: Add special invocation convention.
55186         (lstat): New declaration.
55187         * lib/lstat.c (orig_lstat): New function.
55188         (rpl_lstat): Use orig_lstat instead of lstat.
55189         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
55190         AC_C_INLINE. Set REPLACE_LSTAT.
55191         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
55192         and REPLACE_LSTAT.
55193         * modules/lstat (Files): Remove lib/lstat.h.
55194         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55195         (Include): Specify <sys/stat.h> instead of lstat.h.
55196         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
55197         REPLACE_LSTAT.
55198         * NEWS: Mention the change.
55199
55200 2008-10-20  Bruno Haible  <bruno@clisp.org>
55201
55202         * modules/posix_spawn-tests: New file.
55203         * tests/test-posix_spawn3.c: New file.
55204
55205 2008-10-20  Bruno Haible  <bruno@clisp.org>
55206
55207         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
55208         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
55209         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
55210         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
55211         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
55212
55213 2008-10-20  Bruno Haible  <bruno@clisp.org>
55214
55215         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
55216         of posix_spawn on AIX 5.3.
55217
55218 2008-10-20  Bruno Haible  <bruno@clisp.org>
55219
55220         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
55221
55222 2008-10-20  Bruno Haible  <bruno@clisp.org>
55223
55224         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
55225         of AC_LANG_PROGRAM.
55226
55227 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55228
55229         * lib/netdb.in.h: Don't define GNU specific constants until they
55230         are supported or needed.  Reported by Bruno Haible
55231         <bruno@clisp.org>.
55232
55233 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55234
55235         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
55236
55237 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55238
55239         * lib/getaddrinfo.h: Remove file.
55240         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
55241         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
55242         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
55243         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
55244         * modules/netdb: Substitute GNULIB_GETADDRINFO.
55245         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
55246         * tests/test-getaddrinfo.c: Likewise.
55247         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
55248         * NEWS: Mention change.
55249
55250 2008-10-19  Bruno Haible  <bruno@clisp.org>
55251
55252         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
55253
55254 2008-10-19  Bruno Haible  <bruno@clisp.org>
55255
55256         * lib/wait-process.c: Include simply <sys/wait.h>.
55257         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
55258         WIFSTOPPED): Remove fallback definitions.
55259         * modules/wait-process (Depends-on): Add sys_wait.
55260
55261         New module 'sys_wait'.
55262         * modules/sys_wait: New file.
55263         * lib/sys_wait.in.h: New file, partially copied from
55264         lib/wait-process.c.
55265         * m4/sys_wait_h.m4: New file.
55266         * doc/posix-headers/sys_wait.texi: Mention the new module.
55267
55268 2008-10-19  Bruno Haible  <bruno@clisp.org>
55269
55270         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
55271
55272 2008-10-19  Bruno Haible  <bruno@clisp.org>
55273
55274         Assume that waitpid() fills an 'int' status, not a 'union wait'.
55275         * lib/wait-process.c (WAIT_T): Remove type.
55276         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
55277         (wait_subprocess): Update.
55278
55279 2008-10-19  Bruno Haible  <bruno@clisp.org>
55280
55281         New module 'atoll'.
55282         * modules/atoll: New file.
55283         * lib/stdlib.in.h (atoll): New declaration.
55284         * lib/atoll.c: New file, from glibc with modifications.
55285         * m4/atoll.m4: New file.
55286         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
55287         HAVE_ATOLL.
55288         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
55289         * doc/posix-functions/atoll.texi: Mention the new module.
55290
55291 2008-10-19  Bruno Haible  <bruno@clisp.org>
55292
55293         Add strtoull() declaration to <stdlib.h>.
55294         * lib/stdlib.in.h (strtoull): New declaration.
55295         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55296         Set HAVE_STRTOULL.
55297         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
55298         HAVE_STRTOULL.
55299         * modules/strtoull (Depends-on): Add stdlib.
55300         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55301         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
55302         HAVE_STRTOULL.
55303
55304 2008-10-19  Bruno Haible  <bruno@clisp.org>
55305
55306         Add strtoll() declaration to <stdlib.h>.
55307         * lib/stdlib.in.h (strtoll): New declaration.
55308         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55309         Set HAVE_STRTOLL.
55310         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
55311         HAVE_STRTOLL.
55312         * modules/strtoll (Depends-on): Add stdlib.
55313         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55314         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
55315
55316 2008-10-19  Bruno Haible  <bruno@clisp.org>
55317
55318         * modules/bcopy (Depends-on): Add strings.
55319         (Include): Specify <strings.h>.
55320
55321 2008-10-19  Bruno Haible  <bruno@clisp.org>
55322
55323         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
55324
55325 2008-10-19  Bruno Haible  <bruno@clisp.org>
55326
55327         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
55328         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
55329         mingw.
55330
55331 2008-10-19  Bruno Haible  <bruno@clisp.org>
55332
55333         * lib/atanl.c: Don't include isnanl.h.
55334         * lib/cosl.c: Likewise.
55335         * lib/ldexpl.c: Likewise.
55336         * lib/logl.c: Likewise.
55337         * lib/sinl.c: Likewise.
55338         * lib/sqrtl.c: Likewise.
55339         * lib/tanl.c: Likewise.
55340
55341         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
55342         * lib/isnanf.h: Remove file.
55343         * lib/isnand.h: Remove file.
55344         * lib/isnanl.h: Remove file.
55345         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
55346         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
55347         macros.
55348         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
55349         HAVE_ISNANF, don't define it as a C macro.
55350         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
55351         HAVE_ISNAND, don't define it as a C macro.
55352         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
55353         HAVE_ISNANL, don't define it as a C macro.
55354         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
55355         HAVE_ISNAN[FDL].
55356         * modules/isnanf (Files): Remove lib/isnanf.h.
55357         (Depends-on): Add math.
55358         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55359         (Include): Specify <math.h> instead of isnanf.h.
55360         * modules/isnand (Files): Remove lib/isnand.h.
55361         (Depends-on): Add math.
55362         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55363         (Include): Specify <math.h> instead of isnand.h.
55364         * modules/isnanl (Files): Remove lib/isnanl.h.
55365         (Depends-on): Add math.
55366         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55367         (Include): Specify <math.h> instead of isnanl.h.
55368         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
55369         HAVE_ISNAN[FDL].
55370         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
55371         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
55372         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
55373         * NEWS: Mention the change.
55374
55375 2008-10-18  Bruno Haible  <bruno@clisp.org>
55376
55377         Add getusershell(), setusershell(), endusershell() declarations to
55378         <unistd.h>.
55379         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
55380         declarations.
55381         * lib/getusershell.c: Include unistd.h.
55382         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
55383         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55384         HAVE_GETUSERSHELL.
55385         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
55386         and HAVE_GETUSERSHELL.
55387         * modules/getusershell (Depends-on): Add unistd, extensions.
55388         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55389         (Include): Specify <unistd.h>.
55390         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
55391         HAVE_GETUSERSHELL.
55392
55393 2008-10-18  Bruno Haible  <bruno@clisp.org>
55394
55395         Add a getloadavg() declaration to <stdlib.h>.
55396         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
55397         getloadavg declaration.
55398         (getloadavg): New declaration.
55399         * lib/getloadavg.c: Include <stdlib.h> first.
55400         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
55401         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
55402         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
55403         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
55404         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55405         * modules/getloadavg (Depends-on): Add stdlib, extensions.
55406         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55407         (Include): Specify <stdlib.h>.
55408         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
55409         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55410
55411 2008-10-18  Bruno Haible  <bruno@clisp.org>
55412
55413         * lib/dirchownmod.c: Don't include lchmod.h.
55414
55415         Move the lchmod() declaration to <sys/stat.h>.
55416         * lib/lchmod.h: Remove file.
55417         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
55418         (lchmod): New declaration, moved here from lib/lchown.h.
55419         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
55420         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
55421         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
55422         and HAVE_LCHMOD.
55423         * modules/lchmod (Files): Remove lib/lchmod.h.
55424         (Depends-on): Add sys_stat, extensions.
55425         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55426         (Include): Specify <sys/stat.h> instead of lchmod.h.
55427         * modules/sys_stat (Depends-on): Add link-warning.
55428         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
55429         definition of GL_LINK_WARNING.
55430         * NEWS: Mention the change.
55431
55432 2008-10-18  Bruno Haible  <bruno@clisp.org>
55433
55434         * lib/fchdir.c: Don't include dirfd.h.
55435         * lib/fts.c: Likewise.
55436         * lib/getcwd.c: Likewise.
55437         * lib/glob.c: Likewise.
55438
55439         Move the dirfd() declaration to <dirent.h>.
55440         * lib/dirfd.h: Remove file.
55441         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
55442         (dirfd): New declaration.
55443         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
55444         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
55445         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
55446         HAVE_DECL_DIRFD.
55447         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
55448         HAVE_DECL_DIRFD.
55449         * modules/dirfd (Files): Remove lib/dirfd.h.
55450         (Depends-on): Add dirent, extensions.
55451         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
55452         (Include): Specify <dirent.h> instead of dirfd.h.
55453         * modules/dirent (Depends-on): Add link-warning.
55454         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
55455         definition of GL_LINK_WARNING.
55456         * NEWS: Mention the change.
55457
55458 2008-10-18  Bruno Haible  <bruno@clisp.org>
55459
55460         Move the euidaccess() declaration to <unistd.h>.
55461         * lib/euidaccess.h: Remove file.
55462         * lib/unistd.in.h (euidaccess): New declaration.
55463         * lib/euidaccess.c: Don't include euidaccess.h.
55464         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
55465         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
55466         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
55467         and HAVE_EUIDACCESS.
55468         * modules/euidaccess (Files): Remove lib/euidaccess.h.
55469         (Depends-on): Add unistd.
55470         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55471         (Include): Specify <unistd.h> instead of euidaccess.h.
55472         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
55473         HAVE_EUIDACCESS.
55474         * NEWS: Mention the change.
55475
55476 2008-10-18  Bruno Haible  <bruno@clisp.org>
55477
55478         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
55479
55480         Move the getdomainname() declaration to <unistd.h>.
55481         * lib/getdomainname.h: Remove file.
55482         * lib/unistd.in.h (getdomainname): New declaration.
55483         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
55484         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
55485         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55486         HAVE_GETDOMAINNAME.
55487         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55488         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
55489         * modules/getdomainname (Files): Remove lib/getdomainname.h.
55490         (Depends-on): Add unistd, extensions.
55491         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55492         (Includes): Specify <unistd.h> instead of getdomainname.h.
55493         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
55494         HAVE_GETDOMAINNAME.
55495         * NEWS: Mention the change.
55496
55497 2008-10-18  Bruno Haible  <bruno@clisp.org>
55498
55499         * modules/dirent: New file.
55500         * m4/dirent_h.m4: New file.
55501         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
55502         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
55503         * modules/fchdir (Files): Remove lib/dirent.in.h.
55504         (Depends-on): Add dirent.
55505         (Makefile.am): Move rules to modules/dirent.
55506         * doc/posix-headers/dirent.texi: Mention the new module.
55507
55508 2008-10-18  Bruno Haible  <bruno@clisp.org>
55509
55510         Avoid -Wunused-parameter warnings in public gnulib header files.
55511         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
55512         macro.
55513         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
55514
55515 2008-10-18  Bruno Haible  <bruno@clisp.org>
55516
55517         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
55518         * doc/glibc-functions/error.texi: Mention the module 'error'.
55519         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
55520         * doc/glibc-functions/getdomainname.texi: Mention the module
55521         'getdomainname'.
55522         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
55523         * doc/glibc-functions/getpagesize.texi: Mention the module
55524         'getpagesize'.
55525         * doc/glibc-functions/getusershell.texi: Mention the module
55526         'getusershell'.
55527         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
55528         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
55529         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
55530         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
55531         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
55532         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
55533         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
55534         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
55535         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
55536         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
55537         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
55538         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
55539         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
55540         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
55541
55542 2008-10-17  Bruno Haible  <bruno@clisp.org>
55543
55544         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
55545         HP-UX and IRIX, use -0.0L.
55546         * tests/test-ceill.c (minus_zero): Likewise.
55547         * tests/test-floorl.c (minus_zero): Likewise.
55548         * tests/test-frexpl.c (minus_zero): Likewise.
55549         * tests/test-isnan.c (minus_zerol): Likewise.
55550         * tests/test-isnanl.h (minus_zero): Likewise.
55551         * tests/test-ldexpl.c (minus_zero): Likewise.
55552         * tests/test-roundl.c (minus_zero): Likewise.
55553         * tests/test-signbit.c (minus_zerol): Likewise.
55554         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
55555         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
55556         * tests/test-truncl.c (minus_zero): Likewise.
55557         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
55558         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
55559         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
55560         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
55561
55562 2008-10-17  Bruno Haible  <bruno@clisp.org>
55563
55564         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
55565         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
55566         that it gets activated only for gcc >= 3.0.
55567         * lib/dirent.in.h: Likewise.
55568         * lib/errno.in.h: Likewise.
55569         * lib/fcntl.in.h: Likewise.
55570         * lib/float.in.h: Likewise.
55571         * lib/iconv.in.h: Likewise.
55572         * lib/inttypes.in.h: Likewise.
55573         * lib/locale.in.h: Likewise.
55574         * lib/math.in.h: Likewise.
55575         * lib/netdb.in.h: Likewise.
55576         * lib/netinet_in.in.h: Likewise.
55577         * lib/search.in.h: Likewise.
55578         * lib/signal.in.h: Likewise.
55579         * lib/spawn.in.h: Likewise.
55580         * lib/stdarg.in.h: Likewise.
55581         * lib/stdint.in.h: Likewise.
55582         * lib/stdio.in.h: Likewise.
55583         * lib/stdlib.in.h: Likewise.
55584         * lib/string.in.h: Likewise.
55585         * lib/strings.in.h: Likewise.
55586         * lib/sys_file.in.h: Likewise.
55587         * lib/sys_ioctl.in.h: Likewise.
55588         * lib/sys_select.in.h: Likewise.
55589         * lib/sys_socket.in.h: Likewise.
55590         * lib/sys_stat.in.h: Likewise.
55591         * lib/sys_time.in.h: Likewise.
55592         * lib/sysexits.in.h: Likewise.
55593         * lib/time.in.h: Likewise.
55594         * lib/unistd.in.h: Likewise.
55595         * lib/wchar.in.h: Likewise.
55596         * lib/wctype.in.h: Likewise.
55597         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55598
55599 2008-10-17  Jim Meyering  <meyering@redhat.com>
55600
55601         ignore-value: don't depend on inline module
55602         * modules/ignore-value (Depends-on): Remove 'inline'.
55603         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
55604         Suggestion from Bruno Haible.
55605
55606 2008-10-17  Bruno Haible  <bruno@clisp.org>
55607
55608         New implementation of condition variables for Win32.
55609         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
55610         (gl_linked_waitqueue_t): New type.
55611         (gl_cond_t): Use it.
55612         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
55613         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
55614         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
55615         (glthread_cond_init_func, glthread_cond_wait_func,
55616         glthread_cond_timedwait_func, glthread_cond_signal_func,
55617         glthread_cond_broadcast_func, glthread_cond_destroy_func):
55618         Reimplemented on the basis of gl_linked_waitqueue_t.
55619         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
55620         gl_waitqueue_t.
55621         (gl_rwlock_t): Update.
55622         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
55623
55624 2008-10-17  Simon Josefsson  <simon@josefsson.org>
55625
55626         * modules/recvfrom (Depends-on): Add dependency on getpeername.
55627         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55628
55629 2008-10-17  Jim Meyering  <meyering@redhat.com>
55630
55631         ignore-value: new module
55632         * modules/ignore-value: New file.
55633         * lib/ignore-value.h: New file.
55634         * MODULES.html.sh (Compiler warning management): New section,
55635         just for this module.  More to come.
55636
55637 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55638
55639         open-safer.c: avoid 'signed and unsigned in conditional...' warning
55640         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
55641         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
55642
55643 2008-10-16  Jim Meyering  <meyering@redhat.com>
55644
55645         openat-die.c: avoid 'no previous prototype' warning
55646         * lib/openat-die.c: Include "openat.h".
55647         Reported by Reuben Thomas <rrt@sc3d.org>.
55648
55649 2008-10-16  Simon Josefsson  <simon@josefsson.org>
55650
55651         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
55652         * lib/netdb.in.h: Fix typo.
55653         Reported by Bruno Haible  <bruno@clisp.org>
55654
55655         * lib/netdb.in.h: Include sys/socket.h for platforms without
55656         netdb.h, to get structures like hostent on MinGW.
55657         * modules/netdb (Depends-on): Add sys_socket.
55658
55659 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55660
55661         * modules/netdb, modules/netdb-tests: New file.
55662         * m4/netdb_h.m4: New file.
55663         * lib/netdb.in.h: Add, currently just an empty file pending
55664         definitions.
55665         * tests/test-netdb.c: New file.
55666         * doc/posix-headers/netdb.texi: Mention that we replace it if
55667         needed.
55668         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55669         netdb.
55670
55671 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55672
55673         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
55674         with code.
55675
55676 2008-10-13  Bruno Haible  <bruno@clisp.org>
55677
55678         * lib/glthread/cond.c (glthread_cond_wait_func,
55679         glthread_cond_timedwait_func): Add a comment.
55680
55681 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55682
55683         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
55684         * tests/test-select.c: Likewise,
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): Fix variable name.
55690         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55691
55692 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
55693
55694         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
55695         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
55696         struct sockaddr.sa_len.
55697         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
55698
55699 2008-10-13  Simon Josefsson  <simon@josefsson.org>
55700
55701         * build-aux/pmccabe2html: Add css and css_url parameters.
55702
55703 2008-10-12  Bruno Haible  <bruno@clisp.org>
55704
55705         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
55706         calling aclx_get.
55707         Reported by Rainer Tammer <tammer@tammer.net>.
55708
55709 2008-10-12  Bruno Haible  <bruno@clisp.org>
55710
55711         Use msvcrt aware primitives for creation/termination of Win32 threads.
55712         * lib/glthread/thread.c: Include <process.h>.
55713         (glthread_create_func): Use _beginthreadex instead of CreateThread.
55714         (wrapper_func): Update signature.
55715         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
55716
55717 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55718             Bruno Haible  <bruno@clisp.org>
55719
55720         Provide a Win32 implementation of the 'cond' module.
55721         * lib/glthread/cond.h [USE_WIN32]: New implementation.
55722         * lib/glthread/cond.c (glthread_cond_init_func,
55723         glthread_cond_wait_func, glthread_cond_timedwait_func,
55724         glthread_cond_signal_func, glthread_cond_broadcast_func,
55725         glthread_cond_destroy_func) [USE_WIN32]: New functions.
55726         * modules/cond (Dependencies): Add gettimeofday.
55727
55728 2008-10-11  Bruno Haible  <bruno@clisp.org>
55729
55730         Make sleep work on older versions of mingw.
55731         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
55732         only whether it exists.
55733         * doc/posix-functions/sleep.texi: Mention the problem with older
55734         versions of mingw.
55735
55736 2008-10-11  Bruno Haible  <bruno@clisp.org>
55737
55738         New module 'shutdown'.
55739         * modules/shutdown: New file.
55740         * lib/sys_socket.in.h (shutdown): New declaration.
55741         * lib/winsock.c (shutdown): New function.
55742         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
55743         GNULIB_SHUTDOWN.
55744         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
55745         * doc/posix-functions/shutdown.texi: Document the new module.
55746
55747 2008-10-11  Jim Meyering  <meyering@redhat.com>
55748
55749         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
55750
55751 2008-10-11  Bruno Haible  <bruno@clisp.org>
55752
55753         New module 'fclose'.
55754         * modules/fclose: New file.
55755         * lib/stdio.in.h (fclose): New declaration.
55756         * lib/fclose.c: New file.
55757         * m4/fclose.m4: New file.
55758         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
55759         REPLACE_FCLOSE.
55760         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
55761         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
55762         REPLACE_FCLOSE.
55763         * modules/close (Depends-on): fclose.
55764         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
55765
55766 2008-10-11  Bruno Haible  <bruno@clisp.org>
55767
55768         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
55769         set errno and don't call _close.
55770
55771 2008-10-10  Bruno Haible  <bruno@clisp.org>
55772
55773         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
55774         ACL, not afterwards. Fixes test failure on Cygwin.
55775
55776 2008-10-09  Ben Pfaff  <blp@gnu.org>
55777
55778         * build-aux/announce-gen: Fix gnulib version related part of usage
55779         message.  Die with a useful error message if no tarballs are
55780         found.
55781
55782 2008-10-10  Jim Meyering  <meyering@redhat.com>
55783
55784         bootstrap: use git's --depth=N option only if it's supported
55785         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
55786         recognize the --depth option.  Reported by Pádraig Brady.
55787
55788 2008-10-09  Bruno Haible  <bruno@clisp.org>
55789
55790         New module 'ioctl'.
55791         * modules/ioctl: New file.
55792         * lib/sys_socket.in.h (ioctl): Remove declaration.
55793         * lib/winsock.c: Include <sys/ioctl.h>.
55794         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
55795         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
55796         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
55797         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
55798         * doc/posix-functions/ioctl.texi: Mention the new module.
55799
55800 2008-10-09  Bruno Haible  <bruno@clisp.org>
55801
55802         New module 'sys_ioctl'.
55803         * lib/sys_ioctl.in.h: New file.
55804         * m4/sys_ioctl_h.m4: New file.
55805         * modules/sys_ioctl: New file.
55806         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
55807
55808 2008-10-09  Bruno Haible  <bruno@clisp.org>
55809
55810         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
55811         * lib/winsock.c: Include <stdarg.h>.
55812         (rpl_ioctl): Change to second argument 'int' and then varargs.
55813
55814 2008-10-09  Bruno Haible  <bruno@clisp.org>
55815
55816         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
55817         when the sys_socket module is present and the system has <winsock2.h>.
55818
55819 2008-10-09  Bruno Haible  <bruno@clisp.org>
55820
55821         * doc/posix-functions/close.texi: Mention module 'close' instead of
55822         module 'sys_socket'.
55823
55824 2008-10-09  Bruno Haible  <bruno@clisp.org>
55825
55826         * doc/glibc-headers/sys_ioctl.texi: New file.
55827         * doc/gnulib.texi: Include it.
55828
55829 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55830             Bruno Haible  <bruno@clisp.org>
55831
55832         Combine the two replacements of 'close'.
55833         * lib/sys_socket.in.h (close): Define to a reminder to include
55834         <unistd.h>.
55835         (_gl_close_fd_maybe_socket): New declaration.
55836         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
55837         * lib/winsock.c (close): Remove undefinition.
55838         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
55839         needed for the gnulib module 'close'.
55840         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
55841         define to an error symbol or to a warning, if suitable.
55842         * lib/close.c: Include <sys/socket.h>.
55843         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
55844         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
55845         UNISTD_H_HAVE_WINSOCK2_H.
55846         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
55847         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55848         UNISTD_H_HAVE_WINSOCK2_H.
55849         * modules/sys_socket (Files): Add m4/unistd_h.m4.
55850         (configure.ac): Set a module indicator.
55851         (Makefile.am): Substitute GNULIB_CLOSE.
55852         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
55853         * modules/poll-tests (Depends-on): Add close.
55854         * modules/select-tests (Depends-on): Likewise.
55855
55856 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55857             Bruno Haible  <bruno@clisp.org>
55858
55859         New module 'close'.
55860         * modules/close: New file.
55861         * lib/unistd.in.h (close): Move declaration out of the
55862         FCHDIR_REPLACEMENT scope.
55863         (_gl_unregister_fd): New declaration.
55864         * lib/close.c: New file.
55865         * lib/fchdir.c (rpl_close): Remove function.
55866         * m4/close.m4: New file.
55867         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55868         close.
55869         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
55870         REPLACE_CLOSE.
55871         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
55872         REPLACE_CLOSE.
55873         * modules/fchdir (Depends-on): Add close.
55874
55875 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55876             Bruno Haible  <bruno@clisp.org>
55877
55878         * lib/fcntl.in.h (open): Simplify conditionals.
55879         (_gl_register_fd): New declaration.
55880         * lib/fchdir.c (rpl_open): Remove function.
55881         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
55882         also.
55883         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
55884         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55885         open.
55886
55887 2008-10-09  Jim Meyering  <meyering@redhat.com>
55888
55889         GNUmakefile: use the more name-space-friendly "_version"
55890         * top/GNUmakefile (_dummy): Update.
55891         (_version): Rename from "version".
55892
55893 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55894             Bruno Haible  <bruno@clisp.org>
55895
55896         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
55897         rpl_close.
55898         (_gl_register_fd): New function, extracted from rpl_open.
55899         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
55900         (rpl_open, rpl_opendir): Use _gl_register_fd.
55901
55902 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55903
55904         Fix organization of 'open' replacement.
55905         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
55906         (gl_FUNC_OPEN): Use it.
55907         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
55908
55909 2008-10-08  Bruno Haible  <bruno@clisp.org>
55910
55911         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
55912
55913 2008-10-08  Simon Josefsson  <simon@josefsson.org>
55914
55915         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
55916         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
55917         listen).
55918
55919 2008-10-08  Eric Blake  <ebb9@byu.net>
55920
55921         GNUmakefile: add 'make version' target
55922         * top/GNUmakefile (_curr-ver): Split version update rules...
55923         (version): ...into a target.
55924
55925 2008-10-07  Bruno Haible  <bruno@clisp.org>
55926
55927         Use a more portable replacement expression for -0.0L.
55928         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
55929         instead of -0.0L. Fix m4 quotation.
55930
55931         * tests/test-signbit.c: Include <float.h>.
55932         (minus_zero): New variable.
55933         (test_signbitl): Use minus_zero instead of -zero.
55934         * modules/signbit-tests (Depends-on): Add float.
55935
55936         * tests/test-ceill.c: Include <float.h>.
55937         (zero): Remove variable.
55938         (minus_zero): New variable.
55939         (main): Use minus_zero instead of -zero.
55940         * modules/ceill-tests (Depends-on): Add float.
55941
55942         * tests/test-floorl.c: Include <float.h>.
55943         (zero): Remove variable.
55944         (minus_zero): New variable.
55945         (main): Use minus_zero instead of -zero.
55946         * modules/floorl-tests (Depends-on): Add float.
55947
55948         * tests/test-roundl.c: Include <float.h>.
55949         (zero): Remove variable.
55950         (minus_zero): New variable.
55951         (main): Use minus_zero instead of -zero.
55952         * modules/roundl-tests (Depends-on): Add float.
55953
55954         * tests/test-truncl.c: Include <float.h>.
55955         (zero): Remove variable.
55956         (minus_zero): New variable.
55957         (main): Use minus_zero instead of -zero.
55958         * modules/truncl-tests (Depends-on): Add float.
55959
55960         * tests/test-frexpl.c (zero): Remove variable.
55961         (minus_zero): New variable.
55962         (main): Use minus_zero instead of -zero.
55963         * modules/frexpl-tests (Depends-on): Add float.
55964
55965         * tests/test-isnan.c (zerol): Remove variable.
55966         (minus_zerol): New variable.
55967         (test_long_double): Use minus_zerol instead of -zerol.
55968         * modules/isnan-tests (Depends-on): Add float.
55969
55970         * tests/test-isnanl.h (zero): Remove variable.
55971         (minus_zero): New variable.
55972         (main): Use minus_zero instead of -zero.
55973         * modules/isnanl-nolibm-tests (Depends-on): Add float.
55974         * modules/isnanl-tests (Depends-on): Add float.
55975
55976         * tests/test-ldexpl.c (zero): Remove variable.
55977         (minus_zero): New variable.
55978         (main): Use minus_zero instead of -zero.
55979         * modules/ldexpl-tests (Depends-on): Add float.
55980
55981         * tests/test-snprintf-posix.h (zerol): Remove variable.
55982         (minus_zerol): New variable.
55983         (test_function): Use minus_zerol instead of -zerol.
55984         * modules/snprintf-posix-tests (Depends-on): Add float.
55985         * modules/vsnprintf-posix-tests (Depends-on): Add float.
55986
55987         * tests/test-sprintf-posix.h (zerol): Remove variable.
55988         (minus_zerol): New variable.
55989         (test_function): Use minus_zerol instead of -zerol.
55990         * modules/sprintf-posix-tests (Depends-on): Add float.
55991         * modules/vsprintf-posix-tests (Depends-on): Add float.
55992
55993         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
55994         (minus_zerol): New variable.
55995         (test_function): Use minus_zerol instead of -zerol.
55996         * modules/vasnprintf-posix-tests (Depends-on): Add float.
55997
55998         * tests/test-vasprintf-posix.c (zerol): Remove variable.
55999         (minus_zerol): New variable.
56000         (test_function): Use minus_zerol instead of -zerol.
56001         * modules/vasprintf-posix-tests (Depends-on): Add float.
56002
56003 2008-10-07  Simon Josefsson  <simon@josefsson.org>
56004
56005         * MODULES.html.sh (Support for building documentation): Mention
56006         pmccabe2html.  Sort entries.
56007
56008         Add pmccabe2html module, from gnupdf.
56009         * build-aux/pmccabe.css: New file.
56010         * build-aux/pmccabe2html: New file.
56011         * m4/pmccabe2html.m4: New file.
56012         * modules/pmccabe2html: New file.
56013
56014 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
56015
56016         flock: new module
56017         * MODULES.html.sh: Add to list of modules.
56018         * lib/flock.c: flock implementation for Windows and Unix systems
56019         which have fcntl.
56020         * doc/glibc-functions/flock.texi: Update documentation.
56021         * lib/sys_file.in.h: <sys/file.h> header file.
56022         * m4/flock.m4: M4 macros.
56023         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
56024         * modules/flock: flock module.
56025         * modules/flock-tests: flock tests module.
56026         * modules/sys_file: sys/file.h module.
56027         * tests/test-flock.c: test suite for flock.
56028
56029 2008-10-06  Jim Meyering  <meyering@redhat.com>
56030
56031         bootstrap: check for LT_INIT more portably still ;-)
56032         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
56033         Spotted by Bruno Haible.
56034
56035 2008-10-06  Eric Blake  <ebb9@byu.net>
56036
56037         test-signbit: avoid tripping Irix cc bug on -0.0L
56038         * tests/test-signbit.c (minus_zerol): Delete, and replace with
56039         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
56040         entire testsuite consistent and avoids an Irix 6.2 bug.
56041
56042 2008-10-05  Bruno Haible  <bruno@clisp.org>
56043             Jim Meyering  <jim@meyering.net>
56044
56045         Add an option for ignoring EPIPE during close_stdout.
56046         * lib/closeout.h: Include <stdbool.h>.
56047         (close_stdout_set_ignore_EPIPE): New declaration.
56048         * lib/closeout.c: Include <stdbool.h>.
56049         (ignore_EPIPE): New variable.
56050         (close_stdout_set_ignore_EPIPE): New function.
56051         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
56052         * lib/close-stream.c (close_stream): Mention the possible EPIPE
56053         failure.
56054         * modules/closeout (Depends-on): Add stdbool.
56055
56056 2008-10-05  Bruno Haible  <bruno@clisp.org>
56057
56058         * modules/accept: New file.
56059         * modules/bind: New file.
56060         * modules/connect: New file.
56061         * modules/getpeername: New file.
56062         * modules/getsockname: New file.
56063         * modules/getsockopt: New file.
56064         * modules/listen: New file.
56065         * modules/recv: New file.
56066         * modules/recvfrom: New file.
56067         * modules/send: New file.
56068         * modules/sendto: New file.
56069         * modules/setsockopt: New file.
56070         * modules/socket: New file.
56071         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
56072         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
56073         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
56074         the particular module is requested. Add a link warning when the
56075         particular module is not requested.
56076         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
56077         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
56078         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
56079         the particular module is requested.
56080         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
56081         gl_SYS_SOCKET_H_DEFAULTS): New macros.
56082         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
56083         * modules/sys_socket (Depends-on): Add link-warning.
56084         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
56085         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
56086         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
56087         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
56088         GL_LINK_WARNING.
56089         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
56090         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
56091         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
56092         * doc/posix-functions/getpeername.texi: Mention the new module
56093         'getpeername'.
56094         * doc/posix-functions/getsockname.texi: Mention the new module
56095         'getsockname'.
56096         * doc/posix-functions/getsockopt.texi: Mention the new module
56097         'getsockopt'.
56098         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
56099         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
56100         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
56101         * doc/posix-functions/send.texi: Mention the new module 'send'.
56102         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
56103         * doc/posix-functions/setsockopt.texi: Mention the new module
56104         'setsockopt'.
56105         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
56106         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
56107         listen, connect, accept.
56108         * modules/select-tests (Depends-on): Likewise.
56109
56110 2008-10-05  Bruno Haible  <bruno@clisp.org>
56111
56112         * lib/winsock.c (strerror): Remove unused #undef.
56113         (rpl_close): Remove unused local variable.
56114
56115         * modules/sys_socket (Depends-on); Add errno.
56116
56117 2008-10-05  Bruno Haible  <bruno@clisp.org>
56118
56119         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
56120         (select): Add a link warning when the 'select' module is not used.
56121         * modules/sys_select (Depends-on): Add link-warning.
56122         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
56123         Suggested by Paolo Bonzini.
56124
56125 2008-10-05  Jim Meyering  <meyering@redhat.com>
56126
56127         bootstrap: check for LT_INIT more portably
56128         * build-aux/bootstrap: Avoid using grep -E, since it's not
56129         portable enough.  Suggestion from Bruno Haible.
56130
56131 2008-10-05  Bruno Haible  <bruno@clisp.org>
56132
56133         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
56134         as being fixed by gnulib.
56135
56136 2008-10-05  Bruno Haible  <bruno@clisp.org>
56137
56138         * modules/select-tests: New file, mostly copied from
56139         modules/sys_select-tests.
56140         * tests/test-select.c: New file, mostly copied from
56141         tests/test-sys_select.c.
56142         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
56143         * modules/sys_select-tests (Depends-on): Remove all dependencies.
56144         (Makefile.am): Remove test_sys_select_LDADD.
56145
56146         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
56147         to an undefined symbol, for an error message.
56148         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
56149         (gl_SYS_SELECT_H_DEFAULTS): New macro.
56150         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
56151         winsock-select.c here.
56152         * modules/sys_select (Files): Remove lib/winsock-select.c.
56153         (Depends-on): Remove alloca.
56154         (Makefile.am): Substitute GNULIB_SELECT.
56155         * modules/select: New file.
56156         * doc/posix-functions/select.texi: Update.
56157
56158 2008-10-05  Bruno Haible  <bruno@clisp.org>
56159
56160         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
56161         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
56162         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
56163         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
56164         getdtablesize.
56165         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
56166         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
56167
56168 2008-10-05  Bruno Haible  <bruno@clisp.org>
56169
56170         * modules/getdtablesize-tests: New file.
56171         * tests/test-getdtablesize.c: New file.
56172
56173         New module 'getdtablesize'.
56174         * lib/unistd.in.h (getdtablesize): New declaration.
56175         * lib/getdtablesize.c: New file.
56176         * m4/getdtablesize.m4: New file.
56177         * modules/getdtablesize: New file.
56178         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56179         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
56180         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
56181         HAVE_GETDTABLESIZE.
56182         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
56183
56184 2008-10-05  Bruno Haible  <bruno@clisp.org>
56185
56186         * modules/sched (Makefile.am): Fix typo.
56187         Reported by Simon Josefsson.
56188
56189 2008-10-05  Jim Meyering  <meyering@redhat.com>
56190
56191         bootstrap: check for LT_INIT, too
56192         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
56193         are deprecated.  Suggestion from Ralf Wildenhues.
56194
56195 2008-10-05  Bruno Haible  <bruno@clisp.org>
56196
56197         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
56198         overriding them by ours.
56199         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
56200
56201 2008-10-05  Jim Meyering  <meyering@redhat.com>
56202
56203         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
56204         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
56205         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
56206
56207 2008-10-04  Bruno Haible  <bruno@clisp.org>
56208
56209         * modules/dup2 (License): Change to LGPLv2+.
56210         * modules/sleep (License): Likewise.
56211         * modules/perror (License): Likewise.
56212         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
56213         Blake.
56214         * modules/signal (License): Likewise.
56215         * modules/sigprocmask (License): Likewise.
56216         * modules/raise (License): Change to LGPLv2+, with approval by Jim
56217         Meyering.
56218
56219 2008-10-04  Bruno Haible  <bruno@clisp.org>
56220
56221         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
56222         Reported by Rainer Tammer <tammer@tammer.net>.
56223
56224 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
56225             Bruno Haible  <bruno@clisp.org>
56226
56227         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
56228         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
56229         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
56230
56231 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
56232
56233         filevercmp: new module
56234         * lib/filevercmp.h: New function filevercmp comparing version strings.
56235         * lib/filevercmp.c: Implementation of filevercmp function.
56236         * modules/filevercmp: Module metadata.
56237         * tests/test-filevercmp.c: Unit test for new module.
56238         * modules/filevercmp-tests: Unit test metadata.
56239         * MODULES.html.sh: Add filevercmp module.
56240
56241 2008-10-03  Bruno Haible  <bruno@clisp.org>
56242
56243         * lib/c-ctype.h: Add comment.
56244         Reported by Jim Meyering.
56245
56246 2008-10-02  Bruno Haible  <bruno@clisp.org>
56247
56248         * modules/posix_spawn-internal (Depends-on): Add 'open'.
56249
56250 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56251
56252         * build-aux/bootstrap: Allow renaming bootstrap, and change the
56253         name of bootstrap.conf accordingly.
56254
56255 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56256
56257         * build-aux/bootstrap: Install git-merge-changelog configuration
56258         items into .gitconfig if needed.
56259
56260 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56261
56262         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
56263         git repository, and initialize/update it accordingly.
56264
56265 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
56266
56267         * modules/fsync-tests: New file.
56268         * tests/test-fsync.c: New file.
56269
56270         New module 'fsync'.
56271         * lib/fsync.c: New file.
56272         * m4/fsync.m4: New file.
56273         * modules/fsync: New file.
56274         * lib/unistd.in.h (fsync): New declaration.
56275         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
56276         GNULIB_FSYNC and HAVE_FSYNC.
56277         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
56278         * MODULES.html.sh (posix_functions): Add fsync.
56279         * doc/posix-functions/fsync.texi: Mention the new module.
56280
56281 2008-10-02  Jim Meyering  <meyering@redhat.com>
56282
56283         fts.c: sync with similar code from coreutils' remove.c
56284         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
56285         Guard also with "#if defined __linux__", since for now at least,
56286         this code is Linux-kernel-specific.
56287
56288 2008-10-02  Jim Meyering  <meyering@redhat.com>
56289
56290         fts: bug fixes
56291         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
56292         Include <sys/vfs.h>, not <sys/statfs.h>.
56293
56294         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
56295         Include <sys/vfs.h>, not <sys/statfs.h>.
56296
56297 2008-10-01  Bruno Haible  <bruno@clisp.org>
56298
56299         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
56300         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
56301         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
56302         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
56303         * doc/posix-functions/posix_spawnp.texi: Likewise.
56304         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
56305         whether posix_spawn actually works.
56306         * m4/pipe.m4 (gl_PIPE): Likewise.
56307         * modules/execute (Files): Add m4/posix_spawn.m4.
56308         * modules/pipe (Files): Add m4/posix_spawn.m4.
56309         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
56310
56311 2008-10-01  Jim Meyering  <meyering@redhat.com>
56312
56313         remove trailing spaces
56314         * NEWS: Likewise.
56315         * lib/poll.c (poll): Likewise.
56316         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
56317         * lib/winsock.c (rpl_close): Likewise.
56318         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
56319         * modules/yield: Likewise.
56320         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
56321         * tests/test-sys_select.c (connect_to_socket): Likewise.
56322
56323         fts.c: adjust a new interface to be more generally useful
56324         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
56325         (fts_build): Adjust caller.
56326
56327 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56328
56329         * modules/cond-tests: New file.
56330         * tests/test-cond.c: New file.
56331
56332 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56333             Bruno Haible  <bruno@clisp.org>
56334
56335         * modules/cond (Dependencies): Add errno, time.
56336         * lib/glthread/cond.h: Include <time.h>.
56337         (gl_cond_define, gl_cond_define_initialized): Use the same definition
56338         across platforms.
56339
56340 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56341             Bruno Haible  <bruno@clisp.org>
56342
56343         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
56344
56345 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56346             Bruno Haible  <bruno@clisp.org>
56347
56348         * modules/tls-tests (Depends-on): Add thread, yield.
56349         (configure.ac): Remove all checks.
56350         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
56351         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56352         gl_thread_self): Remove definitions. Include glthread/thread.h and
56353         glthread/yield.h instead.
56354         (test_tls): Pass an additional NULL argument to gl_thread_join.
56355
56356 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56357             Bruno Haible  <bruno@clisp.org>
56358
56359         * modules/lock-tests (Depends-on): Add thread, yield.
56360         (configure.ac): Remove all checks.
56361         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
56362         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56363         gl_thread_self): Remove definitions. Include glthread/thread.h and
56364         glthread/yield.h instead.
56365         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
56366         additional NULL argument to gl_thread_join.
56367
56368 2008-09-30  Bruno Haible  <bruno@clisp.org>
56369
56370         Fix the Win32 implementation of the 'thread' module.
56371         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
56372         pointer type.
56373         (gl_thread_self): Invoke gl_thread_self_func.
56374         (gl_thread_self_func): New declaration.
56375         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
56376         (do_init_self_key, init_self_key): New functions.
56377         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
56378         Remove some fields.
56379         (running_threads, running_lock): Remove variables.
56380         (get_current_thread_handle): New function.
56381         (gl_thread_self_func, wrapper_func, glthread_create_func,
56382         glthread_join_func, gl_thread_exit_func): Largely rewritten and
56383         simplified.
56384
56385 2008-09-30  Bruno Haible  <bruno@clisp.org>
56386
56387         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
56388         files.
56389
56390 2008-09-30  Jim Meyering  <meyering@redhat.com>
56391
56392         fts.m4: correct the test for statfs.f_type
56393         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
56394         when checking for statfs.f_type.
56395
56396 2008-09-15  Simon Josefsson  <simon@josefsson.org>
56397
56398         tests: avoid some compiler warnings
56399         * tests/test-memchr.c (main): Pass NULL indirectly.
56400         * tests/test-getdate.c (main): Remove unused variable 'ret'.
56401
56402 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
56403
56404         getdate.y: disallow countable dayshifts like "4 yesterday ago"
56405         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
56406         exactly specified dayshifts.
56407         (dayshift): New rule.
56408         (rel): Add dayshift.
56409         (relative_time_table) [tomorrow, yesterday, today, now]:
56410         Use tDAY_SHIFT in place of tDAY_UNIT.
56411         * tests/test-getdate.c: Add tests for now-disallowed countable
56412         dayshifts, e.g., "4 yesterday ago".
56413
56414 2008-09-29  Bruno Haible  <bruno@clisp.org>
56415
56416         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
56417         * tests/test-posix_spawn1.in.sh: Renamed from
56418         tests/test-posix_spawn.in.sh.
56419         * tests/test-posix_spawn2.c: New file.
56420         * tests/test-posix_spawn2.in.sh: New file.
56421         * modules/posix_spawnp-tests (Files): Update.
56422         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
56423
56424 2008-09-29  Bruno Haible  <bruno@clisp.org>
56425
56426         Propagate effects of putenv/setenv/unsetenv to child processes.
56427         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
56428         * lib/pipe.c (create_pipe): Likewise.
56429
56430 2008-09-29  Bruno Haible  <bruno@clisp.org>
56431
56432         Enable use of shell scripts as executables in mingw.
56433         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
56434         run the program as a shell script.
56435         * lib/pipe.c (create_pipe): Likewise.
56436         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
56437         resulting array.
56438
56439 2008-09-29  Eric Blake  <ebb9@byu.net>
56440
56441         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
56442
56443 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
56444
56445         * doc/posix-functions/accept.texi: Update mingw problems.
56446         * doc/posix-functions/bind.texi: Update mingw problems.
56447         * doc/posix-functions/close.texi: Update mingw problems.
56448         * doc/posix-functions/connect.texi: Update mingw problems.
56449         * doc/posix-functions/getpeername.texi: Update mingw problems.
56450         * doc/posix-functions/getsockname.texi: Update mingw problems.
56451         * doc/posix-functions/getsockopt.texi: Update mingw problems.
56452         * doc/posix-functions/ioctl.texi: Update mingw problems.
56453         * doc/posix-functions/listen.texi: Update mingw problems.
56454         * doc/posix-functions/recv.texi: Update mingw problems.
56455         * doc/posix-functions/recvfrom.texi: Update mingw problems.
56456         * doc/posix-functions/select.texi: Update mingw problems.
56457         * doc/posix-functions/send.texi: Update mingw problems.
56458         * doc/posix-functions/sendto.texi: Update mingw problems.
56459         * doc/posix-functions/setsockopt.texi: Update mingw problems.
56460         * doc/posix-functions/socket.texi: Update mingw problems.
56461
56462 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
56463             Bruno Haible  <bruno@clisp.org>
56464
56465         * lib/sys_select.in.h: Include sys/time.h.
56466         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
56467         * modules/sys_select: Depend on sys_time.
56468         * tests/test-sys_select.c: Test that sys/select.h defines struct
56469         timeval fully.
56470
56471 2008-09-29  Bruno Haible  <bruno@clisp.org>
56472
56473         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
56474         * lib/sys_select.in.h: Likewise.
56475
56476 2008-09-29  Bruno Haible  <bruno@clisp.org>
56477
56478         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
56479
56480 2008-09-29  Bruno Haible  <bruno@clisp.org>
56481
56482         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
56483         Set LIBSOCKET instead of augmenting LIBS.
56484         * modules/sockets (Link): New section.
56485         * modules/sockets-tests (test_sockets_LDADD): New variable.
56486         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
56487         * modules/poll-tests (test_poll_LDADD): New variable.
56488         * NEWS: Document the change.
56489
56490 2008-09-29  Bruno Haible  <bruno@clisp.org>
56491
56492         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
56493         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
56494         ARPA_INET_H directly.
56495         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56496
56497 2008-09-28  Bruno Haible  <bruno@clisp.org>
56498
56499         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
56500         from gl_HEADER_SYS_SOCKET.
56501         (gl_HEADER_SYS_SOCKET): Invoke it.
56502         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56503
56504 2008-09-28  Bruno Haible  <bruno@clisp.org>
56505
56506         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
56507         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
56508         Needed on OSF/1 4.0.
56509
56510 2008-09-28  Bruno Haible  <bruno@clisp.org>
56511
56512         Override open more carefully.
56513         * lib/open.c (orig_open): New function.
56514         (rpl_open): Use orig_open instead of open.
56515         * lib/fcntl.in.h: Add special invocation convention.
56516         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
56517         (gl_FUNC_OPEN): Invoke it.
56518
56519         Override freopen more carefully.
56520         * lib/freopen.c (orig_freopen): New function.
56521         (rpl_freopen): Use orig_freopen instead of freopen.
56522         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
56523         (gl_FUNC_FREOPEN): Invoke it.
56524
56525         Override fopen more carefully.
56526         * lib/fopen.c (orig_fopen): New function.
56527         (rpl_fopen): Use orig_fopen instead of fopen.
56528         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
56529         (gl_FUNC_FOPEN): Invoke it.
56530         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
56531
56532 2008-09-28  Bruno Haible  <bruno@clisp.org>
56533
56534         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
56535         SIGPIPE.
56536
56537 2008-09-28  Bruno Haible  <bruno@clisp.org>
56538
56539         * tests/test-sigaction.c (handler, main): Disable the check whether
56540         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
56541         glibc systems with LinuxThreads.
56542
56543 2008-09-28  Bruno Haible  <bruno@clisp.org>
56544
56545         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
56546
56547         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
56548         with AIX xlc.
56549         * lib/fcntl.in.h (open): Likewise.
56550         Reported by Rainer Tammer <tammer@tammer.net>.
56551
56552 2008-09-28  Bruno Haible  <bruno@clisp.org>
56553
56554         * modules/posix_spawnp-tests: New file.
56555         * tests/test-posix_spawn.c: New file.
56556         * tests/test-posix_spawn.in.sh: New file.
56557
56558         New module 'posix_spawnp'.
56559         * modules/posix_spawnp: New file.
56560         * lib/spawnp.c: New file, from GNU libc with modifications.
56561         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
56562
56563         New module 'posix_spawn'.
56564         * modules/posix_spawn: New file.
56565         * lib/spawn.c: New file, from GNU libc with modifications.
56566         * doc/posix-functions/posix_spawn.texi: Mention the new module.
56567
56568         New module 'posix_spawnattr_destroy'.
56569         * modules/posix_spawnattr_destroy: New file.
56570         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
56571         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
56572         module.
56573
56574         New module 'posix_spawnattr_setsigmask'.
56575         * modules/posix_spawnattr_setsigmask: New file.
56576         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
56577         modifications.
56578         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
56579         new module.
56580
56581         New module 'posix_spawnattr_getsigmask'.
56582         * modules/posix_spawnattr_getsigmask: New file.
56583         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
56584         modifications.
56585         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
56586         new module.
56587
56588         New module 'posix_spawnattr_setsigdefault'.
56589         * modules/posix_spawnattr_setsigdefault: New file.
56590         * lib/spawnattr_setdefault.c: New file, from GNU libc with
56591         modifications.
56592         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
56593         new module.
56594
56595         New module 'posix_spawnattr_getsigdefault'.
56596         * modules/posix_spawnattr_getsigdefault: New file.
56597         * lib/spawnattr_getdefault.c: New file, from GNU libc with
56598         modifications.
56599         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
56600         new module.
56601
56602         New module 'posix_spawnattr_setschedpolicy'.
56603         * modules/posix_spawnattr_setschedpolicy: New file.
56604         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
56605         modifications.
56606         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
56607         new module.
56608
56609         New module 'posix_spawnattr_getschedpolicy'.
56610         * modules/posix_spawnattr_getschedpolicy: New file.
56611         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
56612         modifications.
56613         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
56614         new module.
56615
56616         New module 'posix_spawnattr_setschedparam'.
56617         * modules/posix_spawnattr_setschedparam: New file.
56618         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
56619         modifications.
56620         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
56621         new module.
56622
56623         New module 'posix_spawnattr_getschedparam'.
56624         * modules/posix_spawnattr_getschedparam: New file.
56625         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
56626         modifications.
56627         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
56628         new module.
56629
56630         New module 'posix_spawnattr_setpgroup'.
56631         * modules/posix_spawnattr_setpgroup: New file.
56632         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
56633         modifications.
56634         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
56635         module.
56636
56637         New module 'posix_spawnattr_getpgroup'.
56638         * modules/posix_spawnattr_getpgroup: New file.
56639         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
56640         modifications.
56641         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
56642         module.
56643
56644         New module 'posix_spawnattr_setflags'.
56645         * modules/posix_spawnattr_setflags: New file.
56646         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
56647         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
56648         module.
56649
56650         New module 'posix_spawnattr_getflags'.
56651         * modules/posix_spawnattr_getflags: New file.
56652         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
56653         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
56654         module.
56655
56656         New module 'posix_spawnattr_init'.
56657         * modules/posix_spawnattr_init: New file.
56658         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
56659         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
56660         module.
56661
56662         New module 'posix_spawn_file_actions_destroy'.
56663         * modules/posix_spawn_file_actions_destroy: New file.
56664         * lib/spawn_faction_destroy.c: New file, from GNU libc with
56665         modifications.
56666         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
56667         the new module.
56668
56669         New module 'posix_spawn_file_actions_addopen'.
56670         * modules/posix_spawn_file_actions_addopen: New file.
56671         * lib/spawn_faction_addopen.c: New file, from GNU libc with
56672         modifications.
56673         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
56674         the new module.
56675
56676         New module 'posix_spawn_file_actions_adddup2'.
56677         * modules/posix_spawn_file_actions_adddup2: New file.
56678         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
56679         modifications.
56680         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
56681         the new module.
56682
56683         New module 'posix_spawn_file_actions_addclose'.
56684         * modules/posix_spawn_file_actions_addclose: New file.
56685         * lib/spawn_faction_addclose.c: New file, from GNU libc with
56686         modifications.
56687         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
56688         the new module.
56689
56690         New module 'posix_spawn_file_actions_init'.
56691         * modules/posix_spawn_file_actions_init: New file.
56692         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
56693         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
56694         new module.
56695
56696         New module 'posix_spawn-internal'.
56697         * modules/posix_spawn-internal: New file.
56698         * lib/spawn_int.h: New file, from GNU libc with modifications.
56699         * lib/spawni.c: New file, from GNU libc with modifications.
56700         * m4/posix_spawn.m4: New file.
56701
56702         New module 'spawn'.
56703         * modules/spawn: New file.
56704         * lib/spawn.in.h: New file, from GNU libc with modifications.
56705         * m4/spawn_h.m4: New file.
56706         * doc/posix-headers/spawn.texi: Mention the new module.
56707
56708 2008-09-28  Bruno Haible  <bruno@clisp.org>
56709
56710         * modules/sched-tests: New file.
56711         * tests/test-sched.c: New file.
56712
56713         New module 'sched'.
56714         * modules/sched: New file.
56715         * lib/sched.in.h: New file.
56716         * m4/sched_h.m4: New file.
56717         * doc/posix-headers/sched.texi: Mention the new module.
56718
56719 2008-09-27  Eric Blake  <ebb9@byu.net>
56720
56721         Fix previous patch, and tweak references to $0.
56722         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
56723         (func_version, func_gnulib_dir): Don't call this program
56724         gnulib-tool.
56725         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
56726         with using $0 in function.
56727         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
56728         (func_fatal_error): Reuse the name the user invoked us with.
56729
56730 2008-09-27  Bruno Haible  <bruno@clisp.org>
56731
56732         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
56733         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
56734         (gl_ICONV_H): Not here.
56735         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
56736         instead of assigning ICONV_H directly.
56737
56738         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
56739         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
56740         WCHAR_H directly.
56741
56742 2008-09-27  Bruno Haible  <bruno@clisp.org>
56743
56744         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
56745         * modules/arpa_inet (Depends-on): Add link-warning.
56746         (Makefile.am): Insert the definition of GL_LINK-WARNING.
56747         * modules/unistd (Makefile.am): Likewise.
56748
56749 2008-09-26  Bruno Haible  <bruno@clisp.org>
56750
56751         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
56752         variables.
56753         (func_version): Essentially copied from gnulib-tool.
56754         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
56755         func_readlink): Copied from gnulib-tool.
56756
56757 2008-09-26  Bruno Haible  <bruno@clisp.org>
56758
56759         * gnulib-tool (func_version): Change directory to $gnulib_dir before
56760         invoking git-version-gen.
56761
56762 2008-09-26  Bruno Haible  <bruno@clisp.org>
56763
56764         * posix-modules: Update to directory names changed on 2008-01-19.
56765         Remove commas in output before splitting into words. No more need to
56766         avoid 'ftruncate' since 2007-02-19.
56767
56768 2008-09-26  Bruno Haible  <bruno@clisp.org>
56769
56770         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
56771
56772 2008-09-26  Bruno Haible  <bruno@clisp.org>
56773
56774         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
56775         * modules/fwriteerror (Depends-on): Add errno.
56776
56777 2008-09-26  Bruno Haible  <bruno@clisp.org>
56778
56779         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
56780         * tests/test-vc-list-files-cvs.sh: Likewise.
56781
56782 2008-09-26  Bruno Haible  <bruno@clisp.org>
56783
56784         * doc/posix-headers/sys_resource.texi: Reorder items.
56785
56786 2008-09-26  Jim Meyering  <meyering@redhat.com>
56787
56788         fts: tweak inode comparison function
56789         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
56790         inode numbers, as documented.
56791
56792         fts: sort dirent entries on inode number before traversing
56793         This avoids a quadratic, seek-related performance penalty when
56794         operating on a directory containing many entries (measurable at 10k;
56795         3.5 hours at 2 million entries with a cold cache) on certain types
56796         of file systems, including ext3 and ext4, but not tmpfs.
56797         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
56798         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
56799         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
56800         (fs_handles_readdir_ordered_dirents_efficiently): New function.
56801         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
56802         (fts_build): Set the stat.st_ino member from D_INO.
56803         If it is likely to be useful, sort dirent entries on inode number.
56804
56805         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
56806         and the struct statfs.f_type member.
56807         * modules/fts (Depends-on): Add d-ino.
56808
56809 2008-09-26  Bruno Haible  <bruno@clisp.org>
56810
56811         * modules/sigpipe-die (Depends-on): Add sigpipe.
56812
56813         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
56814         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
56815         and GNULIB_STDIO_H_SIGPIPE are set.
56816         * lib/stdio-write.c: New file.
56817         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
56818         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56819         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56820         REPLACE_STDIO_WRITE_FUNCS.
56821         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
56822         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56823         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56824         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56825         * modules/stdio (Files): Add lib/stdio-write.c.
56826         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
56827         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56828         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56829         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56830         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
56831         REPLACE_FPRINTF_POSIX.
56832         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
56833         REPLACE_PRINTF_POSIX.
56834         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
56835         REPLACE_VFPRINTF_POSIX.
56836         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
56837         REPLACE_VPRINTF_POSIX.
56838         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
56839         SIGPIPE issue.
56840         * doc/posix-functions/fputc.texi: Likewise.
56841         * doc/posix-functions/fputs.texi: Likewise.
56842         * doc/posix-functions/fwrite.texi: Likewise.
56843         * doc/posix-functions/printf.texi: Likewise.
56844         * doc/posix-functions/putc.texi: Likewise.
56845         * doc/posix-functions/putchar.texi: Likewise.
56846         * doc/posix-functions/puts.texi: Likewise.
56847         * doc/posix-functions/vfprintf.texi: Likewise.
56848         * doc/posix-functions/vprintf.texi: Likewise.
56849
56850         * modules/safe-write (Depends-on): Add write.
56851
56852         * modules/sigpipe-tests: New file.
56853         * tests/test-sigpipe.c: New file.
56854         * tests/test-sigpipe.sh: New file.
56855
56856         * modules/write: New file.
56857         * lib/unistd.in.h: Include <sys/types.h>.
56858         (write): New declaration.
56859         * lib/write.c: New file.
56860         * m4/write.m4: New file.
56861         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56862         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
56863         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
56864         GNULIB_WRITE, REPLACE_WRITE.
56865         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
56866         and the SIGPIPE issue.
56867
56868         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
56869         (raise): New declaration.
56870         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
56871         (ext_signal): New function.
56872         (rpl_raise): New function.
56873         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
56874         GNULIB_SIGNAL_H_SIGPIPE.
56875         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
56876         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
56877
56878         * modules/sigpipe: New file.
56879         * m4/sigpipe.m4: New file.
56880
56881 2008-09-25  Derek Price  <derek@ximbiot.com>
56882             Bruno Haible  <bruno@clisp.org>
56883
56884         * gnulib-tool (func_import): Report all license incompatibilities, not
56885         just the first one.
56886
56887 2008-09-25  Bruno Haible  <bruno@clisp.org>
56888
56889         * gnulib-tool (func_import): When computing the edits, consider not
56890         only the Makefile.ams that exist but also those that will be generated.
56891
56892 2008-09-25  Simon Josefsson  <simon@josefsson.org>
56893
56894         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
56895         fixes gnulib-tool --test warning about duplicate dependency.
56896
56897 2008-09-25  Bruno Haible  <bruno@clisp.org>
56898
56899         * gnulib-tool: Don't ask the user to perform edits in the generated
56900         Makefile.ams.
56901         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
56902         apply to the Makefile.am being generated.
56903         (func_emit_tests_Makefile_am): Execute edits that apply to the
56904         Makefile.am being generated.
56905         (func_import): Setup list of Makefile.am edits before emitting the
56906         Makefile.ams, not at the end.
56907         (func_create_testdir): Update.
56908         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56909
56910 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56911
56912         * gnulib-tool (func_import): Store the --tests-base option in the
56913         comment in gnulib-cache.m4.
56914
56915 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
56916
56917         * NEWS: Document increased portability that sys_select now provides.
56918
56919         * lib/sys_select.in.h: Install select wrapper.
56920         * lib/sys_socket.in.h: Use more descriptive name when there is no
56921         select wrapper.
56922         * lib/winsock-select.c: New.
56923         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
56924         Require gl_HEADER_SYS_SOCKET.
56925         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
56926         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
56927         * tests/test-sys_select.c: Add functional tests.
56928
56929 2008-09-24  Eric Blake  <ebb9@byu.net>
56930
56931         open, fopen: close fd leak in last patch
56932         * lib/open.c (rpl_open): Close fd before returning error.
56933         * lib/fopen.c (rpl_fopen): Close fd before returning error.
56934         * doc/posix-functions/open.texi (open): Document that Irix also
56935         has the bug.
56936         * doc/posix-functions/fopen.texi (fopen): Likewise.
56937         Reported by Paolo Bonzini.
56938
56939 2008-09-24  Bruno Haible  <bruno@clisp.org>
56940
56941         Ensure that a filename ending in a slash cannot be used to access a
56942         non-directory.
56943         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
56944         to check whether it's really a directory.
56945         * lib/fopen.c: Include fcntl.h, unistd.h.
56946         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
56947         and fdopen().
56948         * modules/fopen (Depends-on): Add unistd.
56949         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
56950         * tests/test-fopen.c (main): Likewise.
56951         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
56952         * doc/posix-functions/fopen.texi: Likewise.
56953         Reported by Eric Blake.
56954
56955 2008-09-23  Eric Blake  <ebb9@byu.net>
56956
56957         c-stack: avoid compiler optimizations when provoking overflow
56958         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
56959         recursion harder to optimize, to ensure a stack overflow occurs.
56960         * tests/test-c-stack.c (recurse): Likewise.
56961         Borrowed from libsigsegv.
56962
56963         c-stack: work around Irix sigaltstack bug
56964         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
56965         whether sigaltstack uses wrong end of stack_t (copied in part from
56966         libsigsegv).
56967         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
56968         Irix bug, without requiring an over-allocation.
56969         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
56970         bug.
56971
56972         fopen: document mingw bug on directories
56973         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
56974         not allowing a stream visiting a directory, even though reading
56975         from such a stream is not portable.
56976
56977 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56978
56979         * lib/poll.c: Rewrite.
56980         * modules/poll: Depend on alloca.
56981
56982 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56983
56984         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
56985         instead define prototypes for a full set of wrappers.  Ensure
56986         that Cygwin does not use the compatibility code, which is only
56987         for MinGW.
56988         * lib/winsock.c: New.
56989         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
56990         * modules/sys_socket: Add lib/winsock.c.
56991
56992         * modules/poll-tests: Add errno and perror.
56993         * tests/test-poll.c: Use ioctl, not ioctlsocket.
56994
56995 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56996
56997         * tests/test-poll.c: Downgrade minimum needed Winsock version.
56998
56999 2008-09-23  Bruno Haible  <bruno@clisp.org>
57000
57001         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
57002         * doc/glibc-functions/*: Likewise.
57003
57004 2008-09-23  Simon Josefsson  <simon@josefsson.org>
57005
57006         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
57007         success.
57008
57009 2008-09-22  Eric Blake  <ebb9@byu.net>
57010             Bruno Haible  <bruno@clisp.org>
57011
57012         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
57013         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
57014         supply %A but mishandle pseudo-NaN.
57015         Reported by Simon Josefsson.
57016
57017 2008-09-21  Bruno Haible  <bruno@clisp.org>
57018
57019         * tests/test-lock.c (main): Tweak skip message.
57020         * tests/test-tls.c (main): Likewise.
57021
57022 2008-09-21  Bruno Haible  <bruno@clisp.org>
57023
57024         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
57025         whether 'struct sigaction' has sa_sigaction here...
57026         (gl_PREREQ_SIG_HANDLER_H): ... not here.
57027         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
57028
57029 2008-09-21  Bruno Haible  <bruno@clisp.org>
57030
57031         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
57032         section.
57033         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
57034         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
57035         the new section.
57036         (Support for obsolete systems lacking POSIX:2001): New section.
57037         (String handling <string.h>): Move strdup to the new section.
57038         Suggested by Simon Josefsson and Paolo Bonzini.
57039
57040 2008-09-21  Bruno Haible  <bruno@clisp.org>
57041
57042         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
57043         exponents in %e and %g results on 'long double'. Needed for mingw's
57044         improved *printf functions.
57045         * tests/test-vasprintf-posix.c (test_function): Likewise.
57046         * tests/test-snprintf-posix.h (test_function): Likewise.
57047         * tests/test-sprintf-posix.h (test_function): Likewise.
57048         Reported by Eric Blake.
57049
57050 2008-09-21  Bruno Haible  <bruno@clisp.org>
57051
57052         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
57053         * tests/test-sprintf-posix.h (test_function): Likewise.
57054
57055 2008-09-21  Bruno Haible  <bruno@clisp.org>
57056
57057         * modules/getpass (Depends-on): Add strdup-posix.
57058
57059         New module 'strdup-posix'.
57060         * modules/strdup-posix: New file.
57061         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
57062         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
57063         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
57064         REPLACE_STRDUP.
57065         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
57066         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
57067         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57068         strdup-posix.
57069
57070         * modules/strdup (Depends-on): Remove malloc-posix.
57071
57072 2008-09-20  Bruno Haible  <bruno@clisp.org>
57073
57074         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
57075         Wildenhues.
57076
57077 2008-09-20  Bruno Haible  <bruno@clisp.org>
57078
57079         Ensure that wint_t gets defined on IRIX 5.3.
57080         * lib/wchar.in.h (wint_t): Define if not defined by the system.
57081         * lib/wctype.in.h (wint_t): Likewise.
57082         (__wctype_wint_t): Remove type.
57083         (isw*): Use wint_t instead of __wctype_wint_t.
57084         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
57085         * modules/wchar (Files): Add m4/wint_t.m4.
57086         (Makefile.am): Substitute HAVE_WINT_T.
57087         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
57088         * tests/test-wctype.c: Check that wint_t is defined.
57089         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
57090         * doc/posix-headers/wctype.texi: Likewise.
57091         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
57092
57093 2008-09-18  Bruno Haible  <bruno@clisp.org>
57094
57095         * gnulib-tool (func_exit): Update comment.
57096
57097 2008-09-18  Simon Josefsson  <simon@josefsson.org>
57098
57099         * modules/getaddrinfo (Depends-on): Remove strdup, this module
57100         assumes strdup exists and does not depend on strdup to return
57101         ENOMEM on out of memory conditions.
57102
57103 2008-09-18  Bruno Haible  <bruno@clisp.org>
57104
57105         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
57106         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
57107         digits for the exponent.
57108
57109 2008-09-18  Jim Meyering  <meyering@redhat.com>
57110             Bruno Haible  <bruno@clisp.org>
57111
57112         * lib/vasnprintf.c (decimal_point_char): Define also if
57113         NEED_PRINTF_INFINITE_LONG_DOUBLE.
57114
57115 2008-09-16  Bruno Haible  <bruno@clisp.org>
57116         and Eric Blake  <ebb9@byu.net>
57117
57118         vasnprintf: support Irix 5.3
57119         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
57120         that mishandle long double infinity.
57121         Reported by Tom G. Christensen.
57122
57123 2008-09-16  Bruno Haible  <bruno@clisp.org>
57124
57125         * doc/glibc-functions/scandir.texi: Mention the function is missing on
57126         Solaris 9.
57127         * doc/glibc-functions/alphasort.texi: Likewise.
57128         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
57129
57130 2008-09-16  Jim Meyering  <meyering@redhat.com>
57131
57132         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
57133         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
57134         a umask modification leak out of a subshell.  Otherwise, the
57135         opensolaris /bin/sh would be accepted and thus cause unwarranted
57136         failures in the coreutils test suite.
57137
57138 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
57139
57140         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
57141         to succeed.
57142
57143 2008-09-16  Jim Meyering  <meyering@redhat.com>
57144
57145         avoid spurious test failure when library is built without ACL support
57146         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
57147         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
57148         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
57149         * tests/test-copy-acl.sh: Likewise.
57150
57151 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57152
57153         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
57154         based on character occurrence counts.
57155
57156 2008-09-15  Eric Blake  <ebb9@byu.net>
57157
57158         tests: avoid some compiler warnings
57159         * tests/test-memchr.c (main): Pass NULL indirectly.
57160         * tests/test-closein.c (main): Avoid unused variable.
57161
57162 2008-09-15  Bruno Haible  <bruno@clisp.org>
57163
57164         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
57165         are missing on OpenBSD 4.0 individually.
57166         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57167
57168 2008-09-15  Bruno Haible  <bruno@clisp.org>
57169
57170         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
57171         * doc/posix-functions/strerror.texi: Mention also Cygwin.
57172         * doc/posix-functions/perror.texi: Likewise.
57173         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
57174         is missing.
57175         Reported by Eric Blake.
57176
57177         * lib/errno.in.h: Use replacement values >= 2000.
57178         Reported by Eric Blake.
57179
57180 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57181
57182         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
57183         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
57184         limit.
57185         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
57186         compareseq was aborted.
57187
57188 2008-09-14  Bruno Haible  <bruno@clisp.org>
57189
57190         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
57191         yvec_edit_count.
57192         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
57193         (fstrcmp_bounded): Simplify result computation accordingly.
57194
57195 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57196
57197         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
57198         (fstrcmp): Define in terms of fstrcmp_bounded.
57199         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
57200         lower_bound argument.
57201         Return quickly if the result is certainly < lower_bound.
57202         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
57203
57204 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57205
57206         * lib/diffseq.h (EARLY_ABORT): New macro.
57207         (compareseq): Change return type to bool. Return true when EARLY_ABORT
57208         evaluates to true.
57209
57210 2008-09-14  Bruno Haible  <bruno@clisp.org>
57211
57212         * modules/perror-tests: New file.
57213         * tests/test-perror.sh: New file.
57214         * tests/test-perror.c: New file.
57215
57216         New module 'perror'.
57217         * lib/stdio.in.h (perror): New declaration.
57218         * lib/perror.c: New file.
57219         * m4/perror.m4: New file.
57220         * modules/perror: New file.
57221         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
57222         * doc/posix-functions/perror.texi: Mention the perror module.
57223         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
57224         REPLACE_PERROR.
57225         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
57226         REPLACE_PERROR.
57227
57228 2008-09-14  Bruno Haible  <bruno@clisp.org>
57229
57230         * modules/stdio (Makefile.am): Reorder to match the order in
57231         lib/stdio.in.h.
57232         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
57233
57234 2008-09-13  Bruno Haible  <bruno@clisp.org>
57235
57236         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
57237
57238 2008-09-13  Bruno Haible  <bruno@clisp.org>
57239
57240         Extend strerror to cover the added errno values.
57241         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
57242         (rpl_strerror): Provide error messages for the added errno values and
57243         for the WSA* values.
57244         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
57245         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
57246         strerror.
57247         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
57248         * modules/strerror (Depends-on): Add errno.
57249         * doc/posix-functions/strerror.texi: Document the change.
57250         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
57251         and EOVERFLOW.
57252
57253 2008-09-13  Bruno Haible  <bruno@clisp.org>
57254
57255         * modules/EOVERFLOW: Remove file.
57256         * m4/eoverflow.m4: Remove file.
57257         * modules/EOVERFLOW-tests: Remove file.
57258         * tests/test-EOVERFLOW.c: Remove file.
57259         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
57260         * modules/ftell (Depends-on): Likewise.
57261         * modules/getdelim (Depends-on): Likewise.
57262         * modules/getugroups (Depends-on): Likewise.
57263         * modules/poll (Depends-on): Likewise.
57264         * modules/snprintf (Depends-on): Likewise.
57265         * modules/sprintf-posix (Depends-on): Likewise.
57266         * modules/vasnprintf (Depends-on): Likewise.
57267         * modules/vasprintf (Depends-on): Likewise.
57268         * modules/vfprintf-posix (Depends-on): Likewise.
57269         * modules/vsnprintf (Depends-on): Likewise.
57270         * modules/vsprintf-posix (Depends-on): Likewise.
57271         * modules/xvasprintf (Depends-on): Likewise.
57272         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57273         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
57274         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
57275         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
57276         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57277         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
57278         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
57279         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
57280         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57281         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
57282         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
57283         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
57284         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57285         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
57286         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
57287         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
57288         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57289         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
57290         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
57291         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
57292         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57293         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
57294         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
57295         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
57296         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
57297         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57298         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
57299         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
57300         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
57301         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
57302         * MODULES.html.sh: Remove EOVERFLOW.
57303         * NEWS: Mention the change.
57304
57305 2008-09-13  Bruno Haible  <bruno@clisp.org>
57306
57307         * modules/errno-tests: New file.
57308         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
57309
57310         * lib/errno.in.h: New file.
57311         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
57312         * modules/errno: New file.
57313         * doc/posix-headers/errno.texi: Update documentation.
57314         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
57315
57316 2008-09-13  Bruno Haible  <bruno@clisp.org>
57317
57318         * tests/test-poll.c: Use #if for native Windows, rather than testing
57319         __MSVCRT__.
57320
57321 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57322             Bruno Haible  <bruno@clisp.org>
57323
57324         * lib/glob.c: Don't include <pwd.h> on native Windows.
57325         (WINDOWS32): New macro.
57326         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
57327
57328 2008-09-13  Bruno Haible  <bruno@clisp.org>
57329
57330         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
57331         (ETIMEDOUT): Remove macro.
57332         (glthread_cond_timedwait_multithreaded): New declaration.
57333         (glthread_cond_timedwait): Use it.
57334         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
57335         (glthread_cond_timedwait_multithreaded): New function.
57336
57337 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57338
57339         * modules/poll-tests: Do not check for io.h.
57340         * tests/test-poll.c: Check for __MSVCRT__ instead.
57341
57342 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57343
57344         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
57345         * modules/poll-tests: Add inet_pton, stdbool, sockets.
57346         * tests/test-poll.c: Use them.  Use _pipe on Windows.
57347
57348 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57349
57350         * modules/poll-tests: New.
57351         * tests/test-poll.c: New.
57352
57353 2008-09-12  Eric Blake  <ebb9@byu.net>
57354
57355         frexp: test for NetBSD failure on -0.0
57356         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
57357         not all, bugs from NetBSD 3.0 have been fixed.
57358         * doc/posix-functions/frexp.texi (frexp): Document bug.
57359         Reported by Thomas Klausner.
57360
57361         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
57362         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
57363         literal -0.0.
57364         Reported by Jonathan C. Patschke <jp@centtech.com>.
57365
57366 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57367
57368         * lib/glthread/cond.h: Use dummy implementation also if
57369         USE_WIN32_THREADS.
57370
57371 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57372
57373         * modules/fnmatch-posix (License): Change to LGPLv2+.
57374         * modules/fnmatch-gnu (License): Likewise.
57375
57376 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57377
57378         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
57379
57380 2008-09-11  Jim Meyering  <meyering@redhat.com>
57381
57382         * users.txt: Add gtk-vnc.
57383
57384 2008-09-08  Simon Josefsson  <simon@josefsson.org>
57385
57386         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
57387         rotate amounts.
57388
57389         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
57390         required for 16-bit and 8-bit rotates.
57391         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
57392         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
57393         UINT8_MAX instead of hard-coded constants.
57394         Suggested by Paul Eggert.
57395
57396 2008-09-07  Bruno Haible  <bruno@clisp.org>
57397
57398         * tests/test-striconveh.c (main): Check behaviour when converting from
57399         UTF-7.
57400
57401         Make striconveh work better with stateful encodings.
57402         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
57403         that iconv does not increment the inptr when returning -1/EINVAL.
57404
57405 2008-09-07  Bruno Haible  <bruno@clisp.org>
57406
57407         * build-aux/config.rpath: Update according to libtool-2.2.6.
57408         * build-aux/config.libpath: Likewise.
57409
57410 2008-09-06  Bruno Haible  <bruno@clisp.org>
57411
57412         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
57413         * lib/freadptr.c (freadptr): Likewise.
57414         * lib/freadseek.c (freadptrinc): Likewise.
57415         Reported by Simon Josefsson.
57416
57417 2008-09-06  Bruno Haible  <bruno@clisp.org>
57418
57419         * modules/freadptr (License): Change to LGPLv2+.
57420         * modules/freadseek (License): Likewise.
57421         Suggested by Eric Blake.
57422
57423         * modules/memchr2 (License): Change to LGPLv2+.
57424         Approved by Eric Blake.
57425
57426 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57427             Bruno Haible  <bruno@clisp.org>
57428
57429         Make gnulib-tool work with native 'sed' on AIX.
57430         * gnulib-tool (sed_noop): New variable.
57431         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
57432         func_add_or_update, func_create_testdir): Use it to initialize sed
57433         script variables.
57434         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57435
57436 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
57437             Bruno Haible  <bruno@clisp.org>
57438
57439         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
57440         also works after #include directives.
57441
57442 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
57443
57444         getdate.y: reject an out-of-range timezone value
57445         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
57446         the range [-24...+24].  When specified with only one or two digits,
57447         * tests/test-getdate.c: Tests for the fix.
57448         * doc/getdate.texi: Document this change.
57449
57450 2008-09-03  Bruno Haible  <bruno@clisp.org>
57451
57452         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
57453
57454 2008-09-02  Simon Josefsson  <simon@josefsson.org>
57455
57456         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
57457         <bruce.korb@gmail.com> with ideas from Ben Pfaff
57458         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
57459         Blake <ebb9@byu.net>.
57460
57461         * tests/test-bitrotate.c: Add more test vectors.
57462
57463 2008-09-02  Eric Blake  <ebb9@byu.net>
57464
57465         vasnprintf-posix: handle large precision via %.*d
57466         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
57467         when handling it ourselves.
57468         * tests/test-vasnprintf-posix.c (test_function): Add test.
57469         * tests/test-snprintf-posix.h (test_function): Likewise.
57470         * tests/test-sprintf-posix.h (test_function): Likewise.
57471         * tests/test-vasprintf-posix.c (test_function): Likewise.
57472         Reported by Alain Guibert.
57473
57474 2008-09-01  Eric Blake  <ebb9@byu.net>
57475
57476         c-stack: make configure-time check more robust
57477         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
57478         successful sigaction call.
57479         Reported by Tom G. Christensen.
57480
57481 2008-09-01  Bruno Haible  <bruno@clisp.org>
57482
57483         New module 'findprog-lgpl'.
57484         * modules/findprog-lgpl: New file.
57485         * lib/findprog-lgpl.c: New file.
57486         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
57487         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
57488         to decide whether to use strdup or xstrdup, concatenated_filename or
57489         xconcatenated_filename.
57490
57491 2008-09-01  Bruno Haible  <bruno@clisp.org>
57492
57493         Split module 'concat-filename' into 'concat-filename' (LGPL) and
57494         'xconcat-filename' (GPL).
57495         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
57496         (License): Change to LGPLv2+.
57497         * modules/xconcat-filename: New file.
57498         * lib/concat-filename.h (concatenated_filename): Change specification.
57499         (xconcatenated_filename): New declaration.
57500         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
57501         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
57502         memory situations.
57503         * lib/xconcat-filename.c: New file.
57504         * NEWS: Mention the change.
57505         * lib/findprog.c: Include concat-filename.h, not filename.h.
57506         (find_in_path): Use xconcatenated_filename instead of
57507         concatenated_filename.
57508         * lib/javacomp.c: Include concat-filename.h, not filename.h.
57509         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
57510         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
57511         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
57512         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
57513         instead of concatenated_filename.
57514         * lib/javaexec.c: Include concat-filename.h, not filename.h.
57515         (execute_java_class): Use xconcatenated_filename instead of
57516         concatenated_filename.
57517         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
57518         * modules/javacomp (Depends-on): Likewise.
57519         * modules/javaexec (Depends-on): Likewise.
57520
57521 2008-09-01  Bruno Haible  <bruno@clisp.org>
57522
57523         Split module 'filename' into 'filename' and 'concat-filename'.
57524         * modules/filename: Keep only lib/filename.h.
57525         (License): Change to LGPLv2+.
57526         * modules/concat-filename: New file, extracted from modules/filename.
57527         * lib/filename.h (concatenated_filename): Remove declaration.
57528         * lib/concat-filename.h: New file, extracted from lib/filename.h.
57529         * lib/concat-filename.c: Include concat-filename.h.
57530         * NEWS: Mention the change.
57531
57532 2008-09-01  Simon Josefsson  <simon@josefsson.org>
57533
57534         * lib/bitrotate.h (rotl8, rotr8): Add.
57535
57536         * modules/bitrotate (configure.ac): Need
57537         AC_REQUIRE([AC_C_INLINE]).
57538         (Description): Mention stdint.h.  Reported by Bruno Haible
57539         <bruno@clisp.org>.
57540
57541         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
57542         Paolo Bonzini <bonzini@gnu.org>.
57543
57544 2008-08-31  Bruno Haible  <bruno@clisp.org>
57545
57546         Assume Solaris specific bi-arch conventions on Solaris systems.
57547         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
57548         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
57549         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
57550         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
57551         like acl_libdirstem.
57552         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
57553         acl_libdirstem.
57554         * NEWS: Mention the change.
57555         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
57556
57557 2008-08-31  Jim Meyering  <meyering@redhat.com>
57558
57559         * lib/strftime.h: Add comments describing the two added arguments.
57560
57561         remove duplicate #include directives
57562         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
57563         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
57564
57565 2008-08-31  Bruno Haible  <bruno@clisp.org>
57566
57567         New module 'sigpipe-die'.
57568         * modules/sigpipe-die: New file.
57569         * lib/sigpipe-die.h: New file.
57570         * lib/sigpipe-die.c: New file.
57571         * MODULES.html.sh (Signal handling): Add sigpipe-die.
57572
57573 2008-08-31  Bruno Haible  <bruno@clisp.org>
57574
57575         Don't override previously installed signal handlers.
57576         * lib/fatal-signal.c (saved_sigactions): New variable.
57577         (uninstall_handlers): Reset the signal to the saved handler, not
57578         to SIG_DFL (except when ignored).
57579         (install_handlers): Save the previous handlers.
57580
57581 2008-08-30  Bruno Haible  <bruno@clisp.org>
57582
57583         * gnulib-tool (func_reset_sigpipe): New function.
57584         (func_get_automake_snippet, func_modules_transitive_closure,
57585         func_import): Invoke it before a join command that reads from stdin,
57586         to avoid "echo: write error: Broken pipe" error messages on stderr.
57587         Reported by Sam Steingold <sds@gnu.org>.
57588
57589 2008-08-30  Bruno Haible  <bruno@clisp.org>
57590
57591         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
57592         Code copied from m4/open.m4.
57593         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
57594         access and the filename ends in a slash. Code copied from lib/open.c.
57595         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
57596         * tests/test-fopen.c (main): Check against bug with trailing slash.
57597
57598 2008-08-29  Bruno Haible  <bruno@clisp.org>
57599
57600         Avoid some "gcc -pedantic" warnings.
57601         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
57602         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
57603         * lib/dirent.in.h: Likewise.
57604         * lib/fcntl.in.h: Likewise.
57605         * lib/float.in.h: Likewise.
57606         * lib/iconv.in.h: Likewise.
57607         * lib/inttypes.in.h: Likewise.
57608         * lib/locale.in.h: Likewise.
57609         * lib/math.in.h: Likewise.
57610         * lib/netinet_in.in.h: Likewise.
57611         * lib/search.in.h: Likewise.
57612         * lib/signal.in.h: Likewise.
57613         * lib/stdarg.in.h: Likewise.
57614         * lib/stdint.in.h: Likewise.
57615         * lib/stdio.in.h: Likewise.
57616         * lib/stdlib.in.h: Likewise.
57617         * lib/string.in.h: Likewise.
57618         * lib/strings.in.h: Likewise.
57619         * lib/sys_select.in.h: Likewise.
57620         * lib/sys_socket.in.h: Likewise.
57621         * lib/sys_stat.in.h: Likewise.
57622         * lib/sys_time.in.h: Likewise.
57623         * lib/sysexits.in.h: Likewise.
57624         * lib/time.in.h: Likewise.
57625         * lib/unistd.in.h: Likewise.
57626         * lib/wchar.in.h: Likewise.
57627         * lib/wctype.in.h: Likewise.
57628         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
57629         * modules/fchdir (Makefile.am): Likewise.
57630         * modules/fcntl (Makefile.am): Likewise.
57631         * modules/float (Makefile.am): Likewise.
57632         * modules/iconv_open (Makefile.am): Likewise.
57633         * modules/inttypes (Makefile.am): Likewise.
57634         * modules/locale (Makefile.am): Likewise.
57635         * modules/math (Makefile.am): Likewise.
57636         * modules/netinet_in (Makefile.am): Likewise.
57637         * modules/search (Makefile.am): Likewise.
57638         * modules/signal (Makefile.am): Likewise.
57639         * modules/stdarg (Makefile.am): Likewise.
57640         * modules/stdint (Makefile.am): Likewise.
57641         * modules/stdio (Makefile.am): Likewise.
57642         * modules/stdlib (Makefile.am): Likewise.
57643         * modules/string (Makefile.am): Likewise.
57644         * modules/strings (Makefile.am): Likewise.
57645         * modules/sys_select (Makefile.am): Likewise.
57646         * modules/sys_socket (Makefile.am): Likewise.
57647         * modules/sys_stat (Makefile.am): Likewise.
57648         * modules/sys_time (Makefile.am): Likewise.
57649         * modules/sysexits (Makefile.am): Likewise.
57650         * modules/time (Makefile.am): Likewise.
57651         * modules/unistd (Makefile.am): Likewise.
57652         * modules/wchar (Makefile.am): Likewise.
57653         * modules/wctype (Makefile.am): Likewise.
57654         Reported by Reuben Thomas <rrt@sc3d.org>.
57655
57656 2008-08-29  Bruno Haible  <bruno@clisp.org>
57657
57658         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
57659         any more.
57660
57661 2008-08-29  Simon Josefsson  <simon@josefsson.org>
57662
57663         * MODULES.html.sh (Misc): Add bitrotate.
57664
57665         * modules/bitrotate: New file.
57666
57667         * lib/bitrotate.h: New file.
57668
57669         * modules/bitrotate-tests: New file.
57670
57671         * tests/test-bitrotate.c: New file.
57672
57673         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
57674         on the bitrotate module.
57675
57676         * lib/arctwo.c: Use new bitrotate module.
57677
57678 2008-08-29  Jim Meyering  <meyering@redhat.com>
57679
57680         bootstrap: merge changes from coreutils
57681         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
57682         of copied files.  Remove a kludge, now that this is fixed.
57683         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
57684         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
57685         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
57686
57687 2008-08-29  Bruno Haible  <bruno@clisp.org>
57688
57689         * MODULES.html.sh: Remove --cvs-urls option.
57690
57691 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
57692
57693         maint.mk: adjust to file name change
57694         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
57695
57696 2008-08-28  Jim Meyering  <meyering@redhat.com>
57697
57698         * modules/getndelim2 (License): Relicense to LGPLv2+.
57699         Approved by Richard Stallman for the version of 1995, and by
57700         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
57701
57702 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
57703
57704         * lib/getdelim.c (flockfile, funlockfile): Make all of them
57705         dummy if one is not available.  Do not touch them if
57706         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
57707         (getc_maybe_unlocked): New.
57708         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
57709
57710 2008-08-26  Eric Blake  <ebb9@byu.net>
57711
57712         doc/INSTALL: resync from autoconf
57713         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
57714         (INSTALL_PRELUDE): Delete; this is done more efficiently by
57715         moving...
57716         * install.texi [!autoconf]: ...here.  Resync from autoconf.
57717         * INSTALL: Regenerate.
57718         * INSTALL.ISO: New file.
57719         * INSTALL.UTF-8: Likewise.
57720
57721 2008-08-26  Jim Meyering  <meyering@redhat.com>
57722
57723         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
57724         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
57725         these definitions conditional, so that they may be overridden, too.
57726
57727 2008-08-26  Bruno Haible  <bruno@clisp.org>
57728
57729         Generate INSTALL file variants with prettier quotes.
57730         * doc/Makefile (INSTALL_PRELUDE): New macro.
57731         (INSTALL): Use it.
57732         (INSTALL.ISO, INSTALL.UTF-8): New rules.
57733
57734 2008-08-26  Bruno Haible  <bruno@clisp.org>
57735
57736         Run makeinfo in an English locale.
57737         * doc/Makefile (MAKEINFO): New variable.
57738
57739 2008-08-26  Bruno Haible  <bruno@clisp.org>
57740
57741         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
57742         Suggested by Eric Blake.
57743
57744 2008-08-25  Bruno Haible  <bruno@clisp.org>
57745
57746         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
57747
57748 2008-08-25  Eric Blake  <ebb9@byu.net>
57749
57750         c-stack: test that stack overflow can be caught
57751         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
57752         that platform allows handling stack overflow; at least OS/2 EMX
57753         has sigaltstack, but crashes before transferring control to
57754         handler on stack overflow.
57755         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
57756         check for HAVE_STACK_OVERFLOW_HANDLING.
57757         Reported by Elbert Pol.
57758
57759 2008-08-25  Bruno Haible  <bruno@clisp.org>
57760
57761         * doc/posix-functions/strftime.texi: Fix description of strftime
57762         module.
57763
57764 2008-08-24  Bruno Haible  <bruno@clisp.org>
57765
57766         * tests/uniwidth/test-uc_width2.c: New file.
57767         * tests/uniwidth/test-uc_width2.sh: New file.
57768         * modules/uniwidth/width-tests (Files): Add the new files.
57769         (TESTS): Add uniwidth/test-uc_width2.sh.
57770         (TESTS_ENVIRONMENT): New variable.
57771         (check_PROGRAMS): Add test-uc_width2.
57772         (test_uc_width2_SOURCES): New variable.
57773
57774         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
57775         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
57776         not 0x00AB.
57777         Reported by Alexander V. Lukyanov <lav@netis.ru>.
57778
57779 2008-08-22  Eric Blake  <ebb9@byu.net>
57780
57781         test-lock, test-tls: mention why a test is skipped
57782         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
57783         skipped.
57784         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
57785
57786         count-one-bits: relax license
57787         * modules/count-one-bits (License): Relicense to LGPLv2+.
57788         Suggested by Ludovic Courtès, approved by Ben Pfaff.
57789
57790 2008-08-22  Andreas Schwab  <schwab@suse.de>
57791
57792         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
57793         Remove spurious space in assignment.
57794
57795 2008-08-21  Simon Josefsson  <simon@josefsson.org>
57796
57797         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
57798         Paul Eggert <eggert@CS.UCLA.EDU>.
57799
57800 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
57801
57802         * modules/gettext: Add m4/threadlib.m4.
57803
57804 2008-08-19  Eric Blake  <ebb9@byu.net>
57805
57806         test-c-stack: fix compilation failure on FreeBSD 5.0
57807         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
57808         headers before <sys/resource.h>.
57809         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
57810         the bug.
57811         Reported by Nelson H. F. Beebe.
57812
57813         strverscmp: migrate from "strverscmp.h" to <string.h>
57814         * modules/string (Makefile.am): Add new hooks.
57815         * modules/strverscmp (Files): Remove strverscmp.h.
57816         (Depends-on): Add string.
57817         (configure.ac): Add indicator.
57818         (Include): Mention new header.
57819         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
57820         defaults.
57821         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
57822         results.
57823         * lib/strverscmp.h: Delete.
57824         * lib/string.in.h (strverscmp): Provide declaration, when needed.
57825         * tests/test-strverscmp.c (includes): Adjust client.
57826         * lib/check-version.c (includes): Likewise.
57827         * NEWS: Document the change.
57828
57829         strverscmp: add unit test
57830         * modules/strverscmp-tests: New file.
57831         * tests/test-strverscmp.c: Likewise.
57832
57833 2008-08-19  Simon Josefsson  <simon@josefsson.org>
57834
57835         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
57836         regarding Windows crypto stuff, from Mono.
57837
57838 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
57839
57840         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
57841         if present, for intel RND.  Return error on failures.
57842
57843 2008-08-18  Ben Pfaff  <blp@gnu.org>
57844
57845         gitlog-to-changelog: give better diagnostic for failed pipe-open
57846         * build-aux/gitlog-to-changelog: Improve error message: suggest
57847         that the version of Git may be too old.
57848
57849 2008-08-18  Simon Josefsson  <simon@josefsson.org>
57850
57851         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
57852         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
57853
57854 2008-08-18  Bruno Haible  <bruno@clisp.org>
57855
57856         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
57857         pthread_in_use().
57858
57859 2008-08-18  Bruno Haible  <bruno@clisp.org>
57860
57861         * lib/glthread/threadlib.c: Include <pthread.h>.
57862
57863 2008-08-18  Bruno Haible  <bruno@clisp.org>
57864
57865         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
57866         glthread_recursive_lock_* macros.
57867         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
57868         Fix syntax error.
57869
57870 2008-08-18  Bruno Haible  <bruno@clisp.org>
57871
57872         * lib/glthread/thread.c: Avoid forcing a context switch right after
57873         thread creation.
57874
57875 2008-08-17  Bruno Haible  <bruno@clisp.org>
57876
57877         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
57878         * lib/glthread/thread.h: Provide Win32 specific implementation.
57879         * modules/thread (Files): Add lib/glthread/thread.c.
57880         (Depends-on): Add lock.
57881         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
57882
57883 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57884
57885         New module 'yield'.
57886         * modules/yield: New file.
57887         * lib/glthread/yield.h: New file.
57888         * m4/yield.m4: New file.
57889         * MODULES.html.sh (Multithreading): Add yield.
57890
57891 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57892
57893         New module 'thread'.
57894         * modules/thread: New file.
57895         * lib/glthread/thread.h: New file.
57896         * m4/thread.m4: New file.
57897         * MODULES.html.sh (Multithreading): Add thread.
57898
57899 2008-08-17  Bruno Haible  <bruno@clisp.org>
57900
57901         * lib/glthread/lock.h: Include <stdlib.h> always.
57902         * lib/glthread/tls.h: Likewise.
57903         * lib/glthread/cond.h: Likewise.
57904
57905 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57906
57907         New module 'cond'.
57908         * modules/cond: New file.
57909         * lib/glthread/cond.h: New file.
57910         * lib/glthread/cond.c: New file.
57911         * m4/cond.m4: New file.
57912         * MODULES.html.sh (Multithreading): Add cond.
57913
57914 2008-08-16  Eric Blake  <ebb9@byu.net>
57915
57916         c-stack: fix regression on Irix 5.3 from 2008-06-21
57917         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
57918         sa_sigaction...
57919         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
57920         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
57921         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
57922         * modules/signal (Makefile.am): Use the value.
57923         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
57924         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
57925         * doc/posix-headers/signal.texi (signal.h): Document this
57926         portability issue.
57927         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
57928         Reported by Tom G. Christensen.
57929
57930 2008-08-17  Bruno Haible  <bruno@clisp.org>
57931
57932         New module 'threadlib'.
57933         * modules/threadlib: New file.
57934         * lib/glthread/threadlib.c: New file, extracted from
57935         lib/glthread/lock.c.
57936         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
57937         functions.
57938         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
57939         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
57940         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
57941         macros.
57942         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
57943         (gl_DISABLE_THREADS): Remove macro.
57944         * modules/lock (Files): Remove build-aux/config.rpath.
57945         (Depends-on): Remove havelib. Add threadlib.
57946         (configure.ac-early): Remove section.
57947         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
57948         * modules/tls (Depends-on): Remove lock. Add threadlib.
57949         (Link): New section, copied from threadlib.
57950         * MODULES.html.sh (Multithreading): Add threadlib.
57951
57952 2008-08-14  Bruno Haible  <bruno@clisp.org>
57953
57954         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
57955         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
57956         glthread_rwlock_unlock, glthread_rwlock_destroy,
57957         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
57958         glthread_recursive_lock_destroy): Define as macros always.
57959         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
57960         glthread_lock_lock.
57961         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
57962         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
57963         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
57964         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
57965         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
57966         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
57967         (glthread_recursive_lock_lock_func): Renamed from
57968         glthread_recursive_lock_lock.
57969         (glthread_recursive_lock_unlock_func): Renamed from
57970         glthread_recursive_lock_unlock.
57971         (glthread_recursive_lock_destroy_func): Renamed from
57972         glthread_recursive_lock_destroy.
57973
57974 2008-08-14  Bruno Haible  <bruno@clisp.org>
57975
57976         * lib/glthread/lock.h: Renamed from lib/lock.h.
57977         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
57978         * lib/glthread/tls.h: Renamed from lib/tls.h.
57979         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
57980         * lib/fstrcmp.c: Update includes.
57981         * lib/strsignal.c: Update includes.
57982         * modules/lock (Files, Makefile.am): Update.
57983         (Include): Change to "glthread/lock.h".
57984         * modules/tls (Files, Makefile.am): Update.
57985         (Include): Change to "glthread/tls.h".
57986         * tests/test-lock.c: Update includes.
57987         * tests/test-tls.c: Update includes.
57988         * NEWS: Mention the renamed header files.
57989
57990 2008-08-11  Jim Meyering  <meyering@redhat.com>
57991
57992         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
57993
57994 2008-08-11  Eric Blake  <ebb9@byu.net>
57995
57996         test-c-stack: avoid C99-ism
57997         * tests/test-c-stack.c (main): Fix whitespace, move declaration
57998         before statement.
57999         Reported by Alain Guibert.
58000
58001 2008-08-10  Jim Meyering  <meyering@redhat.com>
58002
58003         ensure that return value of uinttostr et al are not ignored
58004         * lib/inttostr.h (__GNUC_PREREQ): Define.
58005         (__attribute_warn_unused_result__): Define.
58006         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
58007
58008 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
58009
58010         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
58011         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
58012
58013 2008-08-07  Jim Meyering  <meyering@redhat.com>
58014
58015         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
58016
58017         * modules/mkstemp (License): Relicense under LGPLv2+.
58018         * modules/tempname (License): Likewise.
58019
58020 2008-08-06  Bruno Haible  <bruno@clisp.org>
58021
58022         * lib/poll.c (poll): Further micro-optimization.
58023
58024 2008-08-06  Jim Meyering  <meyering@redhat.com>
58025
58026         inet_pton.c: use locale-independent tolower
58027         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
58028         (inet_pton6): Use c_tolower rather than tolower.
58029         * modules/inet_pton (Depends-on): Add c-ctype.
58030
58031 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
58032
58033         * lib/poll.c (poll): Avoid division when timeout is 0, cache
58034         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
58035
58036 2008-08-06  Jim Meyering  <meyering@redhat.com>
58037
58038         * modules/inet_pton (License): Relicense under LGPLv2+.
58039
58040 2008-08-03  Bruno Haible  <bruno@clisp.org>
58041
58042         Additional non-aborting API for lock and tls.
58043         * lib/lock.h: Include <errno.h>.
58044         (glthread_lock_init): New macro/function.
58045         (gl_lock_init): Define as wrapper around glthread_lock_init.
58046         (glthread_lock_lock): New macro/function.
58047         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
58048         (glthread_lock_unlock): New macro/function.
58049         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
58050         (glthread_lock_destroy): New macro/function.
58051         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
58052         (glthread_rwlock_init): New macro/function.
58053         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
58054         (glthread_rwlock_rdlock): New macro/function.
58055         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
58056         (glthread_rwlock_wrlock): New macro/function.
58057         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
58058         (glthread_rwlock_unlock): New macro/function.
58059         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
58060         (glthread_rwlock_destroy): New macro/function.
58061         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
58062         (glthread_recursive_lock_init): New macro/function.
58063         (gl_recursive_lock_init): Define as wrapper around
58064         glthread_recursive_lock_init.
58065         (glthread_recursive_lock_lock): New macro/function.
58066         (gl_recursive_lock_lock): Define as wrapper around
58067         glthread_recursive_lock_lock.
58068         (glthread_recursive_lock_unlock): New macro/function.
58069         (gl_recursive_lock_unlock): Define as wrapper around
58070         glthread_recursive_lock_unlock.
58071         (glthread_recursive_lock_destroy): New macro/function.
58072         (gl_recursive_lock_destroy): Define as wrapper around
58073         glthread_recursive_lock_destroy.
58074         (glthread_once): New macro/function.
58075         (gl_once): Define as wrapper around glthread_once.
58076         Update function declarations.
58077         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
58078         glthread_rwlock_init. Return error code.
58079         (glthread_rwlock_rdlock_multithreaded): Renamed from
58080         glthread_rwlock_rdlock. Return error code.
58081         (glthread_rwlock_wrlock_multithreaded): Renamed from
58082         glthread_rwlock_wrlock. Return error code.
58083         (glthread_rwlock_unlock_multithreaded): Renamed from
58084         glthread_rwlock_unlock. Return error code.
58085         (glthread_rwlock_destroy_multithreaded): Renamed from
58086         glthread_rwlock_destroy. Return error code.
58087         (glthread_recursive_lock_init_multithreaded): Renamed from
58088         glthread_recursive_lock_init. Return error code.
58089         (glthread_recursive_lock_lock_multithreaded): Renamed from
58090         glthread_recursive_lock_lock. Return error code.
58091         (glthread_recursive_lock_unlock_multithreaded): Renamed from
58092         glthread_recursive_lock_unlock. Return error code.
58093         (glthread_recursive_lock_destroy_multithreaded): Renamed from
58094         glthread_recursive_lock_destroy. Return error code.
58095         (glthread_once_call): Make static.
58096         (glthread_once_multithreaded): Renamed from glthread_once.
58097         * lib/tls.h: Include <errno.h>.
58098         (glthread_tls_key_init): New macro/function.
58099         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
58100         (glthread_tls_set): New macro/function.
58101         (gl_tls_set): Define as wrapper around glthread_tls_set.
58102         (glthread_tls_key_destroy): New macro/function.
58103         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
58104         Update function declarations.
58105         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
58106         glthread_tls_get.
58107         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
58108
58109 2008-08-04  Eric Blake  <ebb9@byu.net>
58110
58111         gnumakefile: use space, not TAB, outside of targets
58112         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
58113
58114 2008-08-02  Jim Meyering  <meyering@redhat.com>
58115
58116         getdate.y: avoid locale-dependent date parsing failure
58117         In Turkish locales, getdate would fail to recognize keywords
58118         containing a lowercase "i".  The solution is not to rely on
58119         locale-sensitive case-conversion.
58120         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
58121         (lookup_word): Use c_toupper in place of toupper.
58122         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
58123         Reported by Vefa Bicakci <bicave@superonline.com> in
58124         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
58125         * modules/getdate (Depends-on): Add c-ctype.
58126
58127 2008-08-02  Bruno Haible  <bruno@clisp.org>
58128
58129         * gnulib-tool (func_import): When updating or creating a .gitignore
58130         file, prepend each added line with a slash, and ignore leading slashes
58131         from the existing lines.
58132         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
58133
58134 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58135
58136         Portability fix for GNU make 3.79.1.
58137         * top/GNUmakefile: Avoid 'else COND', which older GNU make
58138         versions do not understand.
58139
58140 2008-08-01  Bruno Haible  <bruno@clisp.org>
58141
58142         Work around bug of HP-UX 10.20 cc with -0.0 literal.
58143         * tests/test-isnanf.h (zero): New variable.
58144         (main): Avoid literal -0.0f.
58145         * tests/test-isnand.h (zero): New variable.
58146         (main): Avoid literal -0.0.
58147         * tests/test-isnanl.h (zero): New variable.
58148         (main): Avoid literal -0.0L.
58149         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
58150         (test_float, test_double, test_long_double): Avoid literals -0.0f,
58151         -0.0, -0.0L.
58152         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
58153         (test_signbitd): Avoid literal -0.0.
58154         (test_signbitl): Avoid literal -0.0L.
58155         * tests/test-ceilf1.c (zero): New variable.
58156         (main): Avoid literal -0.0f.
58157         * tests/test-ceill.c (zero): New variable.
58158         (main): Avoid literal -0.0L.
58159         * tests/test-floorf1.c (zero): New variable.
58160         (main): Avoid literal -0.0f.
58161         * tests/test-floorl.c (zero): New variable.
58162         (main): Avoid literal -0.0L.
58163         * tests/test-roundf1.c (zero): New variable.
58164         (main): Avoid literal -0.0f.
58165         * tests/test-round1.c (zero): New variable.
58166         (main): Avoid literal -0.0.
58167         * tests/test-roundl.c (zero): New variable.
58168         (main): Avoid literal -0.0L.
58169         * tests/test-truncf1.c (zero): New variable.
58170         (main): Avoid literal -0.0f.
58171         * tests/test-trunc1.c (zero): New variable.
58172         (main): Avoid literal -0.0.
58173         * tests/test-truncl.c (zero): New variable.
58174         (main): Avoid literal -0.0L.
58175         * tests/test-frexp.c (zero): New variable.
58176         (main): Avoid literal -0.0.
58177         * tests/test-frexpl.c (zero): New variable.
58178         (main): Avoid literal -0.0L.
58179         * tests/test-ldexpl.c (zero): New variable.
58180         (main): Avoid literal -0.0L.
58181         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
58182         (zerod, zerol): New variables.
58183         (test_function): Avoid literals -0.0, -0.0L.
58184         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
58185         (zerod, zerol): New variables.
58186         (test_function): Avoid literals -0.0, -0.0L.
58187         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
58188         (zerod, zerol): New variables.
58189         (test_function): Avoid literals -0.0, -0.0L.
58190         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
58191         (zerod, zerol): New variables.
58192         (test_function): Avoid literals -0.0, -0.0L.
58193         * tests/test-strtod.c (zero): New variable.
58194         (main): Avoid literal -0.0.
58195         Reported by Jonathan C. Patschke <jp@centtech.com>.
58196
58197 2008-07-31  Jim Meyering  <meyering@redhat.com>
58198
58199         sha256.h: correct definition of SHA224_DIGEST_SIZE
58200         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
58201         Reported by Paulie Pena IV <paulie4@gmail.com>.
58202         Define as 224 / 8, rather than as a literal.
58203         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
58204         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
58205         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
58206
58207 2008-07-31  Bruno Haible  <bruno@clisp.org>
58208
58209         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
58210         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
58211         Reported by Jonathan Patschke <jp@centtech.com>.
58212
58213 2008-07-31  Bruno Haible  <bruno@clisp.org>
58214
58215         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
58216         Reported by Paolo Bonzini <bonzini@gnu.org>.
58217
58218 2008-07-30  Eric Blake  <ebb9@byu.net>
58219
58220         test-strtod: allow compilation without -lm
58221         * tests/test-strtod.c (main): Avoid link dependence on fabs.
58222         Reported by Dennis Clarke <blastwave@gmail.com>.
58223
58224 2008-07-28  Jim Meyering  <meyering@redhat.com>
58225
58226         bootstrap: work also when there are no .po files in po/
58227         * build-aux/bootstrap (update_po_files): Complete the change
58228         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
58229
58230 2008-07-27  Jim Meyering  <meyering@redhat.com>
58231
58232         * users.txt: Add zile.
58233
58234 2008-07-26  Ben Pfaff  <blp@gnu.org>
58235
58236         Add missing dependencies on new m4/exponent[fdl].m4 files.
58237         * modules/isnanf-nolibm: Add m4/exponentf.m4.
58238         * modules/isnand-nolibm: Add m4/exponentd.m4.
58239         * modules/isnanl-nolibm: Add m4/exponentl.m4.
58240         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
58241         m4/isnan[fdl].m4, because the macros actually used moved.
58242         Reported by Jim Meyering.
58243
58244 2008-07-14  Ben Pfaff  <blp@gnu.org>
58245
58246         Add isinf module.
58247         * lib/isinf.c: New file.
58248         * lib/math.in.h: Define isinf macro if we have decided to replace
58249         it.
58250         * m4/isinf.m4: New file.
58251         * m4/math_h.m4: Initialize and substitute variables for isinf
58252         module.
58253         * modules/isinf: New file.
58254         * modules/isinf-tests: New file.
58255         * modules/math: Add substitutions for new module.
58256         * tests/test-isinf.c: New file.
58257         * doc/posix-functions/isinf.texi: Mention new module.
58258         * MODULES.html.sh: Mention new module.
58259
58260 2008-07-14  Ben Pfaff  <blp@gnu.org>
58261
58262         Factor out some macros for use by additional modules.
58263         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
58264         exponentf.m4.
58265         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
58266         exponentd.m4.
58267         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
58268         file exponentl.m4.
58269         * m4/exponentf.m4: New file.
58270         * m4/exponentd.m4: New file.
58271         * m4/exponentl.m4: New file.
58272         * modules/isnanf: Use new file m4/exponentf.m4.
58273         * modules/isnand: Use new file m4/exponentd.m4.
58274         * modules/isnanl: Use new file m4/exponentl.m4.
58275
58276 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
58277
58278         mktime.c: normalize tp->tm_isdst value to -1/0/1.
58279         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
58280         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
58281         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
58282
58283         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
58284         readlink on platforms without PATH_MAX.
58285
58286 2008-07-21  Eric Blake  <ebb9@byu.net>
58287
58288         Warn, not fail, on stale version.
58289         * top/GNUmakefile (_curr-ver): Tone down previous patch.
58290
58291         Don't allow installation with stale devel version number.
58292         * top/GNUmakefile (_is-install-target): New macro.
58293         (_curr-ver): Forbid installation with stale version number.
58294
58295 2008-07-20  Bruno Haible  <bruno@clisp.org>
58296
58297         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
58298         TESTS_ENVIRONMENT.
58299         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
58300
58301 2008-07-20  Bruno Haible  <bruno@clisp.org>
58302
58303         * lib/c-stack.h (c_stack_action): Add documentation.
58304         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
58305
58306 2008-07-20  Bruno Haible  <bruno@clisp.org>
58307
58308         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
58309         * modules/readlink (License): Likewise.
58310
58311 2008-07-17  Eric Blake  <ebb9@byu.net>
58312
58313         * modules/c-stack (Link): Fix typo.
58314
58315         Make c-stack use libsigsegv, when available.
58316         * modules/c-stack (Depends-on): Add libsigsegv.
58317         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
58318         needed.
58319         * lib/c-stack.c (SIGSTKSZ): Define fallback.
58320         (segv_handler, overflow_handler, c_stack_action)
58321         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
58322         implementation when libsigsegv is available, but only when using
58323         the library is necessary.
58324         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
58325         comment, explaining why XSI check fails on Linux.
58326         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
58327         * tests/test-c-stack2.sh: Tweak skip message.
58328         * NEWS: Document new link-time requirements.
58329
58330 2008-07-16  Eric Blake  <ebb9@byu.net>
58331
58332         c-stack: Expose false positives when not using libsigsegv.
58333         * modules/c-stack-tests (Files): Expand test.
58334         * tests/test-c-stack.c (main): Add means to conditionally trigger
58335         non-overflow SIGSEGV.
58336         * tests/test-c-stack2.sh: New file.
58337
58338 2008-07-14  Bruno Haible  <bruno@clisp.org>
58339
58340         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
58341         Reported by Eric Blake.
58342
58343 2008-07-14  Sam Steingold  <sds@gnu.org>
58344             Bruno Haible  <bruno@clisp.org>
58345
58346         New module libsigsegv.
58347         * modules/libsigsegv: New file.
58348         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
58349         modifications.
58350         * MODULES.html.sh (Signal handling): New section.
58351
58352 2008-07-14  Bruno Haible  <bruno@clisp.org>
58353
58354         * modules/unictype/ctype-* (Description): Add the word "function".
58355         Improves the resulting doc in MODULES.html.
58356
58357 2008-07-12  Ben Pfaff  <blp@gnu.org>
58358
58359         Add longlong module.
58360         * modules/longlong: New file.
58361
58362 2008-07-12  Bruno Haible  <bruno@clisp.org>
58363
58364         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
58365         to empty.
58366
58367 2008-07-10  Ben Pfaff  <blp@gnu.org>
58368
58369         Add isnan module.
58370         * doc/posix-functions/isnan.texi: Mention new module.
58371         * lib/math.in.h: Define isnan macro if we have decided to replace
58372         it.
58373         * m4/isnan.m4: New file.
58374         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
58375         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
58376         also.
58377         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
58378         redundancy.
58379         * m4/math_h.m4: Initialize and substitute variables for isnan
58380         module.
58381         * modules/isnan: New file.
58382         * modules/isnan-tests: New file.
58383         * modules/math: Add substitutions for new module.
58384         * tests/test-isnan.c: New file.
58385         * MODULES.html.sh: Mention new module.
58386
58387 2008-07-10  Ben Pfaff  <blp@gnu.org>
58388
58389         Add isnanf module.
58390         * lib/isnanf.m4: New file.
58391         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
58392         (gl_HAVE_ISNANF_IN_LIBM): New macro.
58393         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
58394         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
58395         * modules/isnanf: New file.
58396         * modules/isnanf-tests: New file.
58397         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
58398         files.
58399         * tests/test-isnanf-nolibm.c: factored most of its contents into
58400         new file tests/test-isnanf.h.
58401         * tests/test-isnanf.h: New file.
58402         * tests/test-isnanf.c: New file.
58403         * MODULES.html.sh: Mention new module.
58404         * doc/glibc-functions/isnanf.texi: Mention new module.
58405
58406 2008-07-10  Ben Pfaff  <blp@gnu.org>
58407
58408         Add isnand module.
58409         * lib/isnand.h: New file.
58410         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
58411         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
58412         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
58413         functionality also.
58414         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
58415         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
58416         (gl_HAVE_ISNAND_IN_LIBM): New macro.
58417         * modules/isnand: New file.
58418         * modules/isnand-tests: New file.
58419         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
58420         files.
58421         * tests/test-isnand-nolibm.c: factored most of its contents into
58422         new file tests/test-isnand.h.
58423         * tests/test-isnand.h: New file.
58424         * tests/test-isnand.c: New file.
58425         * MODULES.html.sh: Mention new module.
58426
58427 2008-07-10  Ben Pfaff  <blp@gnu.org>
58428
58429         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
58430         * lib/isnand.h: Rename lib/isnand-nolibm.h.
58431         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
58432         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
58433         * modules/isnanf-nolibm: Update references to renamed files.
58434         * modules/isnand-nolibm: Likewise.
58435         * modules/isnanf-nolibm-tests: Likewise.
58436         * modules/isnand-nolibm-tests: Likewise.
58437         * lib/frexp.c: Likewise.
58438         * lib/isfinite.c: Likewise.
58439         * lib/signbitd.c: Likewise.
58440         * lib/signbitf.c: Likewise.
58441         * lib/vasnprintf.c: Likewise.
58442         * tests/test-ceilf1.c: Likewise.
58443         * tests/test-ceilf2.c: Likewise.
58444         * tests/test-floorf1.c: Likewise.
58445         * tests/test-floorf2.c: Likewise.
58446         * tests/test-frexp.c: Likewise.
58447         * tests/test-round1.c: Likewise.
58448         * tests/test-round2.c: Likewise.
58449         * tests/test-roundf1.c: Likewise.
58450         * tests/test-strtod.c: Likewise.
58451         * tests/test-trunc1.c: Likewise.
58452         * tests/test-trunc2.c: Likewise.
58453         * tests/test-truncf1.c: Likewise.
58454         * tests/test-truncf2.c: Likewise.
58455         * NEWS: Mention the renamed header files.
58456
58457 2008-07-11  Jim Meyering  <meyering@redhat.com>
58458
58459         vc-list-files: make the last-resort awk code more portable
58460         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
58461         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
58462         does not support it.
58463
58464 2008-07-10  Eric Blake  <ebb9@byu.net>
58465
58466         Work with tar's bootstrap.
58467         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
58468         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
58469         an m4 comment.
58470
58471 2008-07-09  Jim Meyering  <meyering@redhat.com>
58472
58473         posix-shell.m4: fix typo that made this test malfunction
58474         * m4/posix-shell.m4: Remove capitalization in variable name.
58475
58476 2008-07-08  Bruno Haible  <bruno@clisp.org>
58477
58478         * m4/onceonly.m4: Update comments.
58479         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58480
58481 2008-07-04  Jim Meyering  <meyering@redhat.com>
58482
58483         * users.txt: Add vc-dwim.
58484         (bison, coreutils): Use the gitweb URL.
58485
58486 2008-07-03  Jim Meyering  <meyering@redhat.com>
58487
58488         * users.txt: Add libffcall.  From Sam Steingold.
58489
58490 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
58491
58492         getdate.y: do not ignore TZ with relative day, month or year offset
58493         * lib/getdate.y (get_date): Move the tz-handling block to follow the
58494         relative-date-handling, since otherwise, the latter would clobber the
58495         sole output (an updated Start value) of the tz-handling block.
58496         * tests/test-getdate.c: Tests for the fix
58497
58498 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58499
58500         Recognize 'foo_LIBRARIES += libgnu.a'.
58501         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
58502         makefile snippet has already specified an installation location,
58503         also using '+='.
58504
58505 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
58506
58507         getdate.y: factor out common actions
58508         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
58509         Use them in place of open-coded actions.
58510
58511 2008-07-01  Simon Josefsson  <simon@josefsson.org>
58512
58513         Add self-test for getdate module.
58514         * modules/getdate-tests: New file.
58515         * tests/test-getdate.c: New file.
58516
58517 2008-06-29  Bruno Haible  <bruno@clisp.org>
58518
58519         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
58520         .gitignore.
58521         Reported by Sylvain Beucler <beuc@beuc.net>.
58522
58523 2008-06-29  Bruno Haible  <bruno@clisp.org>
58524
58525         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
58526         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
58527
58528 2008-06-29  Bruno Haible  <bruno@clisp.org>
58529
58530         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
58531         EXTRA_DIST.
58532         Reported by Sylvain Beucler <beuc@beuc.net>.
58533
58534 2008-06-26  Jim Meyering  <meyering@redhat.com>
58535
58536         make several modules depend on the "open" module
58537         This provides slightly increased consistency when opening-for-write
58538         the name of a non-directory spelled with a trailing slash.
58539         * modules/chdir-safer: Likewise.
58540         * modules/chown: Likewise.
58541         * modules/clean-temp: Likewise.
58542         * modules/copy-file: Likewise.
58543         * modules/fchdir: Likewise.
58544         * modules/fcntl-safer: Likewise.
58545         * modules/pipe: Likewise.
58546         * modules/utime: Likewise.
58547         Prompted by Eric Blake and Bruno Haible.
58548
58549 2008-06-24  Andreas Schwab  <schwab@suse.de>
58550
58551         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
58552         literals can be used as initializers for global variables.
58553
58554 2008-06-23  Eric Blake  <ebb9@byu.net>
58555
58556         Make gnulib-cache.m4 easier to diff.
58557         * gnulib-tool (func_import): Allow newlines when reading cached
58558         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
58559
58560 2008-06-23  Bruno Haible  <bruno@clisp.org>
58561
58562         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
58563         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
58564         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
58565         m4/signalblocking.m4.
58566         (gl_PREREQ_SIGACTION): Don't invoke it.
58567         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
58568         gl_PREREQ_SIG_HANDLER_H.
58569         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58570         Don't check for sigaction here.
58571
58572 2008-06-23  Bruno Haible  <bruno@clisp.org>
58573
58574         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
58575         (install_handlers): Don't set the SA_RESETHAND flag.
58576
58577 2008-06-23  Bruno Haible  <bruno@clisp.org>
58578
58579         * m4/sigaction.m4: Comment fixes.
58580         * lib/signal.in.h: Likewise.
58581
58582 2008-06-23  Eric Blake  <ebb9@byu.net>
58583
58584         Fix typo.
58585         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
58586
58587         Avoid SA_ namespace.
58588         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
58589         Reported by Ralf Wildenhues.
58590
58591         Avoid test failure due to SA_RESTORER.
58592         * tests/test-sigaction.c (SA_MASK): New macro.
58593         (main): Avoid failing due to extension flags being set.
58594         Reported by Jim Meyering.
58595
58596         Revert use of sig-handler.h in sigprocmask.c.
58597         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
58598         it requires the existence of struct sigaction.
58599         * lib/sigprocmask.c (handler_t): Restore typedef.
58600         (rpl_signal, old_handlers): Use local type.
58601
58602 2008-06-22  Bruno Haible  <bruno@clisp.org>
58603
58604         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
58605         conditionally.
58606         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58607
58608 2008-06-22  Bruno Haible  <bruno@clisp.org>
58609
58610         * doc/posix-functions/siginterrupt.texi: Move note.
58611
58612         * lib/signal.in.h (SA_RESTART): New macro.
58613         * lib/sigaction.c: Update comment.
58614
58615         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
58616
58617         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
58618         (gl_PREREQ_SIGPROCMASK): Invoke it.
58619         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
58620
58621         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
58622
58623         * lib/sigprocmask.c: Update a comment.
58624
58625 2008-06-21  Eric Blake  <ebb9@byu.net>
58626
58627         Use sigaction module rather than signal().
58628         * modules/c-stack (Depends-on): Add sigaction.
58629         * modules/fatal-signal (Depends-on): Likewise.
58630         * modules/nanosleep (Depends-on): Likewise.
58631         * modules/sigprocmask (Files): Add sig-handler.h.
58632         * modules/sigaction (Files): Likewise.
58633         * lib/sig-handler.h (get_handler): New file, suggested by Paul
58634         Eggert.
58635         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
58636         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
58637         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
58638         (init_fatal_signals): Likewise.
58639         * lib/nanosleep.c (rpl_nanosleep): Likewise.
58640         (siginterrupt): Delete fallback.
58641         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
58642         instead.
58643         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
58644         siginterrupt.
58645
58646         New module sigaction, for mingw.
58647         * modules/sigaction: New module...
58648         * modules/sigaction-tests: ...and its test.
58649         * m4/sigaction.m4: New file.
58650         * lib/sigaction.c: Likewise.
58651         * tests/test-sigaction.c: Likewise.
58652         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
58653         * modules/signal (Makefile.am): Likewise.
58654         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
58655         needed.
58656         * doc/posix-headers/signal.texi (signal.h): Mention provided
58657         types.
58658         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
58659         that sigaction is preferable.
58660         * doc/posix-functions/sigaction.texi (sigaction): Mention new
58661         module.
58662         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58663         sigaction.
58664
58665         Improve robustness of sigprocmask by overriding signal.
58666         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
58667         is in use.
58668         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
58669         (SIGKILL, SIGSTOP): Provide fallbacks.
58670         (rpl_signal): Implement.
58671         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
58672         signal can be called inside handlers.
58673
58674         Fix nanosleep module on mingw.
58675         * modules/nanosleep (Depends-on): Add sys_select.
58676         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
58677
58678         Fix licensing of sigprocmask.
58679         * modules/raise (License): Relicense as LGPL.
58680
58681 2008-06-21  Bruno Haible  <bruno@clisp.org>
58682
58683         * lib/propername.c (proper_name_utf8): Don't use the transliterated
58684         result if it contains question marks.
58685         Reported by Michael Geng <linux@michaelgeng.de>.
58686
58687 2008-06-19  Bruno Haible  <bruno@clisp.org>
58688
58689         Fix CVS-ism.
58690         * doc/gnulib.texi: Include updated-stamp.texi.
58691         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
58692         (updated-stamp.texi): New rule.
58693         (gnulib.info): Depend on it.
58694         * doc/.gitignore: Add updated-stamp.texi.
58695         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
58696
58697 2008-06-19  Bruno Haible  <bruno@clisp.org>
58698
58699         * doc/Makefile (gnulib.info): Update and simplify dependencies.
58700         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58701
58702 2008-06-19  Eric Blake  <ebb9@byu.net>
58703
58704         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
58705         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
58706         Reported by Stepan Kasal.
58707
58708 2008-06-18  Bruno Haible  <bruno@clisp.org>
58709
58710         * lib/fatal-signal.c (init_fatal_signals): Add comment.
58711         Reported by Eric Blake.
58712
58713 2008-06-18  Eric Blake  <ebb9@byu.net>
58714
58715         Work around cygwin 1.5.25 strsignal bug.
58716         * tests/test-strsignal.c: Allow for const char *.
58717         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
58718
58719 2008-06-18  Simon Josefsson  <simon@josefsson.org>
58720
58721         * users.txt: Update URL to article and add author/date
58722         information.
58723
58724 2008-06-17  Bruno Haible  <bruno@clisp.org>
58725
58726         New macro gl_DISABLE_THREADS.
58727         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
58728         if the user did not pass --enable-threads or --disable-threads option.
58729         (gl_DISABLE_THREADS): New macro.
58730         Reported by Eric Blake <ebb9@byu.net>.
58731
58732 2008-06-17  Bruno Haible  <bruno@clisp.org>
58733
58734         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
58735         when the macro ignores it.
58736         Based on a patch by Eric Blake <ebb9@byu.net>.
58737
58738 2008-06-17  Bruno Haible  <bruno@clisp.org>
58739
58740         * modules/tls (License): Change to LGPLv2+.
58741         Reported by Eric Blake.
58742
58743 2008-06-17  Eric Blake  <ebb9@byu.net>
58744
58745         Simplify c-stack prerequisites.
58746         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
58747         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
58748         no longer requires <ucontext.h> to exist.  Optimize setrlimit
58749         check.
58750         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
58751         <sys/resource.h>.
58752
58753         Move c-stack test into testsuite.
58754         * modules/c-stack-tests: New file.
58755         * lib/c-stack.c [DEBUG]: Move test program...
58756         * tests/test-c-stack.c: ...into this new file.  Skip rather than
58757         fail test if sigaltstack is lacking.
58758         * tests/test-c-stack.sh: New driver file.
58759
58760 2008-06-16  Eric Blake  <ebb9@byu.net>
58761
58762         Use raise module consistently.
58763         * modules/fatal-signal (Depends-on): Add raise.
58764         * modules/sigprocmask (Depends-on): Likewise.
58765         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
58766         * lib/sigprocmask.c (sigprocmask): Likewise.
58767         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58768         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
58769
58770         Fix compliance bug in sigpending.
58771         * lib/sigprocmask.c (sigpending): Return pending array via
58772         parameter, not return value.
58773
58774 2008-06-14  Eric Blake  <ebb9@byu.net>
58775
58776         Improve obstack-printf test code.
58777         * tests/test-obstack-printf.c (test_function): Fix comment, and
58778         simplify usage of obstack_* in macros.  Add a test for coverage.
58779         Reported by Bruno Haible.
58780
58781 2008-06-14  Bruno Haible  <bruno@clisp.org>
58782
58783         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
58784         array size as a constant, not as a const variable.
58785         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
58786         AC_USE_SYSTEM_EXTENSIONS.
58787         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
58788         Test whether the obstack_printf function actually exists.
58789         * modules/obstack-printf (Depends-on): Add extensions.
58790         (Include): Remove obstack.h.
58791         * modules/obstack-printf-posix (Depends-on): Add extensions.
58792         (Include): Remove obstack.h.
58793
58794 2008-06-13  Eric Blake  <ebb9@byu.net>
58795
58796         Add obstack-printf and obstack-printf-posix modules.
58797         * modules/obstack-printf: New file.
58798         * modules/obstack-printf-posix: Likewise.
58799         * MODULES.html.sh (Misc): Mention them.
58800         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
58801         Likewise.
58802         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
58803         Likewise.
58804         * modules/stdio (Makefile.am): Accomodate new modules.
58805         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
58806         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
58807         Declare.
58808         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
58809         functions.
58810         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
58811         (gl_REPLACE_OBSTACK_PRINTF): New macros
58812         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
58813         * tests/test-obstack-printf.c: New file.
58814         * modules/obstack-printf-tests: Likewise.
58815         * modules/obstack-printf-posix-tests: Likewise.
58816
58817 2008-06-11  Bruno Haible  <bruno@clisp.org>
58818
58819         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
58820         * lib/open.c: Include errno.h.
58821         (open): Fail when attempting to write to a file that has a trailing
58822         slash.
58823         * tests/test-open.c (main): Test against trailing slash bug.
58824         * doc/posix-functions/open.texi: Mention the trailing slash bug.
58825
58826 2008-06-10  Bruno Haible  <bruno@clisp.org>
58827
58828         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
58829         for $? to work inside the trap command, with various /bin/sh-s.
58830         * tests/test-vc-list-files-cvs.sh: Likewise.
58831
58832 2008-06-10  Bruno Haible  <bruno@clisp.org>
58833
58834         * lib/acl-internal.h: Don't include gettext.h here.
58835         * lib/set-mode-acl.c: Include gettext.h here.
58836         * lib/copy-acl.c: Likewise.
58837
58838 2008-06-10  Bruno Haible  <bruno@clisp.org>
58839
58840         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
58841         * lib/wait-process.c (wait_subprocess): Likewise.
58842         * lib/execute.h (execute): Add termsigp argument.
58843         * lib/execute.c (execute): Likewise.
58844         * lib/csharpcomp.c (compile_csharp_using_pnet,
58845         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
58846         * lib/csharpexec.c (execute_csharp_using_pnet,
58847         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
58848         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
58849         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
58850         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
58851         is_jikes_present): Update.
58852         * lib/javaexec.c (execute_java_class): Update.
58853         * lib/javaversion.c (execute_and_read_line): Update.
58854         * NEWS: Document the changes.
58855         Reported by Eric Blake.
58856
58857 2008-06-10  Eric Blake  <ebb9@byu.net>
58858
58859         Add missing include.
58860         * tests/test-strstr.c (includes): Add <signal.h>.
58861         * tests/test-strcasestr.c (includes): Likewise.
58862         * tests/test-memmem.c (includes): Likewise.
58863
58864 2008-06-10  Bruno Haible  <bruno@clisp.org>
58865
58866         * lib/wait-process.c (wait_subprocess): Add an assertion.
58867
58868 2008-06-10  Bruno Haible  <bruno@clisp.org>
58869
58870         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
58871
58872 2008-06-10  Bruno Haible  <bruno@clisp.org>
58873
58874         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
58875         using alarm().
58876         * tests/test-strcasestr.c (main): Likewise.
58877         * tests/test-strstr.c (main): Likewise.
58878
58879 2008-06-09  Bruno Haible  <bruno@clisp.org>
58880
58881         Work around the Solaris 10 ACE ACLs ABI change.
58882         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
58883         declare if ACL_NO_TRIVIAL is present.
58884         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
58885         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
58886         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
58887         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
58888         define if ACL_NO_TRIVIAL is present.
58889         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
58890         and use the current ABI.
58891         (file_has_acl): Use same #if condition as elsewhere.
58892         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
58893         in use, and use the current ABI.
58894         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
58895         Reported by Jim Meyering.
58896
58897 2008-06-09  Eric Blake  <ebb9@byu.net>
58898
58899         Work around environments that (stupidly) ignore SIGALRM.
58900         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
58901         before using alarm().
58902         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58903         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
58904         Reported by Ian Beckwith <ianb@erislabs.net>.
58905
58906         Produce autobuild blurb earlier in log.
58907         * modules/autobuild (configure.ac-early): Move AB_INIT here.
58908
58909 2008-06-09  Jim Meyering  <meyering@redhat.com>
58910         and Ondřej Vašík  <ovasik@redhat.com>
58911
58912         utimens.c: correct kernel bug work-around
58913         Ondřej Vašík found that the invalid return value of 280 indicates
58914         failure, not success, and the kernel bug we're trying to work
58915         around affects not just the utimensat call, but also the fallback
58916         futimens call.
58917         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
58918         not success.
58919         [HAVE_FUTIMENS]: Use the same work-around, here.
58920
58921 2008-06-09  Jim Meyering  <meyering@redhat.com>
58922
58923         add more guards around definition of ACE_-related code
58924         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
58925         ALLOW and ACE_OWNER are also defined.
58926
58927 2008-06-08  Bruno Haible  <bruno@clisp.org>
58928
58929         * lib/acl-internal.h: Add me as co-author.
58930         * lib/file-has-acl.c: Likewise.
58931         * lib/set-mode-acl.c: Likewise.
58932         * lib/copy-acl.c: Likewise.
58933
58934 2008-06-08  Bruno Haible  <bruno@clisp.org>
58935
58936         Add support for AIX ACLs.
58937         * lib/acl-internal.h (acl_nontrivial): New declaration.
58938         * lib/file-has-acl.c (acl_nontrivial): New function.
58939         (file_has_acl): Add implementation using AIX 4 ACL API.
58940         * lib/set-mode-acl.c (qset_acl): Likewise.
58941         * lib/copy-acl.c (qcopy_acl): Likewise.
58942
58943 2008-06-08  Bruno Haible  <bruno@clisp.org>
58944
58945         Add support for HP-UX ACLs.
58946         * lib/acl-internal.h (acl_nontrivial): New declaration.
58947         * lib/file-has-acl.c (acl_nontrivial): New function.
58948         (file_has_acl): Add implementation using HP-UX 11 ACL API.
58949         * lib/set-mode-acl.c (qset_acl): Likewise.
58950         * lib/copy-acl.c (qcopy_acl): Likewise.
58951
58952 2008-06-08  Bruno Haible  <bruno@clisp.org>
58953
58954         Add support for Cygwin ACLs.
58955         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
58956         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
58957         the chmod_or_fchmod call.
58958         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
58959
58960 2008-06-08  Bruno Haible  <bruno@clisp.org>
58961
58962         Fix bug with setuid modes in Solaris 10+ code.
58963         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
58964         succeeded, when the mode contains some special bits.
58965
58966 2008-06-08  Bruno Haible  <bruno@clisp.org>
58967
58968         Add support for Solaris 7..10 ACLs.
58969         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
58970         declarations.
58971         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
58972         functions.
58973         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
58974         * lib/set-mode-acl.c (qset_acl): Likewise.
58975         * lib/copy-acl.c (qcopy_acl): Likewise.
58976
58977 2008-06-08  Bruno Haible  <bruno@clisp.org>
58978
58979         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
58980         declaration.
58981         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
58982         (acl_access_nontrivial): Remove MacOS X case.
58983         (file_has_acl): Use acl_extended_nontrivial.
58984         * lib/copy-acl.c (qcopy_acl): Likewise.
58985
58986 2008-06-08  Bruno Haible  <bruno@clisp.org>
58987
58988         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
58989
58990 2008-06-08  Jim Meyering  <meyering@redhat.com>
58991
58992         * modules/acl (Maintainer): Add Bruno Haible.
58993
58994 2008-06-07  Bruno Haible  <bruno@clisp.org>
58995
58996         Improve support for Tru64 ACLs.
58997         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
58998         ACL on OSF/1.
58999
59000 2008-06-07  Bruno Haible  <bruno@clisp.org>
59001
59002         Add support for MacOS X ACLs.
59003         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
59004         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
59005         * lib/set-mode-acl.c (qset_acl): Likewise.
59006         * lib/copy-acl.c (qcopy_acl): Likewise.
59007
59008 2008-06-07  Bruno Haible  <bruno@clisp.org>
59009
59010         Fix memory leak introduced on 2008-05-22.
59011         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
59012         use.
59013
59014 2008-06-07  Bruno Haible  <bruno@clisp.org>
59015
59016         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
59017         to construct an empty ACL.
59018
59019 2008-06-07  Bruno Haible  <bruno@clisp.org>
59020
59021         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
59022         precisely.
59023         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
59024
59025 2008-06-07  Bruno Haible  <bruno@clisp.org>
59026
59027         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
59028         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
59029
59030 2008-06-07  Bruno Haible  <bruno@clisp.org>
59031
59032         * doc/posix-functions/_setjmp.texi: Explain the use of this function
59033         regardless of POSIX.
59034         * doc/posix-functions/_longjmp.texi: Likewise.
59035         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
59036         SystemV platform in this case.
59037
59038 2008-06-06  Eric Blake  <ebb9@byu.net>
59039
59040         Document abort() bugs.
59041         * doc/posix-functions/abort.texi (abort): Mention anomalies.
59042
59043         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
59044         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
59045         sigsetjmp.
59046         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
59047         siglongjmp, but only as a macro.
59048         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
59049         is obsolete.
59050         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
59051
59052         Tweak documentation to cover cygwin argz bugs.
59053         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
59054         argz bug fix; no code change needed since no cygwin releases
59055         occurred between the last fix and the bug being tested.
59056         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
59057         module and recently fixed cygwin bugs.
59058         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
59059         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
59060         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
59061         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
59062         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
59063         Likewise.
59064         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
59065         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
59066         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
59067         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
59068         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
59069         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
59070         Likewise.
59071
59072         Avoid gcc warning on cygwin.
59073         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
59074         !ACL_NO_TRIVIAL]: Avoid unused variable.
59075
59076 2008-06-05  Eric Blake  <ebb9@byu.net>
59077
59078         Be tolerant of UNKNOWN version in gnulib-tool test dir.
59079         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
59080         git-version-gen fails to come up with a version.
59081         Reported by Simon Josefsson.
59082
59083 2008-06-05  Jim Meyering  <meyering@redhat.com>
59084             Paul Eggert  <eggert@cs.ucla.edu>
59085
59086         utimens.c: work around a probable Linux kernel bug
59087         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
59088         appears to be a kernel bug that causes utimensat to return 280
59089         instead of 0, indicating success.
59090
59091 2008-06-04  Bruno Haible  <bruno@clisp.org>
59092
59093         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
59094         2008-06-01 commit.
59095
59096 2008-06-04  Bruno Haible  <bruno@clisp.org>
59097
59098         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
59099         * lib/file-has-acl.c (acl_access_nontrivial): New function.
59100         (file_has_acl): Use it. Save errno afterwards.
59101         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
59102
59103 2008-06-03  Bruno Haible  <bruno@clisp.org>
59104
59105         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
59106         draft code. Simplify #ifs.
59107         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
59108         Put Solaris code after POSIX-draft code. Fix comments regarding
59109         Solaris 10, HP-UX. Mention Cygwin.
59110         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
59111
59112 2008-06-03  Eric Blake  <ebb9@byu.net>
59113
59114         Provide fallback for older kernels.
59115         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
59116         Provide runtime fallback if kernel lacks support.
59117         Reported by Mike Frysinger.
59118
59119 2008-06-02  Bruno Haible  <bruno@clisp.org>
59120
59121         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
59122         it exists.
59123
59124 2008-06-02  Bruno Haible  <bruno@clisp.org>
59125
59126         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
59127         * lib/copy-acl.c (qcopy_acl): Update comment.
59128
59129 2008-06-02  Bruno Haible  <bruno@clisp.org>
59130
59131         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
59132         like ACL APIs.
59133
59134 2008-06-02  Bruno Haible  <bruno@clisp.org>
59135
59136         * tests/test-file-has-acl.sh: Use different code for Cygwin.
59137         * tests/test-set-mode-acl.sh: Likewise.
59138         * tests/test-copy-acl.sh: Likewise.
59139         * tests/test-copy-file.sh: Likewise.
59140
59141 2008-06-02  Bruno Haible  <bruno@clisp.org>
59142
59143         * tests/test-file-has-acl.sh: Remove unused code.
59144
59145 2008-06-01  Bruno Haible  <bruno@clisp.org>
59146
59147         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
59148         (copy_acl): Just a wrapper around qcopy_acl that emits the error
59149         messages.
59150         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
59151
59152 2008-06-01  Bruno Haible  <bruno@clisp.org>
59153
59154         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
59155         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
59156         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
59157         APIs.
59158         * modules/acl-tests (configure.ac): Remove tests now contained in
59159         m4/acl.m4.
59160
59161 2008-06-02  Jim Meyering  <meyering@redhat.com>
59162
59163         announce-gen: use a better key-server host name
59164         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
59165         it may be more consistently reliable.  Suggested by Werner Koch
59166         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
59167
59168 2008-06-01  Bruno Haible  <bruno@clisp.org>
59169
59170         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
59171         Reported by Voroskoi Andras <voroskoi@gmail.com>.
59172
59173 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
59174
59175         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
59176
59177 2008-06-01  Bruno Haible  <bruno@clisp.org>
59178
59179         New ACL tests.
59180         * tests/test-file-has-acl.sh: New file.
59181         * tests/test-file-has-acl.c: New file.
59182         * tests/test-set-mode-acl.sh: New file.
59183         * tests/test-set-mode-acl.c: New file.
59184         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
59185         * tests/test-copy-acl.c: New file.
59186         * modules/acl-tests: New file, based on modules/copy-file-tests.
59187         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
59188         (Depends-on): Add acl-tests.
59189         (configure.ac): Remove checks.
59190         (Makefile.am): Don't create test-sameacls program here any more.
59191
59192 2008-06-01  Bruno Haible  <bruno@clisp.org>
59193
59194         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
59195         * tests/test-sameacls.c: Include progname.h.
59196         (main): Invoke set_program_name. Portability fixes for MacOS X,
59197         Solaris, HP-UX.
59198
59199 2008-06-01  Bruno Haible  <bruno@clisp.org>
59200
59201         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
59202         function.
59203         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
59204
59205 2008-06-01  Bruno Haible  <bruno@clisp.org>
59206
59207         * modules/rpmatch (Depends-on): Add strdup.
59208
59209 2008-06-01  Bruno Haible  <bruno@clisp.org>
59210
59211         * lib/pipe.c: Include unistd-safer.h.
59212         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
59213         * modules/pipe (Depends-on): Add unistd-safer.
59214
59215 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59216
59217         * modules/autobuild (configure.ac): Call AB_INIT.
59218
59219 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59220
59221         * tests/test-getaddrinfo.c: Don't print debug messages by default.
59222         Suggested by Bruno Haible <bruno@clisp.org>.
59223
59224 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59225
59226         * tests/test-base64.c: Cast size_t to unsigned long when invoking
59227         printf.  Use %lu instead of %d.  Reported by Bruno Haible
59228         <bruno@clisp.org>.
59229
59230 2008-05-29  Eric Blake  <ebb9@byu.net>
59231
59232         Prefer new POSIX 200x interfaces over futimesat.
59233         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
59234         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
59235         when available.
59236         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
59237
59238 2008-05-28  Bruno Haible  <bruno@clisp.org>
59239
59240         * modules/stpcpy (License): Change to LGPLv2+.
59241         Requested by David Lutterkort <dlutter@redhat.com>.
59242
59243 2008-05-27  Bruno Haible  <bruno@clisp.org>
59244
59245         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
59246         current mingw.
59247         Reported by Jose E. Marchesi <jemarch@gnu.org>.
59248
59249 2008-05-27  Bruno Haible  <bruno@clisp.org>
59250
59251         * modules/iconv_open (Link): New section, from module 'iconv'.
59252         * modules/striconv (Link): Likewise.
59253         * modules/striconveh (Link): Likewise.
59254         * modules/xstriconv (Link): Likewise.
59255         * modules/unicodeio (Link): Likewise.
59256         * modules/propername (Link): Likewise.
59257         Reported by Jim Meyering.
59258
59259 2008-05-26  Jim Meyering  <meyering@redhat.com>
59260
59261         sha256: do not artificially restrict buffer length to be < 2^32
59262         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
59263         uint32_t to size_t.
59264         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
59265         to match.
59266
59267         avoid unaligned access errors, e.g., on sparc
59268         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
59269         direct access through a possibly-unaligned uint64* pointer.
59270         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
59271         direct access through a possibly-unaligned uint32* pointer.
59272         Prompted by this patch from Tom "spot" Callaway:
59273         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
59274
59275         sha512.c: fix typo in comment
59276         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
59277
59278 2008-05-25  Bruno Haible  <bruno@clisp.org>
59279
59280         * lib/set-mode-acl.c: Renamed from lib/acl.c.
59281         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
59282         (Makefile.am): Update lib_SOURCES.
59283
59284 2008-05-25  Bruno Haible  <bruno@clisp.org>
59285
59286         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
59287
59288 2008-05-25  Jim Meyering  <meyering@redhat.com>
59289
59290         useless-if-before-free: freed expr may have white-space differences
59291         * build-aux/useless-if-before-free: Recognize cases in which the
59292         freed expression differs from the tested one in embedded white
59293         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
59294         $1 was used, so we can't make any regexp shy.  Improved tests now
59295         detect this.
59296
59297         useless-if-before-free: accept white space in the expression.
59298         * build-aux/useless-if-before-free: For now, any white space
59299         in the expression must be identical in the free argument.
59300
59301         useless-if-before-free: efficiency tweak
59302         * build-aux/useless-if-before-free: Make the expression-matching
59303         regexp "shy".
59304         Make the *outer* regexp shy, not the expr-matching one.
59305
59306         update code-in-comment to accept cast of free arg
59307         * build-aux/useless-if-before-free: Update regexp.
59308
59309 2008-05-25  Bruno Haible  <bruno@clisp.org>
59310
59311         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
59312         * modules/copy-file-tests (Files, Makefile.am): Update.
59313         * tests/test-copy-file.c (func_test_copy): Update.
59314
59315 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
59316
59317         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
59318
59319 2008-05-23  Bruno Haible  <bruno@clisp.org>
59320
59321         Improve support for ACLs on OSF/1.
59322         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
59323         Remove fallback for unknown flavors of ACLs.
59324
59325 2008-05-22  Bruno Haible  <bruno@clisp.org>
59326
59327         Add support for ACLs on OSF/1.
59328         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
59329         replacements.
59330         (acl_free_text): New macro fallback.
59331         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
59332         acl_free.
59333         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
59334         acl_free_text function. Require AC_C_INLINE.
59335
59336 2008-05-22  Bruno Haible  <bruno@clisp.org>
59337
59338         Make copy_acl work on MacOS X 10.5.
59339         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
59340         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
59341         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
59342         If MODE_INSIDE_ACL, don't assume that every system has the same text
59343         representation for ACLs as FreeBSD.
59344         * lib/copy-acl.c (copy_acl): Add support for platforms with
59345         !MODE_INSIDE_ACL.
59346         * lib/file-has-acl.c (file_has_acl): Likewise.
59347         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
59348         FreeBSD, MacOS X, or IRIX, respectively.
59349
59350 2008-05-22  Bruno Haible  <bruno@clisp.org>
59351
59352         * lib/acl.h: Don't include <sys/acl.h>.
59353         (GETACLCNT): Move fallback to lib/acl-internal.h.
59354         * lib/acl-internal.h: Include <sys/acl.h> here.
59355         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
59356
59357 2008-05-22  Bruno Haible  <bruno@clisp.org>
59358
59359         Split off copy_acl function to separate file.
59360         * lib/copy-acl.c: New file, extracted from lib/acl.c.
59361         * lib/acl.c (copy_acl): Moved function to separate file.
59362         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
59363         * modules/acl (Files): Add lib/copy-acl.c.
59364         (Makefiles.am): Augment lib_SOURCES.
59365
59366 2008-05-22  Bruno Haible  <bruno@clisp.org>
59367
59368         * modules/copy-file-tests: New file.
59369         * tests/test-copy-file.sh: New file.
59370         * tests/test-copy-file.c: New file.
59371         * tests/test-copy-file-sameacls.c: New file.
59372
59373 2008-05-22  Eric Blake  <ebb9@byu.net>
59374
59375         Avoid gcc warning.
59376         * tests/test-memcmp.c (main): Pass NULL indirectly.
59377
59378 2008-05-21  Bruno Haible  <bruno@clisp.org>
59379
59380         Add reference doc about ACLs.
59381         * doc/acl-resources.txt: New file.
59382         * doc/acl-cygwin.txt: New file.
59383
59384 2008-05-21  Bruno Haible  <bruno@clisp.org>
59385
59386         Avoid one more warning from gcc.
59387         * lib/vasnprintf.c (IF_LINT): Update comments.
59388         (VASNPRINTF): Use it also for the 'prefix' array initializer.
59389
59390 2008-05-21  Jim Meyering  <meyering@redhat.com>
59391
59392         avoid a warning from gcc
59393         * lib/vasnprintf.c (IF_LINT): Define.
59394         (scale10_round_decimal_long_double):
59395         Use it to avoid a "may be used uninitialized" warning.
59396         (scale10_round_decimal_double): Likewise.
59397
59398 2008-05-21  Simon Josefsson  <simon@josefsson.org>
59399
59400         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
59401         declared.
59402
59403 2008-05-20  Bruno Haible  <bruno@clisp.org>
59404
59405         * tests/test-memcmp.c (main): Test also the sign of the result. Test
59406         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
59407
59408 2008-05-20  Simon Josefsson  <simon@josefsson.org>
59409
59410         * modules/memcmp-tests: New file.
59411         * tests/test-memcmp.c: New file.
59412
59413 2008-05-19  Bruno Haible  <bruno@clisp.org>
59414
59415         * modules/propername (Notice, configure.ac): Put quoted "..." into
59416         --keyword option.
59417         * lib/propername.h: Update comments accordingly.
59418         Reported by Eric Blake.
59419
59420 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
59421
59422         * modules/getpass-gnu (Depends-on): Add fseeko.
59423
59424 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59425
59426         * modules/base64-tests: New file.
59427
59428 2008-05-19  Bo Borgerson <gigabo@gmail.com>
59429
59430         * lib/base64.c (base64_decode_ctx): If a decode context structure
59431         was passed in use it to ignore newlines.  If a context structure
59432         was _not_ passed in, continue to treat newlines as garbage (this
59433         is the historical behavior).  Formerly base64_decode.
59434         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59435         takes a decode context structure.
59436         * lib/base64.h (base64_decode): Macro for four-argument calls.
59437         (base64_decode_alloc): Likewise.
59438         * lib/base64.c (base64_decode_ctx): If a decode context structure
59439         was passed in use it to ignore newlines.  If a context structure
59440         was _not_ passed in, continue to treat newlines as garbage (this
59441         is the historical behavior).  Formerly base64_decode.
59442         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59443         takes a decode context structure.
59444         * lib/base64.h (base64_decode): Macro for four-argument calls.
59445         (base64_decode_alloc): Likewise.
59446
59447 2008-05-19  Jim Meyering  <meyering@redhat.com>
59448
59449         avoid a warning from gcc
59450         * lib/trim.c (IF_LINT): Define.
59451         (trim2): Use it to avoid a "may be used uninitialized" warning.
59452
59453         Fix doc typo.
59454         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
59455
59456 2008-05-19  Bruno Haible  <bruno@clisp.org>
59457
59458         * doc/glibc-functions/getpass.texi: Document limits of other
59459         implementations.
59460
59461 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59462             Bruno Haible <bruno@clisp.org>
59463
59464         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
59465
59466 2008-05-18  Bruno Haible  <bruno@clisp.org>
59467
59468         * modules/propername: New file, from GNU gettext.
59469         * lib/propername.h: New file, from GNU gettext.
59470         * lib/propername.c: New file, from GNU gettext.
59471         * MODULES.html.sh (Internationalization functions): Add propername.
59472
59473 2008-05-16  Jim Meyering  <meyering@redhat.com>
59474             Bruno Haible  <bruno@clisp.org>
59475
59476         Avoid some warnings from "gcc -Wshadow".
59477         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
59478
59479 2008-05-15  Eric Blake  <ebb9@byu.net>
59480
59481         Extend previous patch to cygwin 1.7.0.
59482         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
59483         fast implementation in cygwin >= 1.7.0.
59484         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59485         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59486
59487 2008-05-15  Bruno Haible  <bruno@clisp.org>
59488
59489         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
59490         implementation in glibc >= 2.9.
59491         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59492         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59493
59494 2008-05-15  Bruno Haible  <bruno@clisp.org>
59495
59496         * MODULES.html.sh (Internationalization functions): Remove linebreak.
59497         (Unicode string functions): Add unilbrk/*.
59498         Reported by Karl Berry.
59499
59500 2008-05-15  Eric Blake  <ebb9@byu.net>
59501
59502         Fix violation of <stdbool.h> replacement in regex.
59503         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
59504         * lib/regexec.c (re_search_internal): Likewise.
59505         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
59506
59507 2008-05-15  Jim Meyering  <meyering@redhat.com>
59508
59509         avoid distracting test output when git or cvs is not found
59510         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
59511         * tests/test-vc-list-files-git.sh: Likewise.
59512
59513 2008-05-15  Eric Blake  <ebb9@byu.net>
59514
59515         Glibc finally accepted the memmem speedup code, bugzilla #5514.
59516         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
59517         glibc version.
59518         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
59519         * doc/posix-functions/strstr.texi (strstr): Likewise.
59520         * lib/str-two-way.h (MAX): Sychronize with glibc.
59521
59522 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
59523
59524         * lib/regcomp.c (optimize_utf8): Add a note on why we test
59525         opr.ctx_type.
59526         (calc_first): Initialize constraint field.
59527         (duplicate_node_closure): Use it instead of special casing ANCHORS.
59528         Fix grammar.
59529         (duplicate_node): Merge constraint field for all node types.
59530         (calc_eclosure_iter): Look at constraint field for all node types.
59531         * lib/regex_internal.c (create_cd_newstate): Don't look at
59532         opr.ctx_type.
59533
59534 2008-05-14  Bruno Haible  <bruno@clisp.org>
59535
59536         Help GCC to do better code generation.
59537         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
59538         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
59539         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
59540         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
59541         Declare with attribute 'malloc' if supported.
59542
59543 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
59544
59545         use "echo STR|wc -c" rather than unportable "expr length STR"
59546         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
59547         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
59548
59549 2008-05-14  Jim Meyering  <meyering@redhat.com>
59550
59551         use dd ibs=$n count=1 ... rather than less-portable head -c$n
59552         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
59553         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
59554         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
59555         via Collin Lasse.
59556
59557 2008-05-14  Eric Blake  <ebb9@byu.net>
59558
59559         Avoid quadratic growth in gl_LIBSOURCES.
59560         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
59561         Suggested by Bruno Haible.
59562
59563         Test xmemdup0.
59564         * modules/xmemdup0-tests: New file.
59565         * tests/test-xmemdup0.c: Likewise.
59566
59567 2008-05-13  Eric Blake  <ebb9@byu.net>
59568
59569         Split xmemdup0 into its own module.
59570         * modules/xmemdup0: New file.
59571         * lib/xmemdup0.h: Likewise.
59572         * lib/xmemdup0.c: Likewise.
59573         * MODULES.html.sh (Memory management functions): Add xmemdup0.
59574         * lib/xalloc.h (xmemdup0): Remove.
59575         * lib/xmalloc.c (xmemdup0): Likewise.
59576
59577 2008-05-13  Eric Blake  <ebb9@byu.net>
59578             Bruno Haible  <bruno@clisp.org>
59579
59580         Reduce number of forks required during autoconf.
59581         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
59582         and gl_LIBSOURCES_DIR.
59583         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
59584         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
59585         m4_syscmd per file.
59586         <m4_foreach_w>: Move...
59587         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
59588
59589 2008-05-13  Eric Blake  <ebb9@byu.net>
59590
59591         * gnulib-tool: Fix various comment typos.
59592
59593 2008-05-12  Bruno Haible  <bruno@clisp.org>
59594
59595         Tailor the linebreaking algorithm.
59596         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
59597
59598 2008-05-12  Bruno Haible  <bruno@clisp.org>
59599
59600         Update to Unicode 5.0.0.
59601         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59602         LBP_JV, LBP_JT. Redistribute values.
59603         (unilbrk_table): Change size.
59604         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
59605         Unicode TR#14 rev. 22.
59606         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59607         LBP_JV, LBP_JT. Redistribute values.
59608         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
59609         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
59610         Update.
59611         * lib/unilbrk/lbrkprop1.h: Regenerated.
59612         * lib/unilbrk/lbrkprop2.h: Regenerated.
59613         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
59614         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
59615         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
59616         Likewise.
59617         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
59618         Likewise.
59619         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
59620         result.
59621         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
59622         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
59623         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
59624         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
59625         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
59626         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
59627
59628 2008-05-11  Bruno Haible  <bruno@clisp.org>
59629
59630         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
59631
59632 2008-05-11  Bruno Haible  <bruno@clisp.org>
59633
59634         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
59635         * modules/unilbrk/gen-lbrk: New file.
59636
59637 2008-05-11  Bruno Haible  <bruno@clisp.org>
59638
59639         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
59640         * m4/sha512.m4 (gl_SHA512): Likewise.
59641
59642 2008-05-11  Jim Meyering  <meyering@redhat.com>
59643
59644         New modules: crypto/sha256, crypto/sha512 (from coreutils)
59645         * modules/crypto/sha256: New file.
59646         * modules/crypto/sha512: Likewise.
59647         * lib/sha256.c: Likewise.
59648         * lib/sha256.h: Likewise.
59649         * lib/sha512.c: Likewise.
59650         * lib/sha512.h: Likewise.
59651         * lib/u64.h: Likewise.
59652         * m4/sha256.m4: Likewise.
59653         * m4/sha512.m4: Likewise.
59654         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
59655
59656 2008-05-10  Bruno Haible  <bruno@clisp.org>
59657
59658         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
59659         (Input/Output <stdio.h>): Add xprintf.
59660         (Signal handling <signal.h>): Add strsignal.
59661         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
59662         (Core language properties): Add func.
59663         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
59664         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
59665         strings.
59666         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
59667         (Input/output): New section.
59668         (File system functions): Add openat-die, stat-macros.
59669         (Networking functions): Add sockets.
59670         (Unicode string functions): Add unictype/*.
59671         (Support for building libraries and executables): Add gperf.
59672         (Support for building documentation): Add agpl-3.0.
59673         (Misc): Add nocrash.
59674
59675 2008-05-10  Bruno Haible  <bruno@clisp.org>
59676
59677         * modules/unictype/gen-ctype: New file.
59678
59679 2008-05-10  Jim Meyering  <meyering@redhat.com>
59680
59681         Make chdir-safer.c more efficient on a system with no symlinks.
59682         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
59683         also if ELOOP is zero.  Suggested by Bruno Haible.
59684
59685         Make chdir-safer.c slightly safer.
59686         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
59687         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
59688
59689         Avoid compile failure on systems without ELOOP (like mingw).
59690         * lib/chdir-safer.c (ELOOP): Define if not already defined.
59691         Reported by Bruno Haible.
59692
59693 2008-05-10  Bruno Haible  <bruno@clisp.org>
59694
59695         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
59696         (is_utf8_encoding): Use a case-insensitive comparison.
59697         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
59698         streq.
59699
59700 2008-05-10  Bruno Haible  <bruno@clisp.org>
59701
59702         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
59703         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
59704         * lib/unilbrk/ulc-common.h (iconv_string_length,
59705         iconv_string_keeping_offsets): Remove declarations.
59706         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
59707         Don't include <iconv.h>, streq.h, xsize.h.
59708         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
59709         conversion.
59710         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
59711         <iconv.h>, streq.h, xsize.h.
59712         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
59713         conversion.
59714         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
59715         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
59716         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
59717         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
59718
59719 2008-05-10  Bruno Haible  <bruno@clisp.org>
59720
59721         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
59722         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
59723
59724         * modules/unilbrk/u32-width-linebreaks-tests: New file.
59725         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
59726
59727         * modules/unilbrk/u16-width-linebreaks-tests: New file.
59728         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
59729
59730         * modules/unilbrk/u8-width-linebreaks-tests: New file.
59731         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
59732
59733         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
59734         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
59735
59736         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
59737         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
59738
59739         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
59740         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
59741
59742         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
59743         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
59744
59745 2008-05-10  Bruno Haible  <bruno@clisp.org>
59746
59747         Split up 'linebreak' module.
59748         * lib/unilbrk.h: New file, based on lib/linebreak.h.
59749         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
59750         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
59751         modifications.
59752         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
59753         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
59754         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
59755         lib/linebreak.c.
59756         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
59757         lib/linebreak.c.
59758         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
59759         lib/linebreak.c.
59760         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
59761         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
59762         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
59763         lib/linebreak.c.
59764         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
59765         lib/linebreak.c.
59766         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
59767         lib/linebreak.c.
59768         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
59769         lib/linebreak.c.
59770         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
59771         lib/linebreak.c.
59772         * modules/unilbrk/base: New file.
59773         * modules/unilbrk/tables: New file.
59774         * modules/unilbrk/u8-possible-linebreaks: New file.
59775         * modules/unilbrk/u16-possible-linebreaks: New file.
59776         * modules/unilbrk/u32-possible-linebreaks: New file.
59777         * modules/unilbrk/ulc-common: New file.
59778         * modules/unilbrk/ulc-possible-linebreaks: New file.
59779         * modules/unilbrk/u8-width-linebreaks: New file.
59780         * modules/unilbrk/u16-width-linebreaks: New file.
59781         * modules/unilbrk/u32-width-linebreaks: New file.
59782         * modules/unilbrk/ulc-width-linebreaks: New file.
59783         * lib/linebreak.h: Remove file.
59784         * lib/linebreak.c: Remove file.
59785         * m4/linebreak.m4: Remove file.
59786         * modules/linebreak: Remove file.
59787         * NEWS: Mention the changes.
59788
59789 2008-05-09  Eric Blake  <ebb9@byu.net>
59790
59791         Add xmemdup0.
59792         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
59793         implementation.
59794         * lib/xmalloc.c (xmemdup0): New C implementation.
59795
59796 2008-05-08  Bruno Haible  <bruno@clisp.org>
59797
59798         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
59799
59800 2008-05-07  Eric Blake  <ebb9@byu.net>
59801
59802         Support cross-compilation of <wctype.h>.
59803         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
59804         AC_CACHE_CHECK.
59805
59806 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
59807
59808         * build-aux/vc-list-files: Add support for bzr.
59809
59810 2008-05-03  Jim Meyering  <meyering@redhat.com>
59811
59812         avoid failed assertion with tight malloc
59813         * tests/test-getndelim2.c: Correct an off-by-one assertion.
59814
59815 2008-05-03  Simon Josefsson  <simon@josefsson.org>
59816
59817         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
59818         are needed from arpa/inet.h.
59819         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
59820         Reported by Bruno Haible.
59821
59822 2008-05-02  Jim Meyering  <meyering@redhat.com>
59823
59824         avoid compilation error on FreeBSD 6
59825         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
59826
59827 2008-05-01  Jim Meyering  <meyering@redhat.com>
59828
59829         useless-if-before-free: correct --help's exit status description
59830         * build-aux/useless-if-before-free (usage): Like grep, exit 0
59831         for one or more matches, etc.  Reported by Bruno Haible.
59832
59833         vc-list-files: make the stand-alone gnulib test work
59834         * modules/vc-list-files-tests (configure.ac):
59835         Define and AC_SUBST abs_aux_dir.
59836         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
59837         $(abs_top_srcdir) to each script and having each of them
59838         duplicate the work of setting PATH, set PATH here, using
59839         the new variable, abs_aux_dir instead.
59840         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
59841         * tests/test-vc-list-files-git.sh: Likewise.
59842         Reported by Bruno Haible.
59843
59844 2008-05-01  Bruno Haible  <bruno@clisp.org>
59845
59846         * lib/getndelim2.c (getndelim2): Fix newsize computation during
59847         reallocation. Rename 'done' to 'found_delimiter'.
59848
59849 2008-05-01  Jim Meyering  <meyering@redhat.com>
59850
59851         vc-list-files: accommodate /bin/sh like the one from Solaris 10
59852         * build-aux/vc-list-files: Use `...`, not $(...).
59853
59854 2008-04-30  Jim Meyering  <meyering@redhat.com>
59855
59856         add tests for vc-list-files
59857         * modules/vc-list-files-tests: New module.
59858         * tests/test-vc-list-files-cvs.sh: New file.
59859         * tests/test-vc-list-files-git.sh: New file.
59860
59861         avoid a warning from gcc
59862         * lib/getndelim2.c (IF_LINT): Define.
59863         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
59864
59865         vc-list-files: work properly with build-aux/cvsu, too
59866         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
59867         to all cvs-based clauses.
59868
59869         vc-list-files: work properly in the CVS+awk case, too
59870         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
59871
59872         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
59873         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
59874         take more than one file argument, so .  Add quotes, just in case $dir
59875         ever contains a shell meta-character.  Prompted by Soren Hansen in
59876         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
59877
59878 2008-04-29  Eric Blake  <ebb9@byu.net>
59879
59880         Optimize getndelim2 to use block operations when possible.
59881         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
59882         freadseek, and memchr2.
59883         * lib/getndelim2.c (getndelim2): Use them for block reads.
59884
59885 2008-04-29  Bruno Haible  <bruno@clisp.org>
59886
59887         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
59888         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59889         * modules/inet_ntop (Depends-on): Add extensions.
59890         * modules/inet_pton (Depends-on): Likewise.
59891         Reported by Simon Josefsson.
59892
59893 2008-04-29  Jim Meyering  <meyering@redhat.com>
59894
59895         When the is more than one match in a block, match all of them.
59896         * build-aux/useless-if-before-free: Iterate through each block
59897         until there are no more matches.
59898
59899         Fix broken useless-if-before-free script.
59900         * build-aux/useless-if-before-free: Fix typo: missing "?" after
59901         the expression to match cast of argument to free-like function.
59902
59903 2008-04-29  Eric Blake  <ebb9@byu.net>
59904
59905         Use new header.
59906         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
59907
59908 2008-04-29  Jim Meyering  <meyering@redhat.com>
59909
59910         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
59911         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
59912         by gnulib to exist and to declare e.g., inet_ntop.
59913         Don't include "inet_ntop.h", now removed.
59914
59915         * m4/arpa_inet_h.m4: Remove trailing blanks.
59916
59917 2008-04-29  Eric Blake  <ebb9@byu.net>
59918
59919         Silence valgrind on safe reads beyond potential array bounds.
59920         * lib/rawmemchr.valgrind: New file.
59921         * lib/strchrnul.valgrind: Likewise.
59922         * modules/rawmemchr (Files): Distribute new file.
59923         * modules/strchrnul (Files): Likewise.
59924         Suggested by Bruno Haible.
59925
59926 2008-04-29  Bruno Haible  <bruno@clisp.org>
59927
59928         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
59929         (inet_ntop, inet_pton): Change portability warning's wording.
59930         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
59931         Invoke gl_CHECK_NEXT_HEADERS.
59932         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
59933         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
59934         set ARPA_INET_H.
59935         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59936         * modules/arpa_inet (Description): No longer only for systems that
59937         lack it.
59938         (Depends-on): Add include_next.
59939         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
59940         HAVE_ARPA_INET_H.
59941
59942 2008-04-29  Jim Meyering  <meyering@redhat.com>
59943
59944         * modules/mkdir (License): Re-license as LGPLv2+.
59945
59946 2008-04-29  Bruno Haible  <bruno@clisp.org>
59947
59948         * modules/rawmemchr (Maintainer): Set to Eric.
59949         * modules/strchrnul (Maintainer): Likewise.
59950
59951 2008-04-29  Simon Josefsson  <simon@josefsson.org>
59952
59953         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
59954         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
59955
59956         * modules/arpa_inet (arpa/inet.h): Use them.
59957
59958 2008-04-28  Eric Blake  <ebb9@byu.net>
59959
59960         Test getndelim2.
59961         * modules/getndelim2-tests: New file.
59962         * tests/test-getndelim2.c: Likewise.
59963         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
59964         stream.
59965         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
59966
59967         * MODULES.html.sh: Document new module.
59968
59969 2008-04-20  Bruno Haible  <bruno@clisp.org>
59970
59971         * lib/c-stack.c (die): Use raise.
59972         * modules/c-stack (Depends-on): Add raise.
59973
59974 2008-04-28  Bruno Haible  <bruno@clisp.org>
59975
59976         Expect rpmatch to be declared.
59977         * lib/yesno.c (rpmatch): Remove declaration.
59978
59979         Declare rpmatch.
59980         * lib/stdlib.in.h (rpmatch): New declaration.
59981         * lib/rpmatch.c: Include <stdlib.h> first.
59982         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
59983         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
59984         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
59985         HAVE_RPMATCH.
59986         * modules/rpmatch (Depends-on): Add stdlib, extensions.
59987         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59988         (Include): Set to <stdlib.h>.
59989         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
59990         HAVE_RPMATCH.
59991         * NEWS: Document the change.
59992
59993 2008-04-28  Bruno Haible  <bruno@clisp.org>
59994
59995         Change rpmatch to use nl_langinfo when appropriate.
59996         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
59997         (N_): New macro.
59998         (localized_pattern): New function/macro.
59999         (try): Remove match, nomatch arguments. Copy the pattern into safe
60000         memory before caching it.
60001         (rpmatch): Use localized_pattern. Add translator comments.
60002         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
60003         Suggested by Eric Blake.
60004         * modules/rpmatch (Depends-on): Add stdbool.
60005
60006 2008-04-28  Eric Blake  <ebb9@byu.net>
60007
60008         Add rawmemchr module, matching glibc.
60009         * modules/string (Makefile.am): New indicator.
60010         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
60011         * lib/string.in.h (rawmemchr): Declare when appropriate.
60012         * modules/rawmemchr: New file.
60013         * m4/rawmemchr.m4: Likewise.
60014         * lib/rawmemchr.c: Likewise.
60015         * modules/rawmemchr-tests: Likewise.
60016         * tests/test-rawmemchr.c: Likewise.
60017         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
60018         module.
60019         * modules/strchrnul (Depends-on): Add rawmemchr.
60020         * lib/strchrnul.c (strchrnul): Optimize a corner case.
60021
60022         Whitespace cleanup.
60023         * tests/test-strchrnul.c: Reindent.
60024         * lib/strchrnul.c: Likewise.
60025
60026         Optimize and test strchrnul.
60027         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
60028         * modules/strchrnul-tests: New file.
60029         * tests/test-strchrnul.c: Likewise.
60030
60031         Remove intprops dependency.
60032         * modules/memchr (Depends-on): Remove intprops.
60033         * modules/memrchr (Depends-on): Likewise.
60034         * modules/memchr2 (Depends-on): Likewise.
60035         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
60036         * lib/memrchr.c (__memrchr): Likewise.
60037         * lib/memrchr2.c (memchr2): Likewise.
60038         Reported by Simon Josefsson.
60039
60040 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60041
60042         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
60043         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60044
60045 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60046
60047         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
60048
60049         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
60050
60051         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
60052
60053         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
60054         declarations.
60055         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
60056
60057         * m4/inet_pton.m4: Don't check for header files.
60058
60059         * m4/inet_ntop.m4: Don't check for header files.
60060
60061 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60062
60063         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
60064         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
60065         trigger for cygwin).
60066         Reported by Bruno Haible  <bruno@clisp.org>.
60067
60068 2008-04-28  Bruno Haible  <bruno@clisp.org>
60069
60070         * doc/posix-functions/strdup.texi: Mention mingw problem.
60071
60072 2008-04-27  Bruno Haible  <bruno@clisp.org>
60073
60074         * modules/stat-time-tests (Depends-on): Add sleep.
60075         * tests/test-stat-time.c (force_unlink): New function.
60076         (cleanup): Use it.
60077         (test_mtime): Remove the ctime related tests.
60078         (test_ctime): New function, containing the ctime related tests.
60079         (main): Call test_ctime, except on native Windows platforms.
60080
60081 2008-04-27  Bruno Haible  <bruno@clisp.org>
60082
60083         * lib/rpmatch.c (rpmatch): Add some comments.
60084         Reported by James Youngman <jay@gnu.org>.
60085
60086 2008-04-27  Bruno Haible  <bruno@clisp.org>
60087
60088         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
60089         quiet NaNs.
60090
60091 2008-04-27  Bruno Haible  <bruno@clisp.org>
60092
60093         Make test-yesno.sh work on mingw.
60094         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
60095         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
60096         (main): Set stdin to binary mode.
60097         * modules/yesno-tests (Depends-on): Add binary-io.
60098
60099 2008-04-27  Bruno Haible  <bruno@clisp.org>
60100
60101         Fix 'isfinite' on x86, x86_64, ia64 platforms.
60102         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
60103         argument that lie outside the IEEE 854 domain.
60104         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
60105         (gl_ISFINITE): Use it.
60106         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
60107
60108 2008-04-27  Bruno Haible  <bruno@clisp.org>
60109
60110         Allow local renaming in config.h.
60111         * lib/memrchr.c (memrchr): Don't undefine outside libc.
60112
60113 2008-04-27  Bruno Haible  <bruno@clisp.org>
60114
60115         * lib/memchr.c (__memchr): Change type of 'i'.
60116         * lib/memchr2.c (memchr2): Likewise.
60117
60118 2008-04-26  Eric Blake  <ebb9@byu.net>
60119         and Bruno Haible  <bruno@clisp.org>
60120
60121         Optimize and test memrchr.
60122         * modules/memrchr (Depends-on): Add intprops.
60123         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
60124         * modules/memrchr-tests: New file.
60125         * tests/test-memrchr.c: New file.
60126
60127 2008-04-26  Bruno Haible  <bruno@clisp.org>
60128
60129         Add tentative support for DragonFly BSD.
60130         * lib/stdio-impl.h: Add macros for DragonFly BSD.
60131         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
60132         fp.
60133         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
60134         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
60135         * lib/fpurge.c (fpurge): Likewise.
60136         * lib/freadable.c (freaadable): Likewise.
60137         * lib/freadahead.c (freadahead): Likewise.
60138         * lib/freading.c (freading): Likewise.
60139         * lib/freadptr.c (freadptr): Likewise.
60140         * lib/freadseek.c (freadptrinc): Likewise.
60141         * lib/fseeko.c (fseeko): Likewise.
60142         * lib/fseterr.c (fseterr): Likewise.
60143         * lib/fwritable.c (fwritable): Likewise.
60144         * lib/fwriting.c (fwriting): Likewise.
60145
60146 2008-04-26  Bruno Haible  <bruno@clisp.org>
60147
60148         * lib/stdio-impl.h: New file.
60149         * lib/fbufmode.c: Include stdio-impl.h.
60150         (fbufmode): Use fp_, remove redundant #defines.
60151         * lib/fflush.c: Include stdio-impl.h.
60152         (clear_ungetc_buffer): Remove redundant #defines.
60153         * lib/fpurge.c: Include stdio-impl.h.
60154         (fpurge): Remove redundant #defines.
60155         * lib/freadable.c: Include stdio-impl.h.
60156         (freadable): Remove redundant #defines.
60157         * lib/freadahead.c: Include stdio-impl.h.
60158         (freadahead): Remove redundant #defines.
60159         * lib/freading.c: Include stdio-impl.h.
60160         (freading): Remove redundant #defines.
60161         * lib/freadptr.c: Include stdio-impl.h.
60162         (freadptr): Remove redundant #defines.
60163         * lib/freadseek.c: Include stdio-impl.h.
60164         (freadptrinc): Remove redundant #defines.
60165         * lib/fseeko.c: Include stdio-impl.h.
60166         (rpl_fseeko): Remove redundant #defines.
60167         * lib/fseterr.c: Include stdio-impl.h.
60168         (fseterr): Remove redundant #defines.
60169         * lib/fwritable.c: Include stdio-impl.h.
60170         (fwritable: Remove redundant #defines.
60171         * lib/fwriting.c: Include stdio-impl.h.
60172         (fwriting): Remove redundant #defines.
60173         * modules/fbufmode (Files): Add lib/stdio-impl.h.
60174         * modules/fflush (Files): Likewise.
60175         * modules/fpurge (Files): Likewise.
60176         * modules/freadable (Files): Likewise.
60177         * modules/freadahead (Files): Likewise.
60178         * modules/freading (Files): Likewise.
60179         * modules/freadptr (Files): Likewise.
60180         * modules/freadseek (Files): Likewise.
60181         * modules/fseeko (Files): Likewise.
60182         * modules/fseterr (Files): Likewise.
60183         * modules/fwritable (Files): Likewise.
60184         * modules/fwriting (Files): Likewise.
60185
60186 2008-04-26  Bruno Haible  <bruno@clisp.org>
60187
60188         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
60189         restore_seek_optimization, update_fpos_cache): New functions, extracted
60190         from rpl_fflush.
60191         (rpl_fflush): Use them.
60192         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
60193         (gl_REPLACE_FFLUSH): Use it.
60194
60195 2008-04-26  Bruno Haible  <bruno@clisp.org>
60196
60197         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
60198         on Solaris.
60199         * tests/test-xstrtoimax.sh: Likewise.
60200         * tests/test-xstrtoumax.sh: Likewise.
60201         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60202
60203 2008-04-26  Bruno Haible  <bruno@clisp.org>
60204
60205         * modules/memchr-tests: New file.
60206         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
60207
60208 2008-04-26  Eric Blake  <ebb9@byu.net>
60209             Bruno Haible  <bruno@clisp.org>
60210
60211         * lib/memchr.c: Include intprops.h.
60212         (__memchr): Optimize parallel detection of matching bytes. Rename local
60213         variables. Add explanatory comments.
60214
60215 2008-04-26  Bruno Haible  <bruno@clisp.org>
60216
60217         Fix module 'memchr', broken since 2000-10-28.
60218         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
60219
60220 2008-04-26  Bruno Haible  <bruno@clisp.org>
60221
60222         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
60223         comments.
60224
60225 2008-04-25  Eric Blake  <ebb9@byu.net>
60226
60227         Use native fstatat on cygwin 1.7.0.
60228         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
60229         first.
60230
60231 2008-04-23  Eric Blake  <ebb9@byu.net>
60232
60233         Improve memchr2 performance.
60234         * lib/memchr2.c (memchr2): Further optimize parallel detection of
60235         NUL bytes.
60236         * modules/memchr2 (Depends-on): Use intprops.h.
60237
60238 2008-04-23  Simon Josefsson  <simon@josefsson.org>
60239
60240         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
60241         an inline function instead of a CPP macro.  Patch by Ben Pfaff
60242         <blp@cs.stanford.edu>.
60243
60244 2008-04-23  Simon Josefsson  <simon@josefsson.org>
60245
60246         * lib/arpa_inet.in.h: New file.
60247
60248         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
60249         (Makefile.am): Sed in substitute header file.
60250
60251         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
60252         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
60253
60254         * modules/inet_ntop (configure.ac): Use
60255         gl_ARPA_INET_MODULE_INDICATOR.
60256
60257         * modules/inet_pton (configure.ac): Use
60258         gl_ARPA_INET_MODULE_INDICATOR.
60259
60260 2008-04-22  Jim Meyering  <meyering@redhat.com>
60261
60262         * modules/verify (License): Re-license as LGPLv2+.
60263
60264 2008-04-22  Simon Josefsson  <simon@josefsson.org>
60265
60266         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
60267         parameter to void* as per POSIX standard (MinGW uses char*).
60268
60269 2008-04-21  Bruno Haible  <bruno@clisp.org>
60270
60271         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60272         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
60273         Define to replacements if REPLACE_ISWCNTRL is 1.
60274         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
60275         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
60276         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
60277         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
60278         what it fixes.
60279         * doc/posix-functions/iswalpha.texi: Likewise.
60280         * doc/posix-functions/iswblank.texi: Likewise.
60281         * doc/posix-functions/iswcntrl.texi: Likewise.
60282         * doc/posix-functions/iswdigit.texi: Likewise.
60283         * doc/posix-functions/iswgraph.texi: Likewise.
60284         * doc/posix-functions/iswlower.texi: Likewise.
60285         * doc/posix-functions/iswprint.texi: Likewise.
60286         * doc/posix-functions/iswpunct.texi: Likewise.
60287         * doc/posix-functions/iswspace.texi: Likewise.
60288         * doc/posix-functions/iswupper.texi: Likewise.
60289         * doc/posix-functions/iswxdigit.texi: Likewise.
60290         Reported by Alain Guibert.
60291
60292 2008-04-21  Bruno Haible  <bruno@clisp.org>
60293
60294         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
60295         Patch by Alain Guibert.
60296
60297 2008-04-21  Bruno Haible  <bruno@clisp.org>
60298
60299         Fix test failures on mingw.
60300         * tests/test-xstrtol.c (print_no_progname): New function.
60301         (main): Install it in error_print_progname hook.
60302         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
60303         * tests/test-xstrtoimax.sh: Likewise.
60304         * tests/test-xstrtoumax.sh: Likewise.
60305
60306 2008-04-21  Bruno Haible  <bruno@clisp.org>
60307
60308         Fix test failure on mingw.
60309         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
60310
60311 2008-04-21  Bruno Haible  <bruno@clisp.org>
60312
60313         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
60314         Actually assign a value.
60315
60316 2008-04-20  Bruno Haible  <bruno@clisp.org>
60317
60318         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
60319         take 2.
60320         * lib/canonicalize.c (canonicalize_file_name): Elide if the
60321         'canonicalize-lgpl' module is also used.
60322         * lib/canonicalize-lgpl.c: Undo last change.
60323         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
60324
60325 2008-04-20  Bruno Haible  <bruno@clisp.org>
60326
60327         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
60328         config.h. Provide _mkdir based fallback for mingw.
60329         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
60330         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
60331         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
60332         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
60333         rather than defining mkdir in config.h.
60334         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
60335         (gl_SYS_STAT_H_DEFAULTS): New macro.
60336         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
60337         HAVE_IO_H any more.
60338         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
60339         HAVE_DECL_MKDIR and HAVE_IO_H.
60340
60341 2008-04-20  Bruno Haible  <bruno@clisp.org>
60342
60343         * lib/isapipe.c: Port to native Windows platforms.
60344
60345 2008-04-20  Bruno Haible  <bruno@clisp.org>
60346
60347         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
60348
60349 2008-04-21  Eric Blake  <ebb9@byu.net>
60350
60351         Work around preprocessors that don't handle UINTMAX_MAX.
60352         * lib/memchr2.c (memchr2): Avoid embedded #if.
60353         Reported by Alain Guibert, fix suggested by Bruno Haible.
60354
60355 2008-04-21  Simon Josefsson  <simon@josefsson.org>
60356
60357         * doc/posix-functions/strftime.texi (strftime): Explain better
60358         Windows incompatibility.  Suggested by Micah Cowan
60359         <micah@cowan.name>.
60360
60361 2008-04-20  Bruno Haible  <bruno@clisp.org>
60362
60363         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
60364         unistr/u8-mblen.
60365
60366 2008-04-20  Bruno Haible  <bruno@clisp.org>
60367
60368         Fix test failure on platforms with non-GNU iconv.
60369         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
60370         (U_TO_U8): Use it, rather than u16_to_u8.
60371         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
60372         units at the end of the input string.
60373         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
60374
60375 2008-04-20  Bruno Haible  <bruno@clisp.org>
60376
60377         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
60378         when the resulting length is 0.
60379         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
60380
60381 2008-04-20  Bruno Haible  <bruno@clisp.org>
60382
60383         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
60384         works.
60385         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
60386
60387 2008-04-20  Bruno Haible  <bruno@clisp.org>
60388
60389         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
60390         * modules/tsearch-tests (configure.ac): Test for initstate function.
60391
60392 2008-04-20  Bruno Haible  <bruno@clisp.org>
60393
60394         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
60395         for nlink_t if missing.
60396         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
60397
60398 2008-04-19  Bruno Haible  <bruno@clisp.org>
60399
60400         Work around snprintf bug on Linux libc5.
60401         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
60402         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60403         gl_SNPRINTF_SIZE1.
60404         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60405         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
60406         that test failed.
60407         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
60408         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
60409         * modules/snprintf (Files): Add m4/printf.m4.
60410         * modules/vsnprintf (Files): Likewise.
60411         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
60412         * doc/posix-functions/vsnprintf.texi: Likewise.
60413
60414 2008-04-19  Bruno Haible  <bruno@clisp.org>
60415
60416         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
60417         from 0.0058 to less than 10^-7.
60418
60419 2008-04-19  Bruno Haible  <bruno@clisp.org>
60420
60421         Fix rounding when a precision is given.
60422         * lib/vasnprintf.c (is_borderline): New function.
60423         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
60424         9...9x.
60425         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
60426         %e, %g.
60427         * tests/test-vasprintf-posix.c (test_function): Likewise.
60428         * tests/test-snprintf-posix.h (test_function): Likewise.
60429         * tests/test-sprintf-posix.h (test_function): Likewise.
60430         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
60431         * tests/test-printf-posix.h (test_function): Likewise.
60432         * tests/test-printf-posix.output: Update.
60433         Reported by John Darrington <john@darrington.wattle.id.au> via
60434         Ben Pfaff <blp@cs.stanford.edu>.
60435
60436 2008-04-18  Simon Josefsson  <simon@josefsson.org>
60437
60438         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
60439         Suggested by Bruno Haible <bruno@clisp.org>.
60440
60441 2008-04-17  Bruno Haible  <bruno@clisp.org>
60442
60443         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
60444         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
60445         implementation.
60446         Patch by Bruce Merry <bmerry@gmail.com>.
60447
60448 2008-04-17  Simon Josefsson  <simon@josefsson.org>
60449
60450         * doc/posix-functions/strftime.texi (strftime): Mention that %e
60451         doesn't work under Windows.
60452
60453 2008-04-16  Bruno Haible  <bruno@clisp.org>
60454
60455         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
60456         New macros.
60457         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
60458         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
60459         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
60460         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
60461         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
60462         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
60463         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
60464         macros.
60465         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
60466         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
60467         Northern Sotho, Uighur.
60468
60469 2008-04-16  Bruno Haible  <bruno@clisp.org>
60470
60471         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
60472         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
60473         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
60474         Reported by Daniel Bergström <daniel@octocode.com>.
60475
60476 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
60477             Bruno Haible  <bruno@clisp.org>
60478
60479         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
60480         function.
60481         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
60482         New functions, mostly extracted from gl_locale_name_default.
60483         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
60484
60485 2008-04-16  Eric Blake  <ebb9@byu.net>
60486
60487         Adjust strtod detection to catch glibc 2.7 bug.
60488         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
60489         Reported by John Gatewood Ham.
60490
60491 2008-04-16  Bruno Haible  <bruno@clisp.org>
60492
60493         Add tentative support for Linux libc5.
60494         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
60495         * lib/fpurge.c (fpurge): Likewise.
60496         * lib/freadable.c (freadable): Likewise.
60497         * lib/freadahead.c (freadahead): Likewise.
60498         * lib/freading.c (freading): Likewise.
60499         * lib/freadptr.c (freadptr): Likewise.
60500         * lib/freadseek.c (freadptrinc): Likewise.
60501         * lib/fseeko.c (rpl_fseeko): Likewise.
60502         * lib/fseterr.c (fseterr): Likewise.
60503         * lib/fwritable.c (fwritable): Likewise.
60504         * lib/fwriting.c (fwriting): Likewise.
60505         Reported by Alain Guibert <alguibert+bts@free.fr>.
60506
60507 2008-04-15  Bruno Haible  <bruno@clisp.org>
60508
60509         * modules/mathl (configure.ac): Define module indicator.
60510
60511 2008-04-15  Bruno Haible  <bruno@clisp.org>
60512
60513         * lib/logl.c (logl): Remove unused variables.
60514
60515 2008-04-15  Bruno Haible  <bruno@clisp.org>
60516
60517         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
60518         fails.
60519
60520 2008-04-15  Bruno Haible  <bruno@clisp.org>
60521
60522         * lib/trim.c (trim2): Fix argument of isspace() macro.
60523
60524 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
60525
60526         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
60527         to 0.
60528         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
60529
60530 2008-04-14  Bruno Haible  <bruno@clisp.org>
60531
60532         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
60533         AC_LANG_PROGRAM argument.
60534         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
60535         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
60536         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
60537         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
60538         * m4/math_h.m4 (gl_MATH_H): Likewise.
60539         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
60540         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60541         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
60542         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
60543         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
60544         * m4/regex.m4 (gl_REGEX): Likewise.
60545         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
60546         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
60547         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
60548         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
60549         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60550         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
60551         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60552         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
60553
60554 2008-04-14  Jim Meyering  <meyering@redhat.com>
60555
60556         test-strtod: fix typos: s/abs/fabs/
60557         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
60558
60559 2008-04-13  Bruno Haible  <bruno@clisp.org>
60560
60561         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
60562         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
60563         module is also used and while not building the reloc-wrapper.
60564
60565 2008-04-13  Bruno Haible  <bruno@clisp.org>
60566
60567         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
60568
60569 2008-04-13  Bruno Haible  <bruno@clisp.org>
60570
60571         Fix AIX compilation failure introduced on 2008-04-02.
60572         * tests/test-frexp.c (exp): Undefine before redefining.
60573         * tests/test-frexpl.c (exp): Likewise.
60574
60575 2008-04-13  Bruno Haible  <bruno@clisp.org>
60576
60577         Work around a HP-UX stdio bug.
60578         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
60579         * tests/test-ftello.c (main): Likewise.
60580         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
60581         * doc/posix-functions/ftello.texi: Likewise.
60582
60583 2008-04-13  Bruno Haible  <bruno@clisp.org>
60584
60585         Make test-signbit pass on HP-UX/hppa.
60586         * tests/test-signbit.c (minus_zerol): New variable.
60587         (test_signbitl): Use it.
60588
60589 2008-04-13  Bruno Haible  <bruno@clisp.org>
60590
60591         Make truncl work on OSF/1 4.0.
60592         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
60593         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60594         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60595         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
60596         HAVE_DECL_TRUNCL.
60597         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
60598         HAVE_DECL_TRUNCL.
60599         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
60600
60601 2008-04-13  Bruno Haible  <bruno@clisp.org>
60602
60603         * lib/unictype.h: Remove trailing comma from enumeration definitions.
60604
60605 2008-04-13  Bruno Haible  <bruno@clisp.org>
60606
60607         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
60608         expression, so as to avoid HP-UX 11 cc compiler bug.
60609
60610 2008-04-13  Bruno Haible  <bruno@clisp.org>
60611
60612         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
60613
60614 2008-04-13  Bruno Haible  <bruno@clisp.org>
60615
60616         * lib/git-merge-changelog.c: Remove empty declaration outside of
60617         functions.
60618
60619 2008-04-13  Bruno Haible  <bruno@clisp.org>
60620
60621         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
60622
60623 2008-04-13  Bruno Haible  <bruno@clisp.org>
60624
60625         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
60626         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
60627         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
60628         also if it exists but lacks definitions of the SHUT_* macros.
60629         * modules/sys_socket (Description): Update.
60630         Reported by Elbert Pol <e.pol@chello.nl>.
60631
60632 2008-04-13  Bruno Haible  <bruno@clisp.org>
60633
60634         * lib/localcharset.c (OS2): Don't redefine if already defined.
60635         Reported by Elbert Pol <e.pol@chello.nl>.
60636
60637 2008-04-13  Bruno Haible  <bruno@clisp.org>
60638
60639         * lib/binary-io.h [__EMX__]: Include <io.h>.
60640         Reported by Elbert Pol <e.pol@chello.nl>.
60641
60642 2008-04-12  Bruno Haible  <bruno@clisp.org>
60643
60644         * lib/fpucw.h: Enable the definitions also for x86_64.
60645         Needed for NetBSD/x86_64.
60646         Reported by Thomas Klausner <tk@giga.or.at>.
60647
60648 2008-04-12  Bruno Haible  <bruno@clisp.org>
60649
60650         * tests/test-strtod.c: Include isnand.h.
60651         (main): Use isnand instead of isnan.
60652         Reported by Jim Meyering.
60653
60654 2008-04-12  Bruno Haible  <bruno@clisp.org>
60655
60656         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
60657         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
60658
60659 2008-04-12  Jim Meyering  <meyering@redhat.com>
60660
60661         * m4/math_h.m4 (gl_MATH_H): Fix typos.
60662
60663 2008-04-12  Bruno Haible  <bruno@clisp.org>
60664
60665         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
60666         Reported by Elbert Pol <e.pol@chello.nl>.
60667
60668 2008-04-12  Eric Blake  <ebb9@byu.net>
60669
60670         Work around Solaris 10 math.h bug.
60671         * m4/math_h.m4 (gl_MATH_H): Check for bug.
60672         (gl_MATH_H_DEFAULTS): Set up default.
60673         * modules/math (Makefile.am): Replace new indicators.
60674         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
60675         * tests/test-math.c (main): Test this.
60676         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
60677         * doc/posix-headers/math.texi (math.h): Mention bug.
60678         Reported by Nelson H. F. Beebe and Jim Meyering.
60679
60680 2008-04-11  Bruno Haible  <bruno@clisp.org>
60681
60682         Adapt to future versions of Apple GCC.
60683         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
60684         Reported by Peter O'Gorman <peter@pogma.com>.
60685
60686 2008-04-11  Bruno Haible  <bruno@clisp.org>
60687
60688         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
60689
60690 2008-04-11  Bruno Haible  <bruno@clisp.org>
60691
60692         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
60693
60694         * modules/getaddrinfo-tests (Makefile.am): Define
60695         test_getaddrinfo_LDADD.
60696
60697 2008-04-11  Bruno Haible  <bruno@clisp.org>
60698
60699         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
60700         (init): Fix syntax error.
60701         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
60702         is declared.
60703
60704 2008-04-11  Bruno Haible  <bruno@clisp.org>
60705
60706         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
60707         * modules/glob (Depends-on): Add stdbool.
60708
60709 2008-04-11  Bruno Haible  <bruno@clisp.org>
60710
60711         * lib/trim.c: Include <string.h>.
60712
60713 2008-04-11  Eric Blake  <ebb9@byu.net>
60714
60715         Avoid compile failure on OS/2.
60716         * lib/regex_internal.h (internal_function): Disable optimization
60717         on OS/2 (__EMX__), where it caused compiler error.
60718         Reported by Elbert Pol.
60719
60720 2008-04-11  Bruno Haible  <bruno@clisp.org>
60721
60722         Flush the standard error stream before aborting. Needed on mingw.
60723         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
60724         * tests/test-array_list.c (ASSERT): Likewise.
60725         * tests/test-array_oset.c (ASSERT): Likewise.
60726         * tests/test-avltree_list.c (ASSERT): Likewise.
60727         * tests/test-avltree_oset.c (ASSERT): Likewise.
60728         * tests/test-avltreehash_list.c (ASSERT): Likewise.
60729         * tests/test-binary-io.c (ASSERT): Likewise.
60730         * tests/test-byteswap.c (ASSERT): Likewise.
60731         * tests/test-c-ctype.c (ASSERT): Likewise.
60732         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
60733         * tests/test-c-strcasestr.c (ASSERT): Likewise.
60734         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
60735         * tests/test-c-strstr.c (ASSERT): Likewise.
60736         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
60737         * tests/test-canonicalize.c (ASSERT): Likewise.
60738         * tests/test-carray_list.c (ASSERT): Likewise.
60739         * tests/test-ceilf1.c (ASSERT): Likewise.
60740         * tests/test-ceilf2.c (ASSERT): Likewise.
60741         * tests/test-ceill.c (ASSERT): Likewise.
60742         * tests/test-count-one-bits.c (ASSERT): Likewise.
60743         * tests/test-fbufmode.c (ASSERT): Likewise.
60744         * tests/test-fflush2.c (ASSERT): Likewise.
60745         * tests/test-floorf1.c (ASSERT): Likewise.
60746         * tests/test-floorf2.c (ASSERT): Likewise.
60747         * tests/test-floorl.c (ASSERT): Likewise.
60748         * tests/test-fopen.c (ASSERT): Likewise.
60749         * tests/test-fpending.c (ASSERT): Likewise.
60750         * tests/test-fprintf-posix.c (ASSERT): Likewise.
60751         * tests/test-fpurge.c (ASSERT): Likewise.
60752         * tests/test-freadable.c (ASSERT): Likewise.
60753         * tests/test-freadahead.c (ASSERT): Likewise.
60754         * tests/test-freading.c (ASSERT): Likewise.
60755         * tests/test-freadptr.c (ASSERT): Likewise.
60756         * tests/test-freadptr2.c (ASSERT): Likewise.
60757         * tests/test-freadseek.c (ASSERT): Likewise.
60758         * tests/test-freopen.c (ASSERT): Likewise.
60759         * tests/test-frexp.c (ASSERT): Likewise.
60760         * tests/test-frexpl.c (ASSERT): Likewise.
60761         * tests/test-fseek.c (ASSERT): Likewise.
60762         * tests/test-fseeko.c (ASSERT): Likewise.
60763         * tests/test-fstrcmp.c (ASSERT): Likewise.
60764         * tests/test-ftell.c (ASSERT): Likewise.
60765         * tests/test-ftello.c (ASSERT): Likewise.
60766         * tests/test-func.c (ASSERT): Likewise.
60767         * tests/test-fwritable.c (ASSERT): Likewise.
60768         * tests/test-fwriting.c (ASSERT): Likewise.
60769         * tests/test-getdelim.c (ASSERT): Likewise.
60770         * tests/test-getline.c (ASSERT): Likewise.
60771         * tests/test-i-ring.c (ASSERT): Likewise.
60772         * tests/test-iconv-utf.c (ASSERT): Likewise.
60773         * tests/test-iconv.c (ASSERT): Likewise.
60774         * tests/test-isfinite.c (ASSERT): Likewise.
60775         * tests/test-isnand.c (ASSERT): Likewise.
60776         * tests/test-isnanf.c (ASSERT): Likewise.
60777         * tests/test-isnanl.h (ASSERT): Likewise.
60778         * tests/test-ldexpl.c (ASSERT): Likewise.
60779         * tests/test-linked_list.c (ASSERT): Likewise.
60780         * tests/test-linkedhash_list.c (ASSERT): Likewise.
60781         * tests/test-localename.c (ASSERT): Likewise.
60782         * tests/test-lseek.c (ASSERT): Likewise.
60783         * tests/test-mbscasecmp.c (ASSERT): Likewise.
60784         * tests/test-mbscasestr1.c (ASSERT): Likewise.
60785         * tests/test-mbscasestr2.c (ASSERT): Likewise.
60786         * tests/test-mbscasestr3.c (ASSERT): Likewise.
60787         * tests/test-mbscasestr4.c (ASSERT): Likewise.
60788         * tests/test-mbschr.c (ASSERT): Likewise.
60789         * tests/test-mbscspn.c (ASSERT): Likewise.
60790         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
60791         * tests/test-mbspbrk.c (ASSERT): Likewise.
60792         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
60793         * tests/test-mbsrchr.c (ASSERT): Likewise.
60794         * tests/test-mbsspn.c (ASSERT): Likewise.
60795         * tests/test-mbsstr1.c (ASSERT): Likewise.
60796         * tests/test-mbsstr2.c (ASSERT): Likewise.
60797         * tests/test-mbsstr3.c (ASSERT): Likewise.
60798         * tests/test-memchr2.c (ASSERT): Likewise.
60799         * tests/test-memmem.c (ASSERT): Likewise.
60800         * tests/test-open.c (ASSERT): Likewise.
60801         * tests/test-printf-frexp.c (ASSERT): Likewise.
60802         * tests/test-printf-frexpl.c (ASSERT): Likewise.
60803         * tests/test-printf-posix.c (ASSERT): Likewise.
60804         * tests/test-quotearg.c (ASSERT): Likewise.
60805         * tests/test-rbtree_list.c (ASSERT): Likewise.
60806         * tests/test-rbtree_oset.c (ASSERT): Likewise.
60807         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
60808         * tests/test-round1.c (ASSERT): Likewise.
60809         * tests/test-roundf1.c (ASSERT): Likewise.
60810         * tests/test-roundl.c (ASSERT): Likewise.
60811         * tests/test-signbit.c (ASSERT): Likewise.
60812         * tests/test-sleep.c (ASSERT): Likewise.
60813         * tests/test-snprintf-posix.c (ASSERT): Likewise.
60814         * tests/test-snprintf.c (ASSERT): Likewise.
60815         * tests/test-sprintf-posix.c (ASSERT): Likewise.
60816         * tests/test-stat-time.c (ASSERT): Likewise.
60817         * tests/test-strcasestr.c (ASSERT): Likewise.
60818         * tests/test-strerror.c (ASSERT): Likewise.
60819         * tests/test-striconv.c (ASSERT): Likewise.
60820         * tests/test-striconveh.c (ASSERT): Likewise.
60821         * tests/test-striconveha.c (ASSERT): Likewise.
60822         * tests/test-strsignal.c (ASSERT): Likewise.
60823         * tests/test-strstr.c (ASSERT): Likewise.
60824         * tests/test-strtod.c (ASSERT): Likewise.
60825         * tests/test-trunc1.c (ASSERT): Likewise.
60826         * tests/test-trunc2.c (ASSERT): Likewise.
60827         * tests/test-truncf1.c (ASSERT): Likewise.
60828         * tests/test-truncf2.c (ASSERT): Likewise.
60829         * tests/test-truncl.c (ASSERT): Likewise.
60830         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
60831         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
60832         * tests/test-vasnprintf.c (ASSERT): Likewise.
60833         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
60834         * tests/test-vasprintf.c (ASSERT): Likewise.
60835         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
60836         * tests/test-vprintf-posix.c (ASSERT): Likewise.
60837         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
60838         * tests/test-vsnprintf.c (ASSERT): Likewise.
60839         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
60840         * tests/test-wcwidth.c (ASSERT): Likewise.
60841         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
60842         * tests/test-xprintf-posix.c (ASSERT): Likewise.
60843         * tests/test-xvasprintf.c (ASSERT): Likewise.
60844         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
60845         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
60846         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
60847         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
60848         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
60849         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
60850         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
60851         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
60852         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
60853         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
60854         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
60855         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
60856         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
60857         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
60858         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
60859         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
60860         * tests/unictype/test-block_list.c (ASSERT): Likewise.
60861         * tests/unictype/test-block_of.c (ASSERT): Likewise.
60862         * tests/unictype/test-block_test.c (ASSERT): Likewise.
60863         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
60864         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
60865         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
60866         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
60867         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
60868         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
60869         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
60870         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
60871         * tests/unictype/test-combining.c (ASSERT): Likewise.
60872         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
60873         * tests/unictype/test-digit.c (ASSERT): Likewise.
60874         * tests/unictype/test-mirror.c (ASSERT): Likewise.
60875         * tests/unictype/test-numeric.c (ASSERT): Likewise.
60876         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
60877         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
60878         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
60879         * tests/unictype/test-scripts.c (ASSERT): Likewise.
60880         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
60881         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
60882         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
60883         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
60884         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
60885         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
60886         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
60887         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
60888         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
60889         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
60890         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
60891         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
60892         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
60893         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
60894         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
60895         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
60896         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
60897         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
60898         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
60899         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
60900         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
60901         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
60902         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
60903         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
60904         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
60905         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
60906         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
60907         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
60908         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
60909         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
60910         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
60911         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
60912         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
60913         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
60914         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
60915         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
60916         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
60917         Reported by Eric Blake.
60918
60919 2008-04-11  Bruno Haible  <bruno@clisp.org>
60920
60921         * lib/wchar.in.h: Tweak comment.
60922
60923 2008-04-11  Bruno Haible  <bruno@clisp.org>
60924
60925         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
60926         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
60927         gl_COMMON.
60928         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
60929
60930 2008-04-11  Bruno Haible  <bruno@clisp.org>
60931
60932         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
60933
60934 2008-04-11  Simon Josefsson  <simon@josefsson.org>
60935
60936         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
60937         of attempting to use non-existing /dev/*random.  Based on patch
60938         from Adam Strzelecki <ono@java.pl> in
60939         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
60940
60941 2008-04-08  Bruno Haible  <bruno@clisp.org>
60942
60943         Add tentative support for emx+gcc.
60944         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
60945         * lib/fpurge.c (fpurge): Likewise.
60946         * lib/freadable.c (freadable): Likewise.
60947         * lib/freadahead.c (freadahead): Likewise.
60948         * lib/freading.c (freading): Likewise.
60949         * lib/freadptr.c (freadptr): Likewise.
60950         * lib/freadseek.c (freadptrinc): Likewise.
60951         * lib/fseeko.c (rpl_fseeko): Likewise.
60952         * lib/fseterr.c (fseterr): Likewise.
60953         * lib/fwritable.c (fwritable): Likewise.
60954         * lib/fwriting.c (fwriting): Likewise.
60955         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
60956
60957 2008-04-09  Eric Blake  <ebb9@byu.net>
60958
60959         Avoid some autoconf warnings.
60960         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
60961         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
60962         * m4/afs.m4 (gl_AFS): Likewise.
60963         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
60964         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
60965         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
60966         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
60967         (gl_INTEGER_TYPE_SUFFIX): Likewise.
60968         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
60969         (AC_CHECK_DECLS_ONCE): Likewise.
60970         Rename file...
60971         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
60972         gnulib-tool requires autoconf 2.59 or better.
60973         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
60974
60975 2008-04-08  Eric Blake  <ebb9@byu.net>
60976
60977         Use 'git describe --match' if present (added in git 1.5.5).
60978         * build-aux/git-version-gen: Limit result to tags that match 'v*'
60979         if possible.
60980
60981 2008-04-08  Bruno Haible  <bruno@clisp.org>
60982
60983         Add tentative support for OpenServer.
60984         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
60985         _ptr, _cnt.
60986         * lib/fpurge.c (fpurge): Likewise.
60987         * lib/freadable.c (freadable): Likewise.
60988         * lib/freadahead.c (freadahead): Likewise.
60989         * lib/freading.c (freading): Likewise.
60990         * lib/freadptr.c (freadptr): Likewise.
60991         * lib/freadseek.c (freadptrinc): Likewise.
60992         * lib/fseeko.c (rpl_fseeko): Likewise.
60993         * lib/fseterr.c (fseterr): Likewise.
60994         * lib/fwritable.c (fwritable): Likewise.
60995         * lib/fwriting.c (fwriting): Likewise.
60996         Reported by Roger Cornelius <rac@tenzing.org> and
60997         Brian K. White <brian@aljex.com>.
60998
60999 2008-04-06  Jim Meyering  <meyering@redhat.com>
61000
61001         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
61002
61003 2008-04-06  Bruno Haible  <bruno@clisp.org>
61004
61005         Avoid possible error with non-ASCII bytes in UTF-8 locales.
61006         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
61007         * tests/test-printf-posix.sh: Likewise.
61008         * tests/test-vfprintf-posix.sh: Likewise.
61009         * tests/test-vprintf-posix.sh: Likewise.
61010         * tests/test-xprintf-posix.sh: Likewise.
61011
61012 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61013
61014         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
61015         hide error from 'ls', needed on OS/2.
61016         Report by Elbert Pol <elbert.pol@gmail.com>.
61017
61018 2008-04-04  Eric Blake  <ebb9@byu.net>
61019
61020         Make test-fseeko.c failures meaningful.
61021         * tests/test-fseeko.c: Print line number on failure.
61022         * tests/test-fseek.c: Likewise.
61023         Reported by Nelson H. F. Beebe.
61024
61025         Improve strtod bug detection check.
61026         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
61027         required for Solaris 10.
61028         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
61029
61030 2008-04-04  Bruno Haible  <bruno@clisp.org>
61031
61032         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
61033         by m4/setenv.m4.
61034
61035 2008-04-03  Eric Blake  <ebb9@byu.net>
61036
61037         Ensure sane .version contents.
61038         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
61039         version string.
61040         * build-aux/git-version-gen: Improve documentation.
61041
61042         Make GNU make output nicer.
61043         * top/GNUmakefile [!_have-Makefile]: Add dependency on
61044         MAKECMDGOALS to enforce message for all command line targets.  Set
61045         srcdir for use in maint.mk.
61046
61047         Another maintainer tweak.
61048         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
61049         a target that regenerates version.
61050
61051 2008-04-03  Jim Meyering  <meyering@redhat.com>
61052
61053         vc-list-files: don't cause coreutils "make po-check" failure
61054         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
61055
61056 2008-04-03  Eric Blake  <ebb9@byu.net>
61057
61058         Allow VPATH usage of vc-list-files.
61059         * build-aux/vc-list-files (scriptversion): Add timestamp.
61060         (options): Add --help, --version, -C.
61061         (CVS): Support installed cvsu.
61062
61063 2008-04-02  Bruno Haible  <bruno@clisp.org>
61064
61065         Avoid some "statement with no effect" warnings from gcc.
61066         * tests/test-wctype.c (main): Explicitly ignore unused values.
61067         Reported by Jim Meyering.
61068
61069 2008-04-02  Jim Meyering  <meyering@redhat.com>
61070
61071         Avoid some warnings from "gcc -Wshadow".
61072         * tests/test-frexp.c (exp): Define to a different identifier.
61073         * tests/test-frexpl.c (exp): Likewise.
61074
61075 2008-04-03  Jim Meyering  <meyering@redhat.com>
61076
61077         bootstrap: remove dangling *.[ch] symlinks from lib
61078         * build-aux/bootstrap [dangling symlink removal]: Move find's
61079         -depth option to precede all others, to avoid a warning.
61080         Remove *.[ch] files too, and from "$source_base" (usually lib/).
61081
61082 2008-04-02  Bruno Haible  <bruno@clisp.org>
61083
61084         Avoid some warnings from "gcc -Wshadow".
61085         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
61086         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
61087         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
61088         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
61089         Reported by Jim Meyering.
61090
61091 2008-04-01  Bruno Haible  <bruno@clisp.org>
61092
61093         Fix test to work on IRIX 6.5 with cc.
61094         * tests/test-math.c (numeric_equal): New function.
61095         (main): Use it.
61096
61097 2008-04-01  Bruno Haible  <bruno@clisp.org>
61098
61099         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
61100
61101 2008-04-01  Bruno Haible  <bruno@clisp.org>
61102
61103         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
61104         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61105         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
61106         (Depends-on): Remove math.
61107
61108         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
61109         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61110         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
61111         (Depends-on): Remove math.
61112
61113         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
61114         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61115         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
61116         (Depends-on): Remove math.
61117         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
61118         (Depends-on): Remove math.
61119
61120         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
61121         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61122         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
61123         (Depends-on): Remove math.
61124         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
61125         (Depends-on): Remove math.
61126
61127         * tests/test-round1.c: Include nan.h.
61128         (main): Use NaNd instead of NAN.
61129         * modules/round-tests (Files): Add tests/nan.h.
61130
61131         * tests/test-trunc1.c: Include nan.h.
61132         (main): Use NaNd instead of NAN.
61133         * modules/trunc-tests (Files): Add tests/nan.h.
61134
61135         * tests/test-roundf1.c: Include nan.h.
61136         (main): Use NaNf instead of NAN.
61137         * modules/roundf-tests (Files): Add tests/nan.h.
61138
61139         * tests/test-truncf1.c: Include nan.h.
61140         (main): Use NaNf instead of NAN.
61141         * modules/truncf-tests (Files): Add tests/nan.h.
61142
61143         * tests/test-ceilf1.c: Include nan.h.
61144         (main): Use NaNf instead of NAN.
61145         * modules/ceilf-tests (Files): Add tests/nan.h.
61146
61147         * tests/test-floorf1.c: Include nan.h.
61148         (main): Use NaNf instead of NAN.
61149         * modules/floorf-tests (Files): Add tests/nan.h.
61150
61151         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
61152         (main): Use NaNf instead of NAN.
61153         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
61154
61155         * tests/test-isnand.c: Include nan.h instead of <math.h>.
61156         (main): Use NaNd instead of NAN.
61157         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
61158
61159         * tests/test-frexp.c: Include nan.h.
61160         (main): Use NaNd instead of NAN.
61161         * modules/frexp-tests (Files): Add tests/nan.h.
61162
61163         * lib/isnan.c: Don't include <math.h>.
61164         (FUNC): Don't use NAN macro.
61165         * modules/isnand-nolibm (Depends-on): Remove math.
61166         * modules/isnanf-nolibm (Depends-on): Remove math.
61167         * modules/isnanl (Depends-on): Remove math.
61168         * modules/isnanl-nolibm (Depends-on): Remove math.
61169
61170         * tests/nan.h: New file.
61171
61172 2008-04-01  Eric Blake  <ebb9@byu.net>
61173
61174         Fix typos.
61175         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
61176         values to be the right type.
61177
61178         For now, cater to gnulib strtod inaccuracies.
61179         * tests/test-strtod.c (main): Allow 1-ulp error on expected
61180         fractional results.  While not as nice from a QoI perspective, it
61181         is a quicker patch than correctly implementing decimal to binary
61182         rounding.
61183
61184 2008-03-31  Eric Blake  <ebb9@byu.net>
61185
61186         Guarantee a definition of NAN.
61187         * lib/math.in.h (NAN): Define if missing.
61188         * tests/test-math.c (main): Test it.
61189         * doc/posix-headers/math.texi (math.h): Document this.
61190         * lib/isnan.c (rpl_isnand): Use it.
61191         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
61192         * tests/test-floorf1.c (NaN): Likewise.
61193         * tests/test-frexp.c (NaN): Likewise.
61194         * tests/test-isnand.c (NaN): Likewise.
61195         * tests/test-isnanf.c (NaN): Likewise.
61196         * tests/test-round1.c (NaN): Likewise.
61197         * tests/test-roundf1.c (NaN): Likewise.
61198         * tests/test-snprintf-posix.h (NaN): Likewise.
61199         * tests/test-sprintf-posix.h (NaN): Likewise.
61200         * tests/test-trunc1.c (NaN): Likewise.
61201         * tests/test-truncf1.c (NaN): Likewise.
61202         * tests/test-vasnprintf-posix.c (NaN): Likewise.
61203         * tests/test-vasprintf-posix.c (NaN): Likewise.
61204         * modules/isnand-nolibm (Depends-on): Add math.
61205         * modules/isnanf-nolibm (Depends-on): Likewise.
61206         * modules/isnanl (Depends-on): Likewise.
61207         * modules/isnanl-nolibm (Depends-on): Likewise.
61208         * modules/snprintf-posix-tests (Depends-on): Likewise.
61209         * modules/sprintf-posix-tests (Depends-on): Likewise.
61210         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
61211         * modules/vsprintf-posix-tests (Depends-on): Likewise.
61212         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
61213         * modules/vasprintf-posix-tests (Depends-on): Likewise.
61214
61215 2008-03-31  Bruno Haible  <bruno@clisp.org>
61216
61217         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
61218         * doc/posix-functions/strtod.texi: Likewise.
61219
61220 2008-03-31  Bruno Haible  <bruno@clisp.org>
61221
61222         * tests/test-strtod.c (main): Don't use C99 syntax.
61223
61224 2008-03-31  Bruno Haible  <bruno@clisp.org>
61225
61226         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
61227         Reported by Eric Blake.
61228
61229 2008-03-31  Jim Meyering  <meyering@redhat.com>
61230
61231         Don't compare actual signbit return values.
61232         * tests/test-strtod.c (main): Rather, compare only their
61233         zero/non-zero nature.
61234
61235 2008-03-31  Eric Blake  <ebb9@byu.net>
61236
61237         More strtod documentation.
61238         * doc/posix-functions/strtod.texi (strtod): Interpret more test
61239         failures as distinct bugs.
61240
61241 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
61242
61243         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
61244         Problem reported by Erik Benada in
61245         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
61246
61247 2008-03-30  Bruno Haible  <bruno@clisp.org>
61248
61249         * tests/test-strtod.c: Add comments about which assertion fails on which
61250         platform.
61251         * doc/posix-functions/strtod.texi: Add info about many more platforms.
61252
61253 2008-03-30  Eric Blake  <ebb9@byu.net>
61254
61255         Test signbit behavior on zeros.
61256         * tests/test-signbit.c (test_signbitf): Add tests for zero.
61257         (test_signbitd, test_signbitl): Likewise.
61258
61259         More strtod touchups.
61260         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
61261         sign of negative underflow, for now.  Use .5, not .1.
61262         * doc/posix-functions/strtod.texi (strtod): Mention these
61263         limitations.
61264         Reported by Jim Meyering.
61265
61266 2008-03-30  Bruno Haible  <bruno@clisp.org>
61267
61268         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
61269         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
61270
61271 2008-03-30  Bruno Haible  <bruno@clisp.org>
61272
61273         Avoid failure when attempting to return empty iconv results on some
61274         platforms.
61275         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
61276         allocation, don't report ENOMEM when the resulting string is empty.
61277
61278 2008-03-30  Bruno Haible  <bruno@clisp.org>
61279
61280         Fix buffer overrun.
61281         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
61282         Don't consider the width for tmp_length. Check count against tmp_length
61283         before doing the padding. Ensure enough allocation during padding.
61284
61285 2008-03-30  Eric Blake  <ebb9@byu.net>
61286
61287         strtod touchups.
61288         * lib/strtod.c (strtod): Avoid compiler warnings.
61289         Reported by Jim Meyering.
61290
61291 2008-03-30  Bruno Haible  <bruno@clisp.org>
61292
61293         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
61294         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
61295         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
61296         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
61297         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
61298         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
61299         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
61300         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
61301
61302         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
61303         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
61304         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
61305         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
61306         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
61307         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
61308         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
61309         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
61310
61311         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
61312         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
61313         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
61314         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
61315         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
61316         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
61317         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
61318         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
61319
61320         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
61321         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
61322
61323         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
61324         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
61325
61326         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
61327         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
61328
61329         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
61330         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
61331         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
61332
61333         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
61334         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
61335         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
61336
61337         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
61338         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
61339         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
61340
61341         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
61342         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
61343         * modules/vasprintf (Depends-on): Add EOVERFLOW.
61344
61345         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
61346         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
61347         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
61348         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
61349         (Depends-on): Add EOVERFLOW.
61350         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
61351         (Depends-on): Add EOVERFLOW.
61352         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61353         (Depends-on): Add EOVERFLOW.
61354         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61355         (Depends-on): Add EOVERFLOW.
61356         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61357         (Depends-on): Add EOVERFLOW.
61358         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61359         (Depends-on): Add EOVERFLOW.
61360         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61361         (Depends-on): Add EOVERFLOW.
61362         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61363         (Depends-on): Add EOVERFLOW.
61364
61365         * lib/sprintf.c (EOVERFLOW): Remove fallback.
61366         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
61367         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
61368
61369         * lib/snprintf.c (EOVERFLOW): Remove fallback.
61370         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
61371         * modules/snprintf (Depends-on): Add EOVERFLOW.
61372
61373         * lib/poll.c (EOVERFLOW): Remove fallback.
61374         * modules/poll (Depends-on): Add EOVERFLOW.
61375
61376         * lib/getugroups.c (EOVERFLOW): Remove fallback.
61377         * modules/getugroups (Depends-on): Add EOVERFLOW.
61378
61379         * lib/getdelim.c (EOVERFLOW): Remove fallback.
61380         * modules/getdelim (Depends-on): Add EOVERFLOW.
61381
61382         * lib/ftell.c (EOVERFLOW): Remove fallback.
61383         * modules/ftell (Depends-on): Add EOVERFLOW.
61384
61385         * lib/fprintf.c (EOVERFLOW): Remove fallback.
61386         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
61387         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
61388
61389         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
61390
61391         * modules/EOVERFLOW-tests: New file.
61392         * tests/test-EOVERFLOW.c: New file.
61393
61394         * modules/EOVERFLOW: New file.
61395         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
61396
61397 2008-03-30  Bruno Haible  <bruno@clisp.org>
61398
61399         Fix bug introduced on 2007-06-10.
61400         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
61401         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
61402
61403 2008-03-30  Bruno Haible  <bruno@clisp.org>
61404
61405         Improve freadseek's efficiency after ungetc.
61406         * lib/freadseek.c: Include freadahead.h.
61407         (freadptrinc): New function, extracted from freadseek.
61408         (freadseek): Use it in a loop. Use freadahead to determine the number
61409         of loop iterations.
61410         * modules/freadseek (Depends-on): Add freadahead.
61411         (configure.ac): Require AC_C_INLINE.
61412
61413 2008-03-30  Bruno Haible  <bruno@clisp.org>
61414
61415         * lib/freadseek.c (freadseek): Don't ignore the return value of
61416         freadptr.
61417
61418 2008-03-29  Eric Blake  <ebb9@byu.net>
61419
61420         Add hex float support.
61421         * modules/strtod (Depends-on): Add c-ctype.
61422         (Link): Mention POW_LIB.
61423         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
61424         whitespace between 'e' and exponent.
61425         * tests/test-strtod.c (main): Enable hex float tests.
61426         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
61427         now provides.
61428
61429         Document various strtod bugs, with some fixes.
61430         * doc/posix-functions/strtod.texi (strtod): Document bugs with
61431         "-0x", "inf", "nan", and hex constants.
61432         * doc/posix-functions/atof.texi (atof): Likewise.
61433         * modules/stdlib (Makefile.am): Support strtod.
61434         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
61435         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
61436         detect additional strtod bugs.
61437         * lib/stdlib.in.h (rpl_strtod): Add declarations.
61438         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
61439         bool where appropriate.  Parse 'inf' and 'nan'.
61440         * tests/test-strtod.c: New file.
61441         * modules/strtod (Depends-on): Add stdbool, stdlib.
61442         (configure.ac): Turn on module indicator.
61443         * modules/strtod-tests: New module.
61444
61445 2008-03-29  Eric Blake  <ebb9@byu.net>
61446
61447         Fix ftell on mingw.
61448         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
61449         * modules/ftell-tests (Depends-on): Add binary-io.
61450         * modules/ftello-tests (Depends-on): Likewise.
61451         * tests/test-ftell.c (main): Enhance test to cover behavior after
61452         ungetc.  Enforce binary mode.
61453         * tests/test-ftello.c (main): Likewise.
61454
61455         Pass test-freadseek on cygwin.
61456         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
61457         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
61458         ungetc buffer.
61459
61460         * tests/test-fflush2.c (main): Fix typo.
61461
61462 2008-03-29  Bruno Haible  <bruno@clisp.org>
61463
61464         * tests/test-fflush2.c (main): Temporarily disable the contents of
61465         this test.
61466         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
61467         Reported by Eric Blake.
61468
61469 2008-03-28  Simon Josefsson  <simon@josefsson.org>
61470
61471         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
61472         (GC_SHA224_DIGEST_SIZE): Add.
61473
61474         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
61475         (gc_hash_digest_length): Likewise.
61476         (gc_hash_buffer): Likewise.
61477
61478 2008-03-25  Bruno Haible  <bruno@clisp.org>
61479
61480         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
61481         detail which gettext release to use.
61482         Reported by Simon Josefsson.
61483
61484 2008-03-26  Jim Meyering  <meyering@redhat.com>
61485
61486         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
61487         * modules/gnumakefile (clean-GNUmakefile): Also, use
61488         test ... && ... || : syntax rather than if-then ... fi.
61489
61490         gnumakefile: Don't double-quote-expand $(VPATH) value.
61491         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
61492
61493 2008-03-24  Eric Blake  <ebb9@byu.net>
61494
61495         Alter GNUmakefile to install into top directory.
61496         * modules/maintainer-makefile: Split, and add dependency...
61497         * modules/gnumakefile: to this new module.
61498         * build-aux/GNUmakefile: Move...
61499         * top/GNUmakefile: ...here.
61500         * build-aux/maint.mk: Move...
61501         * top/maint.mk: ...here.
61502         * MODULES.html.sh (Support for maintaining...): Document new
61503         module.
61504
61505 2008-03-23  Bruno Haible  <bruno@clisp.org>
61506
61507         * gnulib-tool: New options --vc-files, --no-vc-files.
61508         (func_usage): Document them.
61509         (vc_files): New variable.
61510         (func_import): Consider vc_files.
61511         (func_create_testdir): Set vc_files to empty.
61512         Suggested by Jim Meyering and Karl Berry.
61513
61514 2008-03-23  Bruno Haible  <bruno@clisp.org>
61515
61516         Fix regex compilation error on HP-UX 11.
61517         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
61518         * modules/regex (Files): Add m4/mbstate_t.m4.
61519         Reported by Ton Voon <ton.voon@altinity.com>.
61520
61521 2008-03-23  Bruno Haible  <bruno@clisp.org>
61522
61523         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
61524
61525 2008-03-23  Eric Blake  <ebb9@byu.net>
61526             Bruno Haible  <bruno@clisp.org>
61527
61528         Install files from top/ in the destination directory.
61529         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
61530         augmentation also for the files from top/.
61531         (func_import, func_create_testdir): Rewrite file names:
61532         top/filename -> filename.
61533
61534 2008-03-23  Bruno Haible  <bruno@clisp.org>
61535
61536         Tweak "gnulib --version" output.
61537         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
61538
61539 2008-03-23  Bruno Haible  <bruno@clisp.org>
61540
61541         Tweak "gnulib --version" output.
61542         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
61543         rather than contents of ChangeLog, when possible.
61544
61545 2008-03-21  Eric Blake  <ebb9@byu.net>
61546
61547         More --version tweaks.
61548         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
61549         date of last ChangeLog entry.
61550
61551 2008-03-21  Jim Meyering  <meyering@redhat.com>
61552
61553         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
61554
61555 2008-03-20  Eric Blake  <ebb9@byu.net>
61556
61557         VPATH fix.
61558         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
61559
61560 2008-03-20  Simon Josefsson  <simon@josefsson.org>
61561
61562         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
61563         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
61564
61565 2008-03-20  Eric Blake  <ebb9@byu.net>
61566
61567         Sync GNUmakefile with coreutils.
61568         * build-aux/GNUmakefile (have-Makefile): Rename...
61569         (_have-Makefile): ...to this, for namespace consideration.
61570         (GNUmakefile.cfg): Include, if present.
61571         (_autoreconf): Define a default.
61572         (_is-dist-target): New rule for rebuilds to pick up intra-release
61573         version.
61574         (maint-cfg.mk): Rename...
61575         (cfg.mk): ...to this.
61576
61577 2008-03-18  Jim Meyering  <meyering@redhat.com>
61578
61579         New script and module: mktempd
61580         * MODULES.html.sh (maint+release support): Add mktempd.
61581         * build-aux/mktempd: New file.
61582         * modules/mktempd: New file.
61583
61584 2008-03-15  Jim Meyering  <meyering@redhat.com>
61585
61586         Undo last change.
61587         * lib/sha1.c, lib/md5.c: 63 != ~63.
61588         Reported by Andreas Schwab.
61589
61590         sha1.c, md5.c: Hoist a redundant expression.
61591         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
61592         "ctx->buflen" only once, before calling *_process_block.
61593         * lib/md5.c (md5_process_bytes): Likewise.
61594
61595 2008-03-14  Eric Blake  <ebb9@byu.net>
61596
61597         Bump copyright year in files generated by gnulib-tool.
61598         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
61599         gnulib-tool, rather than hard-coding it.
61600
61601         Fix 'gnulib-tool --version' output to work with git.
61602         * gnulib-tool (func_gnulib_dir): New function, extracted from...
61603         (startup): ...here.
61604         (func_version): Use it to invoke git-version-gen, rather than
61605         relying on CVS keyword expansion.  Modernize wording.
61606         (cvsdatestamp, last_checkin_date, version): Kill unused
61607         variables.
61608
61609 2008-03-12  Jim Meyering  <meyering@redhat.com>
61610
61611         Recognize optional cast of the argument to free.
61612         * build-aux/useless-if-before-free: Update regexps.
61613
61614         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
61615
61616 2008-03-11  Bruno Haible  <bruno@clisp.org>
61617
61618         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
61619         by a single package.
61620         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
61621         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
61622         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
61623         Reported by Sam Steingold <sds@gnu.org>.
61624
61625 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61626
61627         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
61628         repositories.
61629
61630 2008-03-11  Bruno Haible  <bruno@clisp.org>
61631
61632         Avoid conflicts between local macro definitions.
61633         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
61634         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
61635
61636 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
61637             Bruno Haible  <bruno@clisp.org>
61638
61639         Make va_copy work with some version of xlc on AIX 5.1.
61640         * lib/stdarg.in.h: New file.
61641         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
61642         On AIX, use a <stdarg.h> file substitute.
61643         * modules/stdarg (Files): Add lib/stdarg.in.h.
61644         (Depends-on): Add include_next.
61645         (Makefile.am): Build a stdarg.h substitute if requested.
61646         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
61647
61648 2008-03-10  Bruno Haible  <bruno@clisp.org>
61649
61650         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
61651         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61652         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61653
61654 2008-03-10  Bruno Haible  <bruno@clisp.org>
61655
61656         * modules/stdlib (Depends-on): Add include_next, remove
61657         absolute-header.
61658
61659 2008-03-09  Bruno Haible  <bruno@clisp.org>
61660
61661         * lib/freadahead.h (freadahead): Document more precisely.
61662         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
61663         the sum of both buffer sizes.
61664         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
61665         * NEWS: Document the change.
61666
61667 2008-03-09  Bruno Haible  <bruno@clisp.org>
61668
61669         Extend freadptr to return also the buffer size.
61670         * lib/freadptr.h (freadptr): Add sizep argument.
61671         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
61672         (freadptr): Add sizep argument. Determine buffer size like freadahead
61673         does.
61674         * tests/test-freadptr.c: Don't include freadahead.h.
61675         (main): Adapt for new calling convention of freadptr.
61676         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
61677         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
61678         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
61679         tests/test-freadptr2.sh.
61680         (Depends): Remove freadahead.
61681         (TESTS): Add test-freadptr2.sh.
61682         (check_PROGRAMS): Add test-freadptr2.
61683
61684 2008-03-09  Bruno Haible  <bruno@clisp.org>
61685
61686         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
61687         Report and solution by Simon Josefsson.
61688
61689 2008-03-06  Bruno Haible  <bruno@clisp.org>
61690
61691         Make fflush after ungetc work on BSD platforms.
61692         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
61693         * tests/test-fflush2.c: New file.
61694         * tests/test-fflush2.sh: New file.
61695         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
61696         tests/test-fflush2.c.
61697         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
61698         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
61699
61700 2008-03-06  Eric Blake  <ebb9@byu.net>
61701
61702         Likewise for ftello.
61703         * modules/ftello (Dependencies): Add extensions.
61704         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
61705
61706 2008-03-06  Bruno Haible  <bruno@clisp.org>
61707
61708         * modules/fseeko (Dependencies): Add extensions.
61709         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
61710         Needed on glibc systems.
61711
61712 2008-03-06  Bruno Haible  <bruno@clisp.org>
61713
61714         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
61715         email address.
61716         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61717
61718 2008-03-06  Bruno Haible  <bruno@clisp.org>
61719
61720         * users.txt: Add libgnupdf.
61721
61722 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61723
61724         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
61725         (Header File Substitutes, Function Substitutes,
61726         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
61727         (Build robot for gnulib): Fix typo.
61728
61729 2008-03-06  Bruno Haible  <bruno@clisp.org>
61730
61731         * doc/gnulib-tool.texi (VCS Issues): Small updates.
61732         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61733
61734 2008-03-06  Bruno Haible  <bruno@clisp.org>
61735
61736         * doc/func.texi: New file, extracted from doc/gnulib.texi.
61737         * doc/gnulib.texi: Include it.
61738
61739 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61740
61741         * modules/func (License): Change license to unlimited; there was
61742         no LGPL parts in the module anyway.
61743
61744 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61745
61746         * modules/__func__: Renamed to modules/func.
61747         * modules/__func__-tests: Renamed to modules/func-tests.
61748         * tests/test-__func__.c: Renamed to tests/test-func.c.
61749         * m4/__func__.m4: Renamed to m4/func.m4.
61750         * doc/gnulib.texi (__func__): Section renamed to func.
61751         Suggested by Eric Blake <ebb9@byu.net>.
61752
61753 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61754
61755         * doc/gnulib.texi (__func__): Use C99 terminology when talking
61756         about __func__.  Make example self-contained.  Suggested by Eric
61757         Blake <ebb9@byu.net>.
61758
61759         * tests/test-__func__.c (main): Avoid extraneous () around __func.
61760         Suggested by Eric Blake <ebb9@byu.net>.
61761
61762 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61763
61764         * modules/__func__: New file.
61765         * modules/__func__-tests: New file.
61766         * tests/test-__func__.c: New file.
61767         * m4/__func__.m4: New file.
61768         * doc/gnulib.texi (__func__): Document __func__ module.
61769
61770 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61771
61772         * modules/byteswap (License): Re-license as LGPLv2+.
61773
61774 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61775
61776         * doc/Makefile: Add pdf target.
61777
61778 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61779
61780         * modules/inline (License): Use 'unlimited', since there are only
61781         *.m4 files in this module.
61782
61783 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61784             Bruno Haible  <bruno@clisp.org>
61785
61786         Add support for HP C 7.1 on OpenVMS 8.3.
61787         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
61788
61789 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61790
61791         Update VMS specifics.
61792         * lib/getopt.c [VMS]: Remove include of unixlib.h.
61793
61794 2008-03-02  Jim Meyering  <meyering@redhat.com>
61795
61796         Remove the last dependency on the "free" module.
61797         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
61798         Reported by Bob Proulx.
61799
61800         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
61801
61802         Remove useless "if" tests before free.  Deprecate "free" module.
61803         * doc/posix-functions/free.texi: Mention that this
61804         module is no longer useful.
61805         * modules/free (Notice): Say this module is obsolete.
61806         * modules/readutmp (Depends-on): Remove free.
61807         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
61808         * lib/putenv.c (putenv): Likewise.
61809         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
61810         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
61811         * tests/test-c-strcasestr.c (main): Likewise.
61812         * tests/test-c-strstr.c (main): Likewise.
61813         * tests/test-mbscasestr1.c (main): Likewise.
61814         * tests/test-mbscasestr2.c (main): Likewise.
61815         * tests/test-mbsstr1.c (main): Likewise.
61816         * tests/test-mbsstr2.c (main): Likewise.
61817         * tests/test-memmem.c (main): Likewise.
61818         * tests/test-strcasestr.c (main): Likewise.
61819         * tests/test-striconv.c (main): Likewise.
61820         * tests/test-striconveh.c (main): Likewise.
61821         * tests/test-striconveha.c (main): Likewise.
61822         * tests/test-strstr.c (main): Likewise.
61823
61824         * build-aux/git-version-gen: Adjust a comment and the Usage string.
61825
61826         bootstrap: sync from coreutils again
61827         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
61828
61829 2008-03-01  Jim Meyering  <meyering@redhat.com>
61830
61831         bootstrap: sync from coreutils
61832         * build-aux/bootstrap (update_po_files): Copy a .po file into place
61833         also when the target doesn't exist.
61834
61835 2008-03-01  Eric Blake  <ebb9@byu.net>
61836
61837         Fix bugs in last patch.
61838         * lib/memchr2.c (memchr2): Fix typo.
61839         * tests/test-memchr2.c: Test previous bug, and don't use GNU
61840         extension.
61841         Reported by Bruce Korb.
61842
61843         New module 'memchr2'.
61844         * modules/memchr2: New file.
61845         * modules/memchr2-tests: Likewise.
61846         * lib/memchr2.h: Likewise.
61847         * lib/memchr2.c: Likewise, based on memchr.c.
61848         * tests/test-memchr2.c: New test.
61849         * MODULES.html.sh (String handling): Add memchr2.
61850
61851 2008-02-29  Bruno Haible  <bruno@clisp.org>
61852
61853         * modules/freadseek-tests: New file.
61854         * tests/test-freadseek.sh: New file.
61855         * tests/test-freadseek.c: New file.
61856
61857         New module 'freadseek'.
61858         * modules/freadseek: New file.
61859         * lib/freadseek.h: New file.
61860         * lib/freadseek.c: New file.
61861         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
61862
61863 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
61864
61865         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
61866         wydawca.
61867
61868         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
61869         program_invocation_name and program_invocation_short_name are
61870         present.
61871
61872 2008-02-28  Bruno Haible  <bruno@clisp.org>
61873
61874         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
61875         * tests/test-freadptr.sh: Also test non-seekable stdin.
61876
61877 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
61878
61879         * build-aux/bootstrap (source_base, m4_base)
61880         (doc_base, tests_base): New variables.
61881         (gnulib_tool_options): Do not hardcode base directories, use
61882         the above variables instead.
61883
61884 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
61885
61886         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
61887
61888 2008-02-28  Bruno Haible  <bruno@clisp.org>
61889
61890         * modules/freadptr-tests: New file.
61891         * tests/test-freadptr.sh: New file.
61892         * tests/test-freadptr.c: New file.
61893
61894         New module 'freadptr'.
61895         * modules/freadptr: New file.
61896         * lib/freadptr.h: New file.
61897         * lib/freadptr.c: New file.
61898         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
61899
61900 2008-02-26  Karl Berry  <karl@freefriends.org>
61901
61902         Sync from Libtool:
61903         * libltdl/argz.c (argz_add, argz_count): New functions.
61904         * libltdl/argz.in.h: Declare them.
61905         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
61906
61907 2008-02-22  Bruno Haible  <bruno@clisp.org>
61908
61909         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
61910         is a pointer type.  Needed for HP-UX 10.
61911         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
61912         * doc/posix-functions/gmtime_r.texi: Likewise.
61913         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61914
61915 2008-02-24  Bruno Haible  <bruno@clisp.org>
61916
61917         * modules/environ-tests: New file.
61918         * tests/test-environ.c: New file.
61919
61920         New module 'environ'.
61921         * modules/environ: New file.
61922         * lib/unistd.in.h (environ): New declaration.
61923         * m4/environ.m4: New file.
61924         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
61925         after use.
61926         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
61927         HAVE_DECL_ENVIRON.
61928         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
61929         HAVE_DECL_ENVIRON.
61930         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
61931         wrong claim that 'environ' is missing on some systems.
61932         * modules/execute (Depends-on): Add environ.
61933         * lib/execute.c (environ): Remove fallback declaration.
61934         * modules/pipe (Depends-on): Add environ.
61935         * lib/pipe.c (environ): Remove fallback declaration.
61936         * modules/setenv (Depends-on): Add environ.
61937         * lib/setenv.c (environ): Remove fallback declaration.
61938         * modules/unsetenv (Depends-on): Add environ.
61939         * lib/unsetenv.c (environ): Remove fallback declaration.
61940         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
61941         m4/environ.m4.
61942         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
61943         (gl_PREREQ_UNSETENV): Likewise.
61944
61945 2008-02-24  Bruno Haible  <bruno@clisp.org>
61946
61947         * doc/posix-functions/environ.texi: Document the MacOS X problem.
61948
61949 2008-02-20  Bob Proulx  <bob@proulx.com>
61950
61951         Enable use of older two part flavor 'git describe'.
61952         * build-aux/git-version-gen: If using the older two part flavor of
61953         git version then recreate the third part now present in the
61954         newer three part flavor of git describe.
61955
61956 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
61957
61958         * lib/fts.c (fts_build): Typo correction to comment.
61959
61960 2008-02-17  Bruno Haible  <bruno@clisp.org>
61961
61962         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
61963         generating no-op conflicts.
61964
61965 2008-02-17  Bruno Haible  <bruno@clisp.org>
61966
61967         Speed up by 10%.
61968         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
61969         result_entries, rather than an index-based loop.
61970
61971 2008-02-17  Bruno Haible  <bruno@clisp.org>
61972
61973         Speed up by 25%.
61974         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
61975         'hashcode_cached'.
61976         (entry_create): New function.
61977         (entry_hashcode): Use the cached hashcode if possible.
61978         (read_changelog_file, try_split_merged_entry): Use entry_create.
61979
61980 2008-02-17  Bruno Haible  <bruno@clisp.org>
61981
61982         Speed up from O(n^2) to O(n) for long ChangeLog files.
61983         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
61984         (read_changelog_file): Change implementation of entries_reversed list
61985         to rbtreehash.
61986         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
61987
61988 2008-02-17  Bruno Haible  <bruno@clisp.org>
61989
61990         New option --split-merged-entry.
61991         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
61992         (find_paragraph_end, try_split_merged_entry): New functions.
61993         (long_options): Add option --split-merged-entry.
61994         (usage): Document option --split-merged-entry.
61995         (main): Implement option --split-merged-entry.
61996         Reported by Eric Blake.
61997
61998 2008-02-17  Bruno Haible  <bruno@clisp.org>
61999
62000         * lib/git-merge-changelog.c: Include c-strstr.h.
62001         (main): Support the "git pull --rebase" situation.
62002         * modules/git-merge-changelog (Depends-on): Add c-strstr.
62003         Reported by Eric Blake.
62004
62005 2008-02-16  Eric Blake  <ebb9@byu.net>
62006
62007         Avoid doubling \ in common case of "c-maybe" quoting style.
62008         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
62009         eliding outer quotes.
62010         * lib/quotearg.h: Document this.
62011         * tests/test-quotearg.c (result_strings, inputs, results_g)
62012         (flag_results, locale_results): Test it by adding a new string to
62013         each test group.
62014         (compare_strings): Test new string.
62015
62016 2008-02-13  Eric Blake  <ebb9@byu.net>
62017
62018         Avoid trigraph quoting in default output.
62019         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
62020         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
62021         unless explicitly requested.
62022         * tests/test-quotearg.c (flag_results, main): Add additional tests.
62023
62024 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
62025
62026         Don't rely on signed integer overflowing to negative value.
62027         * lib/getugroups.c (getugroups): Include <limits.h>.
62028         Instead, compare against INT_MAX, and increment only if the test passes.
62029
62030 2008-02-13  Jim Meyering  <meyering@redhat.com>
62031         and Eric Blake  <ebb9@byu.net>
62032
62033         Avoid shadowing warning and compile errors on Linux.
62034         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
62035         forwarding macros on Linux.
62036         (dcgettext): Define a stub, for Linux.
62037         (results_g, main): Avoid warnings.
62038
62039 2008-02-12  Eric Blake  <ebb9@byu.net>
62040
62041         Silence warning in last patch.
62042         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
62043
62044         Quotearg part 4: add tests, fix c-maybe colon quoting.
62045         * lib/quotearg.h: Improve documentation.
62046         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
62047         escapes when adding outer quotes.  When quoting trigraphs, use
62048         valid C notation.  When quoting NUL, omit extra characters if next
62049         character is not digit.  Alter prototype.
62050         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
62051         callers.
62052         * modules/quotearg-tests: New module.
62053         * tests/test-quotearg.c: New test.
62054
62055 2008-02-07  Eric Blake  <ebb9@byu.net>
62056
62057         Quotearg part 3: add flag to control outer quote elision.
62058         * lib/quotearg.h (c_maybe_quoting_style): New style.
62059         (enum quoting_flags): Better documentation of flags.
62060         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
62061         c-maybe style.
62062         (quotearg_buffer_restyled): Handle new flag to elide outer
62063         quotes.
62064
62065         Quotearg part 2: add flag that can control NUL elision.
62066         * lib/quotearg.h (set_quoting_flags): New prototype.
62067         * lib/quotearg.c (struct quoting_options): Add flag field.
62068         (set_quoting_flags): New function.
62069         (quotearg_buffer_restyled): Add flags parameter.
62070         (quotearg_alloc_mem): Set the flag if length cannot be returned.
62071         (quotearg_n_options): Set the flag, since length cannot be
62072         returned.
62073         (quoting_options_from_style): Default flags correctly.
62074
62075         Quotearg part 1: more wrappers, restore quotearg_char state.
62076         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
62077         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
62078         (quotearg_colon_mem): New wrappers.
62079         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
62080         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
62081         functions.
62082         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
62083         (quotearg_colon_mem): New functions.
62084
62085 2008-02-11  Bruno Haible  <bruno@clisp.org>
62086
62087         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
62088         library in the current directory: it does not work with parallel make.
62089         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62090
62091 2008-02-11  Bruno Haible  <bruno@clisp.org>
62092
62093         * .gitattributes: New file.
62094
62095 2008-02-11  Jim Meyering  <meyering@redhat.com>
62096
62097         useless-if-before-free: Fix reversed exit values.
62098         * build-aux/useless-if-before-free: Use correct values
62099         for EXIT_MATCH and EXIT_NO_MATCH.
62100
62101         * build-aux/useless-if-before-free: Close stdout carefully.
62102
62103 2008-02-10  Bruno Haible  <bruno@clisp.org>
62104
62105         New module 'git-merge-changelog'.
62106         * modules/git-merge-changelog: New file.
62107         * lib/git-merge-changelog.c: New file.
62108
62109 2008-02-10  Jim Meyering  <meyering@redhat.com>
62110
62111         useless-if-before-free: New option: --list (-l).
62112
62113         useless-if-before-free: Don't exit immediately upon open failure.
62114         * build-aux/useless-if-before-free: Exit 2 for errors.
62115         Upon failure to open a file, don't exit immediately.
62116         Rather, just warn and continue with any remaining files.
62117
62118 2008-02-10  Bruno Haible  <bruno@clisp.org>
62119
62120         New abstract list operation 'node_set_value'.
62121         * lib/gl_list.h (gl_list_node_set_value): New function.
62122         (struct gl_list_implementation): New field node_set_value.
62123         * lib/gl_list.c (gl_list_node_set_value): New function.
62124         * lib/gl_array_list.c (gl_array_node_set_value): New function.
62125         (gl_array_list_implementation): Update.
62126         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
62127         (gl_carray_list_implementation): Update.
62128         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
62129         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
62130         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
62131         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
62132         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
62133         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
62134         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
62135         Update.
62136         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
62137         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
62138         (gl_sublist_list_implementation): Update.
62139
62140 2008-02-10  Bruno Haible  <bruno@clisp.org>
62141
62142         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
62143         Needed when ELEMENT is #defined to 'some_type *'.
62144
62145 2008-02-10  Jim Meyering  <meyering@redhat.com>
62146
62147         New script and module: useless-if-before-free
62148         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
62149         * build-aux/useless-if-before-free: New file.
62150         * modules/useless-if-before-free: New file.
62151
62152         * build-aux/gitlog-to-changelog: Use committer date, not author date.
62153
62154         xstrtol_error: Fix typo.
62155         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
62156         s/exit_failure/exit_status/.
62157
62158 2008-02-09  Jim Meyering  <meyering@redhat.com>
62159
62160         New script and module: gitlog-to-changelog
62161         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
62162         * modules/gitlog-to-changelog: New file.
62163         * build-aux/gitlog-to-changelog: New file.
62164
62165 2008-02-08  Jim Meyering  <meyering@redhat.com>
62166
62167         Avoid two "parameter unused" warnings.
62168         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
62169         Mark "st" as used.
62170
62171         Use "git COMMAND", not "git-COMMAND".
62172         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
62173         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
62174         * build-aux/git-version-gen: Use "git status", not "git-status".
62175
62176 2008-02-07  Bruno Haible  <bruno@clisp.org>
62177
62178         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
62179         Avoids a crash on Windows Vista.
62180         Reported by Adam Strzelecki <ono@java.pl> via
62181         Simon Josefsson <simon@josefsson.org>.
62182
62183 2008-02-06  Bruno Haible  <bruno@clisp.org>
62184
62185         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
62186         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
62187         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
62188         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
62189         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
62190         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62191         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
62192         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
62193         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62194         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62195         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62196         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62197         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62198         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62199         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62200         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
62201         left-adjust flag.
62202         * tests/test-snprintf-posix.h (test_function): Likewise.
62203         * tests/test-sprintf-posix.h (test_function): Likewise.
62204         * tests/test-vasprintf-posix.c (test_function): Likewise.
62205         * doc/posix-functions/fprintf.texi: Update.
62206         * doc/posix-functions/printf.texi: Update.
62207         * doc/posix-functions/snprintf.texi: Update.
62208         * doc/posix-functions/sprintf.texi: Update.
62209         * doc/posix-functions/vfprintf.texi: Update.
62210         * doc/posix-functions/vprintf.texi: Update.
62211         * doc/posix-functions/vsnprintf.texi: Update.
62212         * doc/posix-functions/vsprintf.texi: Update.
62213         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62214
62215 2008-02-06  Bruno Haible  <bruno@clisp.org>
62216
62217         Fix bug introduced on 2008-01-26.
62218         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
62219
62220 2008-02-06  Bruno Haible  <bruno@clisp.org>
62221
62222         Fix bug introduced on 2007-06-10.
62223         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
62224         !NEED_PRINTF_FLAG_ZERO.
62225
62226 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
62227
62228         getloadavg: use libperfstat on AIX5
62229         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
62230
62231 2008-02-03  Bruno Haible  <bruno@clisp.org>
62232
62233         * lib/diffseq.h: Add comments about required #includes.
62234         Reported by Michael Biggs <gnulib@doubleplum.net>.
62235
62236 2008-02-01  Bruno Haible  <bruno@clisp.org>
62237
62238         * users.txt: Add gnuit.
62239
62240 2008-01-31  Bruno Haible  <bruno@clisp.org>
62241
62242         * lib/md4.c (set_uint32): Mark as inline.
62243         * lib/md5.c (set_uint32): Likewise.
62244         * lib/sha1.c (set_uint32): Likewise.
62245         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
62246         * m4/md5.m4 (gl_MD5): Likewise.
62247         * m4/sha1.m4 (gl_SHA1): Likewise.
62248
62249 2008-01-31  Jim Meyering  <meyering@redhat.com>
62250
62251         Use "sizeof VAR", rather than a literal "4".
62252         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
62253         * lib/md4.c (md4_read_ctx): Likewise.
62254         * lib/sha1.c (sha1_read_ctx): Likewise.
62255
62256 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62257
62258         * tests/test-sha1.c: New file, based on test-md5.c.
62259
62260         * modules/crypto/sha1-tests: New file.
62261
62262 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62263
62264         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
62265
62266 2008-01-31  Jim Meyering  <meyering@redhat.com>
62267
62268         Prefer "sizeof v" over the equivalent "4".
62269         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
62270         * lib/md5.c (set_uint32): Likewise.
62271         * lib/sha1.c (set_uint32): Likewise.
62272
62273 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62274
62275         * lib/sha1.c (set_uint32): Mark function as static.
62276
62277 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62278
62279         md2: clarify comments to say that alignment is not required.
62280         * lib/md2.h: Remove warning about alignment in comment.
62281         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
62282         never been required.
62283
62284 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62285
62286         md4: adapt alignment constraint fix from sha1.
62287         * lib/md4.c (set_uint32): New function, from sha1.c
62288         (md4_read_ctx): Use it.
62289         (md4_finish_ctx): Doc fix.
62290         * lib/md4.h: Doc fix.
62291
62292 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62293
62294         md5: adapt alignment constraint fix from sha1.
62295         * lib/md5.c (set_uint32): New function, from sha1.c
62296         (md5_read_ctx): Use it.
62297         (md5_finish_ctx): Doc fix.
62298         * lib/md5.h: Doc fix.
62299
62300 2008-01-30  Peter Palfrader  <weasel@debian.org>
62301
62302         sha1: remove the result buffer alignment constraint
62303         * lib/sha1.c (set_uint32): New function.
62304         (sha1_read_ctx): Rewrite to remove the result buffer alignment
62305         constraint.
62306         (sha1_finish_ctx): Remove comment warning about alignment constraint.
62307         * lib/sha1.h: Likewise.
62308
62309 2008-01-30  Andreas Schwab  <schwab@suse.de>
62310             Bruno Haible  <bruno@clisp.org>
62311
62312         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
62313         correct definition of LDBL_MIN_EXP.
62314
62315 2008-01-30  Karl Berry  <karl@gnu.org>
62316
62317         * config/srclist-update: try to preserve x bit on updates.
62318         * config/srclistvars.sh: update for karl.
62319
62320 2008-01-29  Jim Meyering  <meyering@redhat.com>
62321
62322         vasnprintf.c: Avoid warning about unused label
62323         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
62324         "overflow" label definition and associated code with the
62325         same cpp condition that guards the sole use of that label.
62326
62327 2008-01-26  Bruno Haible  <bruno@clisp.org>
62328
62329         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
62330         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
62331         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
62332         * lib/isnanl-nolibm.h (isnanl): Likewise.
62333         Reported by Paul Eggert <eggert@cs.ucla.edu>.
62334
62335 2008-01-26  Bruno Haible  <bruno@clisp.org>
62336
62337         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
62338         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
62339
62340 2008-01-26  Bruno Haible  <bruno@clisp.org>
62341
62342         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
62343         GCC >= 4.0 built-in.
62344         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
62345
62346 2008-01-26  Bruno Haible  <bruno@clisp.org>
62347
62348         Rename isnan, applicable to 'double' only, to isnand.
62349         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
62350         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
62351         (configure.ac): Update.
62352         (Include): Replace "isnan.h" with "isnand.h".
62353         * m4/isnand.m4: Renamed from m4/isnan.m4.
62354         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
62355         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
62356         instead of isnan.c.
62357         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
62358         instead of HAVE_ISNAN_IN_LIBC.
62359         (isnand): Renamed from isnan.
62360         * lib/isnand.c: New file.
62361         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
62362         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
62363         (Makefile.am): Update.
62364         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
62365         Include isnand.h instead of isnan.h.
62366         (main): Test isnand instead of isnan.
62367         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
62368         isnan-nolibm.
62369         * modules/frexp (Depends-on): Likewise.
62370         * modules/frexp-tests (Depends-on): Likewise.
62371         * modules/frexp-nolibm (Depends-on): Likewise.
62372         * modules/frexp-nolibm-tests (Depends-on): Likewise.
62373         * modules/isfinite (Depends-on): Likewise.
62374         * modules/round-tests (Depends-on): Likewise.
62375         * modules/signbit (Depends-on): Likewise.
62376         * modules/signbit-tests (Depends-on): Likewise.
62377         * modules/snprintf-posix (Depends-on): Likewise.
62378         * modules/sprintf-posix (Depends-on): Likewise.
62379         * modules/trunc-tests (Depends-on): Likewise.
62380         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
62381         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
62382         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
62383         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
62384         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
62385         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
62386         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
62387         * modules/vasnprintf-posix (Depends-on): Likewise.
62388         * modules/vasprintf-posix (Depends-on): Likewise.
62389         * modules/vfprintf-posix (Depends-on): Likewise.
62390         * modules/vsnprintf-posix (Depends-on): Likewise.
62391         * modules/vsprintf-posix (Depends-on): Likewise.
62392         * lib/frexp.c: Include isnand.h instead of isnan.h.
62393         (ISNAN): Set to isnand instead of isnan.
62394         * lib/isfinite.c: Include isnand.h instead of isnan.h.
62395         (gl_isfinited): Use isnand instead of isnan.
62396         * lib/signbitd.c: Include isnand.h instead of isnan.h.
62397         (gl_signbitd): Use isnand instead of isnan.
62398         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
62399         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
62400         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
62401         (main): Use isnand instead of isnan.
62402         * tests/test-round1.c: Include isnand.h.
62403         (main): Use isnand instead of isnan.
62404         * tests/test-round2.c: Include isnand.h instead of isnan.h.
62405         (ISNAN): Set to isnand instead of isnan.
62406         * tests/test-trunc1.c: Include isnand.h.
62407         (main): Use isnand instead of isnan.
62408         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
62409         (equal): Use isnand instead of isnan.
62410         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
62411         isnand-nolibm.
62412         * NEWS: Mention the change.
62413
62414 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
62415             Bruno Haible  <bruno@clisp.org>
62416
62417         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
62418         the GCC builtins for signbits are present and set
62419         REPLACE_SIGNBIT_USING_GCC if so.
62420         * lib/math.in.h (signbit): Define using GCC builtins if
62421         REPLACE_SIGNBIT_USING_GCC is set.
62422         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
62423         REPLACE_SIGNBIT_USING_GCC.
62424         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
62425
62426 2008-01-25  Jim Meyering  <meyering@redhat.com>
62427
62428         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
62429         * lib/poll.c: Include <config.h>, not "config.h".
62430         * tests/test-getaddrinfo.c: Likewise.
62431
62432 2008-01-25  Simon Josefsson  <simon@josefsson.org>
62433
62434         * modules/sockets-tests: New file.
62435
62436 2008-01-24  Simon Josefsson  <simon@josefsson.org>
62437
62438         * modules/sockets: New module, can be used to call WSA_Startup and
62439         WSA_Cleanup when needed.
62440
62441         * lib/sockets.h, lib/sockets.c: New files.
62442
62443         * m4/sockets.m4: New file.
62444
62445         * tests/test-sockets.c: New file.
62446
62447 2008-01-19  Bruno Haible  <bruno@clisp.org>
62448
62449         * doc/posix-headers: Renamed from doc/headers.
62450         * doc/posix-functions: Renamed from doc/functions.
62451         * doc/gnulib.texi: Update.
62452
62453 2008-01-19  Bruno Haible  <bruno@clisp.org>
62454
62455         * doc/glibc-functions/strcasestr.texi: Include contents of
62456         doc/functions/strcasestr.texi, fixing the list of platforms.
62457         * doc/functions/strcasestr.texi: Remove file.
62458
62459 2008-01-19  Bruno Haible  <bruno@clisp.org>
62460
62461         * doc/glibc-functions/memmem.texi: Include contents of
62462         doc/functions/memmem.texi.
62463         * doc/functions/memmem.texi: Remove file.
62464
62465 2008-01-18  Bruno Haible  <bruno@clisp.org>
62466
62467         * doc/glibc-functions/*.texi: New files.
62468         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
62469         to use the new files.
62470
62471 2008-01-17  Bruno Haible  <bruno@clisp.org>
62472
62473         * tests/test-gethostname.c (main): Fix printf statement.
62474
62475 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62476
62477         * modules/gethostname-tests: New file.
62478
62479         * tests/test-gethostname.c: New file.
62480
62481 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62482
62483         * lib/gethostname.c: Include string.h unconditionally, strncpy is
62484         used by the UNAME case.  Reported by Bruno Haible
62485         <bruno@clisp.org>.
62486
62487 2008-01-17  Eric Blake  <ebb9@byu.net>
62488
62489         Convert c-strcasestr to be more efficient.
62490         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
62491         (Depends-on): Add c-strcase, remove malloca, strnlen.
62492         * tests/test-c-strcasestr.c (main): Enhance test.
62493         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
62494
62495 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
62496
62497         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
62498         Use it in creating po/Makevars.
62499
62500 2008-01-15  Simon Josefsson  <simon@josefsson.org>
62501
62502         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
62503         Applications that requires it should initialize libgcrypt
62504         manually.
62505
62506 2008-01-16  Simon Josefsson  <simon@josefsson.org>
62507
62508         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
62509
62510 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
62511
62512         Fix problem with getdate on mingw32 reported by Simon Josefsson
62513         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
62514         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
62515         tzname", when deciding whether to declare tzname.
62516         * lib/strftime.c (tzname): Likewise.
62517
62518 2008-01-15  Bruno Haible  <bruno@clisp.org>
62519
62520         Work around a MacOS X 10.5 bug in frexpl().
62521         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
62522         * doc/functions/frexpl.texi: Document the bug.
62523         Reported by Elias Pipping <pipping@gentoo.org>.
62524
62525 2008-01-14  Eric Blake  <ebb9@byu.net>
62526
62527         Touch up previous patch.
62528         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
62529         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
62530
62531         Convert strcasestr module to use Two-Way algorithm.
62532         * modules/strcasestr-simple: New module, based on the old
62533         strcasestr, but with Two-Way rather than KMP.
62534         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
62535         * lib/string.in.h (rpl_strcasestr): Declare.
62536         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
62537         performance.
62538         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
62539         * modules/string (Makefile.am): Support strcasestr.
62540         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
62541         * modules/strcasestr-tests (Depends-on): Check for alarm.
62542         * tests/test-strcasestr.c: Augment test.
62543         * lib/str-two-way.h: Clean up stray macro.
62544         * NEWS: Document new module.
62545         * MODULES.html.sh (string handling): Likewise.
62546         * doc/functions/strcasestr.texi: New file.
62547         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
62548         here, since it is not a POSIX function.
62549
62550 2008-01-14  Colin Watson  <cjwatson@debian.org>
62551             Bruno Haible  <bruno@clisp.org>
62552
62553         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
62554         works fine; if not, set REPLACE_STRSIGNAL.
62555         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
62556         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62557         REPLACE_STRSIGNAL.
62558         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
62559         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
62560         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
62561
62562 2008-01-14  Bruno Haible  <bruno@clisp.org>
62563
62564         * modules/strsignal (Include): Change to <string.h>.
62565
62566 2008-01-14  Colin Watson  <cjwatson@debian.org>
62567
62568         * modules/argp (Notice): Add a notice recommending to change
62569         XGETTEXT_OPTIONS.
62570         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
62571
62572 2008-01-13  Colin Watson  <cjwatson@debian.org>
62573
62574         * modules/strsignal-tests: New file.
62575         * tests/test-strsignal.c: New file.
62576
62577         * lib/strsignal.c: New file, from glibc with modifications.
62578         * lib/siglist.h: New file, from glibc with modifications.
62579         * lib/string.in.h (strsignal): New declaration.
62580         * m4/strsignal.m4: New file.
62581         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62582         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
62583         * modules/strsignal: New file.
62584         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
62585         HAVE_DECL_STRSIGNAL.
62586
62587 2008-01-13  Bruno Haible  <bruno@clisp.org>
62588
62589         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
62590         locale encoding is not ASCII. Needed for OpenBSD 4.0.
62591         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62592         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62593
62594 2008-01-13  Bruno Haible  <bruno@clisp.org>
62595
62596         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
62597         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
62598         * lib/argp.h (__attribute__): Likewise.
62599         * lib/c-stack.c (__attribute__): Likewise.
62600         * lib/error.h (__attribute__): Likewise.
62601         * lib/fts.c (__attribute__): Likewise.
62602         * lib/openat.h (__attribute__): Likewise.
62603         * lib/stdio.in.h (__attribute__): Likewise.
62604         * lib/string.in.h (__attribute__): Likewise.
62605         * lib/utimens.c (__attribute__): Likewise.
62606         * lib/vasnprintf.h (__attribute__): Likewise.
62607         * lib/xalloc.h (__attribute__): Likewise.
62608         * lib/xprintf.h (__attribute__): Likewise.
62609         * lib/xstrtol.h (__attribute__): Likewise.
62610         * lib/xvasprintf.h (__attribute__): Likewise.
62611
62612 2008-01-12  Bruno Haible  <bruno@clisp.org>
62613
62614         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
62615         * doc/glibc-headers/a.out.texi: New file.
62616         * doc/glibc-headers/aliases.texi: New file.
62617         * doc/glibc-headers/alloca.texi: New file.
62618         * doc/glibc-headers/ar.texi: New file.
62619         * doc/glibc-headers/argp.texi: New file.
62620         * doc/glibc-headers/argz.texi: New file.
62621         * doc/glibc-headers/byteswap.texi: New file.
62622         * doc/glibc-headers/crypt.texi: New file.
62623         * doc/glibc-headers/endian.texi: New file.
62624         * doc/glibc-headers/envz.texi: New file.
62625         * doc/glibc-headers/err.texi: New file.
62626         * doc/glibc-headers/error.texi: New file.
62627         * doc/glibc-headers/execinfo.texi: New file.
62628         * doc/glibc-headers/fpu_control.texi: New file.
62629         * doc/glibc-headers/fstab.texi: New file.
62630         * doc/glibc-headers/fts.texi: New file.
62631         * doc/glibc-headers/getopt.texi: New file.
62632         * doc/glibc-headers/ieee754.texi: New file.
62633         * doc/glibc-headers/ifaddrs.texi: New file.
62634         * doc/glibc-headers/libintl.texi: New file.
62635         * doc/glibc-headers/mcheck.texi: New file.
62636         * doc/glibc-headers/mntent.texi: New file.
62637         * doc/glibc-headers/obstack.texi: New file.
62638         * doc/glibc-headers/paths.texi: New file.
62639         * doc/glibc-headers/printf.texi: New file.
62640         * doc/glibc-headers/pty.texi: New file.
62641         * doc/glibc-headers/resolv.texi: New file.
62642         * doc/glibc-headers/shadow.texi: New file.
62643         * doc/glibc-headers/sysexits.texi: New file.
62644         * doc/glibc-headers/ttyent.texi: New file.
62645
62646 2008-01-12  Jim Meyering  <meyering@redhat.com>
62647
62648         announce-gen: emit Gnulib's git-based version string.
62649         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
62650         New option --gnulib-version=V, where V is expected to be
62651         the output of running git describe in the gnulib directory.
62652         (get_tool_versions): Request feedback on xdelta.  I suspect it's
62653         not useful, and plan to stop publishing an xdelta file with each
62654         coreutils release.
62655
62656         * build-aux/announce-gen: Also check for lzma-compressed files.
62657
62658 2008-01-11  Bruno Haible  <bruno@clisp.org>
62659
62660         * tests/test-memmem.c (main): Increase maximum allowed time.
62661         * tests/test-strstr.c (main): Likewise.
62662
62663 2008-01-11  Bruno Haible  <bruno@clisp.org>
62664
62665         * doc/functions/memmem.texi: Add more precisions about platforms.
62666         * doc/functions/strstr.texi: Likewise.
62667
62668 2008-01-10  Eric Blake  <ebb9@byu.net>
62669
62670         * m4/strstr.m4: Delete cruft from copy-n-paste.
62671         Reported by Bruno Haible.
62672
62673 2008-01-10  Bruno Haible  <bruno@clisp.org>
62674
62675         Make c-strstr rely on strstr.
62676         * lib/c-strstr.c: Don't include str-kmp.h.
62677         (c_strstr): Define in terms of strstr.
62678         * modules/c-strstr (Files): Remove lib/str-kmp.h.
62679         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
62680
62681 2008-01-10  Bruno Haible  <bruno@clisp.org>
62682
62683         * doc/gnulib.texi (String Functions in C Locale): New section.
62684         * doc/c-ctype.texi: New file.
62685         * doc/c-strcase.texi: New file.
62686         * doc/c-strcaseeq.texi: New file.
62687         * doc/c-strcasestr.texi: New file.
62688         * doc/c-strstr.texi: New file.
62689         * doc/c-strtod.texi: New file.
62690         * doc/c-strtold.texi: New file.
62691
62692 2008-01-10  Eric Blake  <ebb9@byu.net>
62693
62694         * lib/relocatable.h: Fix a comment.
62695
62696 2008-01-10  Eric Blake  <ebb9@byu.net>
62697
62698         Share two-way algorithm.
62699         * lib/str-two-way.h: New file, merged from...
62700         * lib/memmem.c: ...here...
62701         * lib/strstr.c: ...and here.
62702         * modules/memmem (Files): Use it.
62703         * modules/strstr (Files): Likewise.
62704
62705         Avoid quadratic strstr implementations.
62706         * lib/strstr.c: New file.
62707         * m4/strstr.m4: Likewise.
62708         * modules/strstr: Likewise.
62709         * modules/strstr-tests: Likewise.
62710         * tests/test-strstr.c: Likewise.
62711         * lib/string.in.h (rpl_strstr): Declare.
62712         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
62713         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
62714         * modules/string (Makefile.am): Likewise.
62715         * MODULES.html.sh (string handling): Mention new module.
62716         * doc/functions/strstr.texi (strstr): Document the bug.
62717
62718 2008-01-10  Bruno Haible  <bruno@clisp.org>
62719
62720         * lib/relocatable.h (relocate): State whether result is freshly
62721         allocated or not.
62722         * lib/relocatable.c (relocate): Return a freshly allocated string
62723         instead of a pointer to a privately held string.
62724         Reported by Sylvain Beucler <beuc@gnu.org>.
62725
62726 2008-01-10  Colin Watson  <cjwatson@debian.org>
62727
62728         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
62729         s/S_ISNLK/S_ISLNK/.
62730
62731 2008-01-09  Bruno Haible  <bruno@clisp.org>
62732
62733         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
62734         and other files.
62735         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
62736         if it's only a guess.
62737         * modules/memmem: Simplify by depending on memmem-simple.
62738
62739 2008-01-09  Bruno Haible  <bruno@clisp.org>
62740
62741         Work around OpenBSD 4.0 tdelete() bug.
62742         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
62743         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
62744         macros and don't redefine the enum values.
62745         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
62746         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
62747         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
62748
62749 2008-01-09  Bruno Haible  <bruno@clisp.org>
62750
62751         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
62752         (main): Don't perform the tests if setlocale did not install a UTF-8
62753         locale. Needed on OpenBSD 4.0.
62754         * modules/wcwidth-tests (Depends-on): Add localcharset.
62755
62756 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62757
62758         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
62759         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
62760         * NEWS: announce this.
62761         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
62762
62763 2008-01-09  Simon Josefsson  <simon@josefsson.org>
62764         and Eric Blake  <ebb9@byu.net>
62765
62766         Add memmem-simple module.
62767         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
62768         (gl_FUNC_MEMMEM): Separate performance from presence checks.
62769         * modules/memmem-simple: New file.
62770         * modules/memmem (Description): Tweak.
62771         * MODULES.html.sh (string handling): Mention new module.
62772         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
62773         addressed by memmem-simple.
62774         * NEWS: Document the difference.
62775
62776 2008-01-09  Eric Blake  <ebb9@byu.net>
62777
62778         Give gcc some memmem optimization hints.
62779         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
62780         (strcasestr): Declare as pure.
62781         * modules/memmem (Maintainer): Claim my implementation.
62782
62783 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62784
62785         Support AIX 6.1 and higher.
62786         * build-aux/config.libpath: Likewise.
62787         * build-aux/config.rpath: Likewise.
62788
62789 2008-01-08  Jim Meyering  <meyering@redhat.com>
62790             Bruno Haible  <bruno@clisp.org>
62791
62792         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
62793         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
62794         Reported by Peter Fales in
62795         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
62796
62797 2008-01-08  Bruno Haible  <bruno@clisp.org>
62798
62799         * modules/unictype/category-of (Depends-on): Add
62800         unictype/category-none.
62801         * modules/unictype/category-and-tests (Depends-on): Add
62802         unictype/category-{L,N,Lu,Nd}.
62803         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
62804         * modules/unictype/category-or-tests (Depends-on): Add
62805         unictype/category-{L,N}.
62806         * modules/unictype/category-name-tests (Depends-on): Add
62807         unictype/category-{Z,Nl}.
62808         Reported by Simon Josefsson.
62809
62810 2008-01-08  Bruno Haible  <bruno@clisp.org>
62811
62812         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
62813         convention better.
62814         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
62815         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
62816         Reported by Peter Miller <millerp@canb.auug.org.au>.
62817
62818 2008-01-08  Eric Blake  <ebb9@byu.net>
62819
62820         Rewrite memmem to guarantee linear complexity without malloc.
62821         * lib/memmem.c (memmem): Use Two-Way rather than
62822         Knuth-Morris-Pratt, to allow O(1) space usage.
62823         (critical_factorization, two_way_short_needle)
62824         (two_way_long_needle): New functions.
62825         (knuth_morris_pratt): Delete.
62826         * modules/memmem (Depends-on): No longer need malloca or stdbool.
62827         Add stdint.
62828         * tests/test-memmem.c (main): Add tests for periodic needle and
62829         sublinear performance.
62830         * doc/functions/memmem.texi (memmem): Document other deficiencies
62831         in cygwin and older glibc.
62832
62833 2008-01-08  Bruno Haible  <bruno@clisp.org>
62834
62835         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
62836         augmentation.
62837
62838 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
62839
62840         Add a configure time option: --disable-acl.
62841         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
62842         AC_ARG_ENABLE(acl).
62843
62844 2008-01-06  Simon Josefsson  <simon@josefsson.org>
62845
62846         * tests/test-localename.c: Don't include obsolete "setenv.h".
62847
62848         * modules/localename-tests (Depends-on): Need unsetenv.
62849
62850 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62851
62852         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
62853
62854 2008-01-06  Colin Watson  <cjwatson@debian.org>
62855
62856         * users.txt: Add man-db.
62857
62858 2008-01-07  Bruno Haible  <bruno@clisp.org>
62859
62860         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
62861         previous section name.
62862
62863 2008-01-07  Bruno Haible  <bruno@clisp.org>
62864
62865         * lib/progname.c (set_program_name): Don't strip off a leading
62866         "lt-" prefix outside a .libs directory.
62867         Suggested by Paul Eggert.
62868
62869 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
62870             Bruno Haible  <bruno@clisp.org>
62871
62872         Improve memory cleanup in 'relocatable' module.
62873         * lib/relocatable.h (compute_curr_prefix): Change return type to
62874         'char *'.
62875         * lib/relocatable.c (compute_curr_prefix): Change return type to
62876         'char *'. Free curr_installdir after use.
62877         (relocate): Free curr_prefix_better after use.
62878         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
62879
62880 2008-01-01  Bruno Haible  <bruno@clisp.org>
62881
62882         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
62883         failure on older glibc systems.
62884         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62885
62886 2008-01-05  Eric Blake  <ebb9@byu.net>
62887
62888         Avoid quadratic system memmem.
62889         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
62890         Reported by Ralf Wildenhues.
62891
62892         Fix memmem test for mingw.
62893         * modules/memmem-tests (configure.ac): Check for alarm.
62894         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
62895         it.
62896         * doc/functions/memmem.texi: New file.
62897         * doc/gnulib.texi (Function Substitutes): Add memmem.
62898         Reported by Bruno Haible.
62899
62900 2008-01-04  Bruno Haible  <bruno@clisp.org>
62901
62902         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
62903         Require gl_HEADER_STRINGS_H_DEFAULTS, not
62904         gl_HEADER_STRING_H_DEFAULTS.
62905
62906 2008-01-04  Eric Blake  <ebb9@byu.net>
62907
62908         Shorten duration of memmem test.
62909         * tests/test-memmem.c (main): Use alarm to declare failure if test
62910         is taking too long.
62911         Reported by Ralf Wildenhues.
62912
62913 2007-12-21  Simon Josefsson  <simon@josefsson.org>
62914
62915         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
62916         string, needed by strerror.
62917
62918 2008-01-03  Colin Watson  <cjwatson@debian.org>
62919             Bruno Haible  <bruno@clisp.org>
62920
62921         * doc/gnulib-tool.texi (Localization): New section.
62922
62923 2008-01-02  Bruno Haible  <bruno@clisp.org>
62924
62925         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
62926         variables to 'unsigned char *' type.
62927         Reported by Paul Eggert.
62928
62929 2008-01-02  Jim Meyering  <jim@meyering.net>
62930
62931         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
62932
62933 2007-12-31  Jim Meyering  <jim@meyering.net>
62934
62935         Avoid use of private FTS type name.
62936         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
62937
62938 2007-12-30  Karl Berry  <karl@gnu.org>
62939
62940         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
62941         work around defect in Texinfo and/or the standalone Info browser.
62942
62943 2007-12-30  Bruno Haible  <bruno@clisp.org>
62944
62945         Unify 5 copies of the KMP code.
62946         * lib/str-kmp.h: New file.
62947         * lib/c-strcasestr.c: Include str-kmp.h.
62948         (knuth_morris_pratt): Remove function.
62949         (c_strcasestr): Update.
62950         * lib/c-strstr.c: Include str-kmp.h.
62951         (knuth_morris_pratt): Remove function.
62952         (c_strcasestr): Update.
62953         * lib/mbscasestr.c: Include str-kmp.h.
62954         (knuth_morris_pratt_unibyte): Remove function.
62955         * lib/mbsstr.c: Include str-kmp.h.
62956         (knuth_morris_pratt_unibyte): Remove function.
62957         * lib/strcasestr.c: Include str-kmp.h.
62958         (knuth_morris_pratt): Remove function.
62959         (strcasestr): Update.
62960         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
62961         * modules/c-strstr (Files): Likewise.
62962         * modules/mbscasestr (Files): Likewise.
62963         * modules/mbsstr (Files): Likewise.
62964         * modules/strcasestr (Files): Likewise.
62965         Suggested by Paul Eggert.
62966
62967 2007-12-30  Bruno Haible  <bruno@clisp.org>
62968
62969         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
62970         defined.
62971
62972 2007-12-30  Bruno Haible  <bruno@clisp.org>
62973
62974         * lib/xmalloca.h: Include xalloc.h.
62975         (xnmalloca): New macro.
62976
62977 2007-12-30  Bruno Haible  <bruno@clisp.org>
62978
62979         * lib/malloca.h (nmalloca): New macro.
62980         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
62981         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
62982         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
62983         knuth_morris_pratt_multibyte): Likewise.
62984         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
62985         knuth_morris_pratt_multibyte): Likewise.
62986         * lib/memmem.c (knuth_morris_pratt): Likewise.
62987         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
62988
62989 2007-12-25  Bruno Haible  <bruno@clisp.org>
62990
62991         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
62992         * lib/glob.c: Don't include openat.h.
62993         (link_exists2_p): Add back the code that deals with the
62994         !GLOB_ALTDIRFUNC case.
62995         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
62996         let it do the filename concatenation.
62997         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
62998         * modules/glob (Depends-on): Remove openat.
62999
63000 2007-12-31  Bruno Haible  <bruno@clisp.org>
63001
63002         * modules/dirfd (License): Change to LGPLv2+.
63003         Approved by Jim Meyering.
63004
63005 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
63006
63007         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
63008         when multiplying M by sizeof (size_t).
63009
63010 2007-12-10  Martin Lambers  <marlam@marlam.de>
63011
63012         Override getpagesize on mingw.
63013         * lib/getpagesize.c: New file.
63014         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
63015         * modules/getpagesize (Files): Add lib/getpagesize.c.
63016         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
63017         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63018         REPLACE_GETPAGESIZE.
63019         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
63020
63021 2007-12-25  Bruno Haible  <bruno@clisp.org>
63022
63023         * modules/localcharset (Notice): New field.
63024         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
63025         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
63026
63027 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
63028             Bruno Haible  <bruno@clisp.org>
63029
63030         Avoid using the syntax symbol() in formatted documentation.
63031         * MODULES.html.sh (func_module): When replacing symbol() with a
63032         hyperlink, remove the parentheses. Show an error if some remain.
63033         Recognize and render the '...' syntax.
63034         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
63035         Rework. Add paragraph about GCC's inlining.
63036         * doc/alloca.texi: Likewise.
63037         * doc/error.texi: Remove parentheses from symbol reference.
63038         * doc/gnulib-intro.texi: Likewise.
63039         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
63040         * modules/fnmatch (Description): Reword to say "the ... function".
63041         * modules/full-read (Description): Likewise.
63042         * modules/full-write (Description): Likewise.
63043         * modules/safe-read (Description): Likewise.
63044         * modules/safe-write (Description): Likewise.
63045         * modules/strchrnul (Description): Likewise.
63046         * modules/trim (Description): Likewise.
63047         * modules/error (Description): Remove parentheses from symbol
63048         references.
63049         * modules/verror (Description): Likewise.
63050         Reported by Karl Berry.
63051
63052 2007-12-25  Bruno Haible  <bruno@clisp.org>
63053
63054         Fixup after 2007-10-16 commit.
63055         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
63056
63057 2007-12-24  Bruno Haible  <bruno@clisp.org>
63058
63059         Make --enable-relocatable work with DESTDIR.
63060         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
63061         to compute installdir from destprog.
63062         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
63063         also set the RELOC_DESTDIR variable.
63064         Reported by Левашев Иван <octagram@bluebottle.com>.
63065
63066 2007-12-24  Bruno Haible  <bruno@clisp.org>
63067
63068         Fix link error due to xalloc_die().
63069         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
63070         of xreadlink.
63071         * lib/relocwrapper.c: Update comments.
63072         * build-aux/install-reloc: Remove xreadlink.c from file list.
63073         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
63074         xreadlink.c.
63075         Reported by Левашев Иван <octagram@bluebottle.com>.
63076
63077 2007-12-24  Bruno Haible  <bruno@clisp.org>
63078
63079         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
63080         * lib/setenv.h: Remove file.
63081         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
63082         lib/setenv.h.
63083         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
63084         (Depends-on): Add stdlib.
63085         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
63086         gl_FUNC_UNSETENV.
63087         (Include): Replace setenv.h with <stdlib.h>.
63088         * modules/unsetenv: New file.
63089         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
63090         * lib/unsetenv.c: Include <stdlib.h> first.
63091         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
63092         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
63093         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
63094         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
63095         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
63096         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
63097         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
63098         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
63099         * doc/functions/unsetenv.texi: Update.
63100         * modules/xsetenv (Depends-on): Add unsetenv.
63101         * modules/getdate (Depends-on): Likewise.
63102         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
63103         * lib/xsetenv.c: Don't include setenv.h.
63104         * lib/getdate.y: Likewise.
63105         * lib/relocwrapper.c: Likewise.
63106         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
63107         (Depends-on): Add stdlib.
63108         * NEWS: Mention the changes.
63109         Reported by Левашев Иван <octagram@bluebottle.com>.
63110
63111 2007-12-23  Bruno Haible  <bruno@clisp.org>
63112
63113         * lib/memmem.c (memmem): Use lowercase variable names. Tab
63114         indentation.
63115
63116 2007-12-23  Bruno Haible  <bruno@clisp.org>
63117
63118         * lib/c-strcasestr.c: Add more comments.
63119         * lib/c-strstr.c: Likewise.
63120         * lib/mbscasestr.c: Likewise.
63121         * lib/mbsstr.c: Likewise.
63122         * lib/strcasestr.c: Likewise.
63123         * lib/memmem.c: Likewise.
63124
63125 2007-12-23  Bruno Haible  <bruno@clisp.org>
63126
63127         * tests/test-memmem.c: Include <string.h> first.
63128
63129 2007-12-22  Bruno Haible  <bruno@clisp.org>
63130
63131         * gnulib-tool (func_create_testdir): Change $auxdir while generating
63132         the contents of $testsbase.
63133         Reported by Ralf Wildenhues.
63134
63135 2007-12-22  Bruno Haible  <bruno@clisp.org>
63136
63137         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
63138         two variables local_ldadd_before, local_ldadd_last.
63139
63140 2007-12-20  Eric Blake  <ebb9@byu.net>
63141
63142         Work around circular library issue when cross-compiling.
63143         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
63144         that progname.o does not need to pull in rpl_memcmp.
63145
63146 2007-12-19  Eric Blake  <ebb9@byu.net>
63147
63148         Fix memmem to avoid O(n^2) worst-case complexity.
63149         * lib/memmem.c (knuth_morris_pratt): New function.
63150         (memmem): Use it if first few naive iterations fail.
63151         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
63152         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
63153         * modules/memchr (License): Likewise.
63154         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
63155         malloca.
63156         * tests/test-memmem.c: Rewrite, borrowing ideas from
63157         test-mbsstr1.c; the old version wouldn't even compile!
63158         * modules/memmem-tests: New file.
63159         * lib/string.in.h (rpl_memmem): Add declaration.
63160         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
63161         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
63162         REPLACE_MEMMEM.
63163
63164 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
63165
63166         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
63167         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
63168         before any system include files, and undef after them all.  This
63169         should fix a problem on VMS reported by John E. Malmberg in
63170         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
63171
63172 2007-12-17  Eric Blake  <ebb9@byu.net>
63173
63174         Revert addition of verify, for BSD/OS.
63175         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
63176         can't handle large files, for the sake of obsolete platforms.
63177         * modules/fseeko (Depends-on): Remove verify.
63178         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
63179         * doc/functions/ftello.texi (ftello): Likewise.
63180         * doc/functions/fgetpos.texi (fgetpos): Likewise.
63181         Reported by Larry Jones.
63182
63183 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
63184
63185         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
63186         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
63187
63188 2007-12-17  Jim Meyering  <meyering@redhat.com>
63189
63190         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
63191         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
63192         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
63193         * modules/getcwd (Depends-on): Add openat.
63194         Reported by Petr Salinger.
63195
63196 2007-12-17  Bruno Haible  <bruno@clisp.org>
63197
63198         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
63199         avoid a segmentation fault of the configure test on x86_64 systems.
63200
63201 2007-12-15  Jim Meyering  <meyering@redhat.com>
63202
63203         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
63204
63205 2007-12-13  Eric Blake  <ebb9@byu.net>
63206
63207         Another fseek test.
63208         * tests/test-fseek.c (main): Also test ungetc handling.
63209         * tests/test-fseeko.c (main): Likewise.
63210         * modules/fseeko (Depends-on): Add verify.
63211         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
63212         large.
63213         Reported by Larry Jones.
63214
63215         Fix fseeko on mingw.
63216         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
63217         seek.
63218
63219         Beef up fseek tests.
63220         * tests/test-fseek.c (main): Also test eof handling.
63221         * tests/test-fseeko.c (main): Likewise.
63222         Reported by Larry Jones.
63223
63224 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
63225
63226         Fix fseeko on BSD-based platforms.
63227         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
63228         successful seek.
63229
63230 2007-12-12  Eric Blake  <ebb9@byu.net>
63231
63232         Allow circular dependency of separate libtests.a
63233         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
63234         when use_libtests.
63235
63236 2007-12-11  Eric Blake  <ebb9@byu.net>
63237
63238         Fix bug with -0.0L in previous patch.
63239         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
63240         * tests/test-isnan.c (main): Also test on zeroes.
63241         * tests/test-isnanf.c (main): Likewise.
63242         * tests/test-isnanl.h (main): Likewise.
63243
63244         Detect pseudo-denormals on x86 even when cross-compiling.
63245         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
63246         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
63247         invalid bit patterns that happen to satisfy ==.
63248
63249         Avoid link failures with separate libtests.a.
63250         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
63251         last, to satisfy circular dependencies.
63252
63253 2007-12-11  Eric Blake  <ebb9@byu.net>
63254         and Bruno Haible  <bruno@clisp.org>
63255
63256         Fix OpenBSD 4.0 <float.h> handling of long double.
63257         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
63258         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
63259         * doc/headers/float.texi (float.h): Document OpenBSD bug.
63260
63261 2007-12-11  Jim Meyering  <meyering@redhat.com>
63262
63263         * users.txt: Add libvirt.
63264
63265         Support versions of autoconf prior to 2.59c.
63266         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
63267         if it is not already defined.
63268
63269 2007-12-09  Bruno Haible  <bruno@clisp.org>
63270
63271         Let 'gnulib-tool --import' collect sources needed for the tests in
63272         tests/ rather than in lib/.
63273         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
63274         argument. If true, add rules to generate libtests.a, and put libtests.a
63275         into $(LDADD). Consider source files in subdirectories and set
63276         uses_subdirs.
63277         (func_emit_initmacro_start, func_emit_initmacro_end,
63278         func_emit_initmacro_done): Pass all arguments explicitly.
63279         (func_import): Determine two module lists main_modules,
63280         testsrelated_modules. Determine use_libtests. Determine two variables
63281         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
63282         instead of just sed_transform_lib_file. Determine two variables
63283         main_files and testsrelated_files. Compute 'files' as the union of
63284         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
63285         func_add_or_update. In the generated gnulib-comp.m4, collect the
63286         object files for tests/ in different variables than those for lib/.
63287         Substitute LIBTESTS_LIBDEPS.
63288         (func_create_testdir): Combine the uses_subdirs results from
63289         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
63290
63291 2007-12-09  Bruno Haible  <bruno@clisp.org>
63292
63293         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
63294         the build-aux directory.
63295
63296 2007-12-09  Bruno Haible  <bruno@clisp.org>
63297
63298         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
63299         introduced on 2006-09-09.
63300
63301 2007-12-07  Jim Meyering  <meyering@redhat.com>
63302
63303         Let these macros work also with autoconf-2.59.
63304         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
63305         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
63306         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63307
63308 2007-12-06  Jim Meyering  <meyering@redhat.com>
63309
63310         Avoid a configure-time syntax error in gl_FUNC_ACL.
63311         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
63312         function in each branch, before testing the cache variable.
63313
63314 2007-12-04  Eric Blake  <ebb9@byu.net>
63315
63316         Make scripts executable.
63317         * build-aux/config.guess: Add execute permissions.
63318         * build-aux/config.sub: Likewise.
63319         * build-aux/gendocs.sh: Likewise.
63320
63321         Fix frexp on mingw.
63322         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
63323         cross-compiling.
63324         * doc/functions/frexp.texi (frexp): Document the bug.
63325
63326         Make cygwin fseeko check more reliable.
63327         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
63328         version numbers, rather than unrelated feature check.
63329         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
63330         * doc/functions/ftello.texi (ftello): Likewise.
63331         Reported by Bruno Haible.
63332
63333         * m4/strerror.m4: Bump version number.
63334
63335 2007-12-03  Bruno Haible  <bruno@clisp.org>
63336
63337         * doc/functions/mprotect.texi: Mention the mingw problem.
63338
63339 2007-12-03  Eric Blake  <ebb9@byu.net>
63340
63341         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
63342         REPLACE_STRERROR is initialized before this macro.
63343
63344 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
63345
63346         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
63347         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
63348         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
63349         put -lsec in even for programs other than 'ls'.  This fixes a problem
63350         for gettext reported by Bruno Haible in
63351         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
63352         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
63353         Add support for Solaris 10.  This isn't efficient, but should get the
63354         job done for now.
63355
63356 2007-12-03  James Youngman  <jay@gnu.org>
63357
63358         * doc/regexprops-generic.texi: change "an close-group" to "a
63359         close-group" and "illegal" to "not allowed".
63360
63361 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63362
63363         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
63364         pr_byname.h. Needed for the rare case when the maintainer has done
63365         "make maintainer-clean" in the source directory and then attempts a
63366         build outside the source directory.
63367         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
63368         scripts_byname.h.
63369
63370 2007-12-02  Martin Lambers <marlam@marlam.de>
63371             Bruno Haible  <bruno@clisp.org>
63372
63373         * lib/getpagesize.h: Remove file.
63374         * lib/unistd.in.h: Include declaration of getpagesize here.
63375         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
63376         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
63377         HAVE_SYS_PARAM_H.
63378         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
63379         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63380         * modules/getpagesize (Files): Remove lib/getpagesize.h.
63381         (Depends-on): Add unistd.
63382         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63383         (Include): Use <unistd.h> instead of getpagesize.h.
63384         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
63385         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63386         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
63387         gl_GETPAGESIZE invocation, already handled by module dependency.
63388         * lib/pagealign_alloc.c: Don't include getpagesize.h.
63389
63390 2007-12-02  Bruno Haible  <bruno@clisp.org>
63391
63392         * modules/strings-tests: New file.
63393         * tests/test-strings.c: New file.
63394
63395         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
63396         * lib/strings.in.h: New file.
63397         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
63398         * m4/strings_h.m4: New file.
63399         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
63400         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
63401         * modules/strings: New file.
63402         * modules/string (Makefile.am): Update.
63403         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
63404         Reported by Karl Berry.
63405
63406 2007-12-01  Eric Blake  <ebb9@byu.net>
63407
63408         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
63409         accommodate fix in cygwin 1.5.25.
63410
63411 2007-12-01  Jim Meyering  <meyering@redhat.com>
63412
63413         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
63414         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
63415         that would inhibit utf8-optimization of a regexp containing line-
63416         or buffer-anchors, e.g., `^', `$'.
63417
63418 2007-11-30  Bruno Haible  <bruno@clisp.org>
63419
63420         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
63421         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
63422         glthread_recursive_lock_init.
63423         * lib/lock.c (glthread_recursive_lock_init)
63424         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
63425         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63426
63427 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
63428
63429         New function qset_acl, like set_acl but with syscall semantics.
63430         * lib/acl.h (qset_acl): New decl.
63431         * lib/acl.c (qset_acl): New function.
63432         (set_acl): Use new function.  Use more-consistent diagnostics.
63433
63434 2007-11-28  Jim Meyering  <meyering@redhat.com>
63435
63436         * modules/physmem (License): Change from GPL to LGPLv2+.
63437
63438 2007-11-26  Bruno Haible  <bruno@clisp.org>
63439
63440         * lib/vasnprintf.c (decode_long_double): Don't abort if the
63441         'long double' type has excess precision.
63442         Reported by Jim Meyering in
63443         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
63444
63445 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63446
63447         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
63448         Sync from <http://gnu.org/licenses>.
63449         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
63450         with license text from same location.
63451         * doc/maintain.texi, doc/standards.texi:  Sync from
63452         <http://savannah.gnu.org/projects/gnustandards>.
63453
63454 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
63455         and Jim Meyering  <meyering@redhat.com>
63456
63457         Adjust getdate' grammar to accept a slightly more regular language.
63458         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
63459         Before, the former was rejected.
63460         * lib/getdate.y (digits_to_date_time): New function, factored
63461         out of ...
63462         (number): ...here.  Just call digits_to_date_time.
63463         (hybrid): New non-terminal to handle an <unsigned number,
63464         signed relative offset> sequence consistently.
63465
63466 2007-11-18  Jim Meyering  <meyering@redhat.com>
63467
63468         Pull my changes from coreutils:
63469         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
63470         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
63471         use of $gnulib_tool_option_extras, so that it's separated from the
63472         preceding argument.
63473
63474         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
63475         * build-aux/bootstrap (cp_mark_as_generated): Create any required
63476         parent destination directories before copying a file into place.
63477
63478 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
63479
63480         bootstrap: work also with 4-argument variant of AC_INIT
63481         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
63482
63483 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
63484
63485         Port test-getaddrinfo to Solaris.
63486         Problem reported by Bruno Haible in
63487         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
63488         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
63489         explanation of setting 'hints'.
63490         Don't reject an implementation merely because it returns EAI_SERVICE.
63491         (EAI_SERVICE): Define to 0 if not defined.
63492
63493 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63494
63495         The license of gnu-make and posix-shell is now "GPLed build tool".
63496         * modules/gnu-make (License): Likewise.
63497         * modules/posix-shell (License): Likewise.
63498
63499         New module posix-shell, for determining a POSIX shell
63500         or perhaps something that is close enough to a POSIX shell.
63501         * m4/posix-shell.m4: New file.
63502         * modules/posix-shell: New file.
63503
63504         * MODULES.html.sh: Mention new module.
63505
63506         New module gnu-make, for determining whether we're using GNU Make.
63507         * m4/gnu-make.m4: New file.
63508         * modules/gnu-make: New file.
63509         * MODULES.html.sh: Mention new module.
63510
63511 2007-11-14  Jim Meyering  <meyering@redhat.com>
63512
63513         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
63514         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
63515         use this macro to create a function _definition_.
63516         Remove useless "#undef ARGMATCH_DIE".
63517
63518 2007-11-14  Bruno Haible  <bruno@clisp.org>
63519
63520         * lib/config.charset: Update for OpenBSD 4.1.
63521         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
63522
63523 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
63524
63525         Document 64-bit #if problems in stdint.texi.
63526         * doc/headers/stdint.texi (stdint.h): Mention problems with
63527         64-bit-#if, and how to work around them.
63528
63529         Don't insist on 'long long int' support in the preprocessor.  It
63530         breaks too many things.  For example, PRIdMAX still uses a 'long
63531         long int' format with the latest Sun compiler, even though
63532         HAVE_LONG_LONG_INT isn't defined due to that compiler's
63533         preprocessor problem.  This causes the latest coreutils to dump
63534         core on Solaris 10 sparc with the Sun C compiler.
63535         Instead, fix the 2007-10-16 problem in a different way, by evaluating
63536         the troublesome expressions at configure-time, not at #if-time.
63537         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
63538         preprocessor.
63539         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
63540         compile-time C checks, done at 'configure'-time.
63541         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
63542         * modules/inttypes (Makefile): Substitute the new symbols that
63543         gl_INTTYPES_H now generates.
63544         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
63545
63546 2007-11-12  Bruno Haible  <bruno@clisp.org>
63547
63548         Tests for Unicode character classification functions.
63549
63550         * modules/unictype/bidicategory-byname-tests: New file.
63551         * modules/unictype/bidicategory-name-tests: New file.
63552         * modules/unictype/bidicategory-of-tests: New file.
63553         * modules/unictype/bidicategory-test-tests: New file.
63554         * modules/unictype/block-list-tests: New file.
63555         * modules/unictype/block-of-tests: New file.
63556         * modules/unictype/block-test-tests: New file.
63557         * modules/unictype/category-C-tests: New file.
63558         * modules/unictype/category-Cc-tests: New file.
63559         * modules/unictype/category-Cf-tests: New file.
63560         * modules/unictype/category-Cn-tests: New file.
63561         * modules/unictype/category-Co-tests: New file.
63562         * modules/unictype/category-Cs-tests: New file.
63563         * modules/unictype/category-L-tests: New file.
63564         * modules/unictype/category-Ll-tests: New file.
63565         * modules/unictype/category-Lm-tests: New file.
63566         * modules/unictype/category-Lo-tests: New file.
63567         * modules/unictype/category-Lt-tests: New file.
63568         * modules/unictype/category-Lu-tests: New file.
63569         * modules/unictype/category-M-tests: New file.
63570         * modules/unictype/category-Mc-tests: New file.
63571         * modules/unictype/category-Me-tests: New file.
63572         * modules/unictype/category-Mn-tests: New file.
63573         * modules/unictype/category-N-tests: New file.
63574         * modules/unictype/category-Nd-tests: New file.
63575         * modules/unictype/category-Nl-tests: New file.
63576         * modules/unictype/category-No-tests: New file.
63577         * modules/unictype/category-P-tests: New file.
63578         * modules/unictype/category-Pc-tests: New file.
63579         * modules/unictype/category-Pd-tests: New file.
63580         * modules/unictype/category-Pe-tests: New file.
63581         * modules/unictype/category-Pf-tests: New file.
63582         * modules/unictype/category-Pi-tests: New file.
63583         * modules/unictype/category-Po-tests: New file.
63584         * modules/unictype/category-Ps-tests: New file.
63585         * modules/unictype/category-S-tests: New file.
63586         * modules/unictype/category-Sc-tests: New file.
63587         * modules/unictype/category-Sk-tests: New file.
63588         * modules/unictype/category-Sm-tests: New file.
63589         * modules/unictype/category-So-tests: New file.
63590         * modules/unictype/category-Z-tests: New file.
63591         * modules/unictype/category-Zl-tests: New file.
63592         * modules/unictype/category-Zp-tests: New file.
63593         * modules/unictype/category-Zs-tests: New file.
63594         * modules/unictype/category-and-not-tests: New file.
63595         * modules/unictype/category-and-tests: New file.
63596         * modules/unictype/category-byname-tests: New file.
63597         * modules/unictype/category-name-tests: New file.
63598         * modules/unictype/category-none-tests: New file.
63599         * modules/unictype/category-of-tests: New file.
63600         * modules/unictype/category-or-tests: New file.
63601         * modules/unictype/category-test-withtable-tests: New file.
63602         * modules/unictype/combining-class-tests: New file.
63603         * modules/unictype/ctype-alnum-tests: New file.
63604         * modules/unictype/ctype-alpha-tests: New file.
63605         * modules/unictype/ctype-blank-tests: New file.
63606         * modules/unictype/ctype-cntrl-tests: New file.
63607         * modules/unictype/ctype-digit-tests: New file.
63608         * modules/unictype/ctype-graph-tests: New file.
63609         * modules/unictype/ctype-lower-tests: New file.
63610         * modules/unictype/ctype-print-tests: New file.
63611         * modules/unictype/ctype-punct-tests: New file.
63612         * modules/unictype/ctype-space-tests: New file.
63613         * modules/unictype/ctype-upper-tests: New file.
63614         * modules/unictype/ctype-xdigit-tests: New file.
63615         * modules/unictype/decimal-digit-tests: New file.
63616         * modules/unictype/digit-tests: New file.
63617         * modules/unictype/mirror-tests: New file.
63618         * modules/unictype/numeric-tests: New file.
63619         * modules/unictype/property-alphabetic-tests: New file.
63620         * modules/unictype/property-ascii-hex-digit-tests: New file.
63621         * modules/unictype/property-bidi-arabic-digit-tests: New file.
63622         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
63623         * modules/unictype/property-bidi-block-separator-tests: New file.
63624         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
63625         * modules/unictype/property-bidi-common-separator-tests: New file.
63626         * modules/unictype/property-bidi-control-tests: New file.
63627         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
63628         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
63629         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
63630         * modules/unictype/property-bidi-european-digit-tests: New file.
63631         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
63632         * modules/unictype/property-bidi-left-to-right-tests: New file.
63633         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
63634         * modules/unictype/property-bidi-other-neutral-tests: New file.
63635         * modules/unictype/property-bidi-pdf-tests: New file.
63636         * modules/unictype/property-bidi-segment-separator-tests: New file.
63637         * modules/unictype/property-bidi-whitespace-tests: New file.
63638         * modules/unictype/property-byname-tests: New file.
63639         * modules/unictype/property-combining-tests: New file.
63640         * modules/unictype/property-composite-tests: New file.
63641         * modules/unictype/property-currency-symbol-tests: New file.
63642         * modules/unictype/property-dash-tests: New file.
63643         * modules/unictype/property-decimal-digit-tests: New file.
63644         * modules/unictype/property-default-ignorable-code-point-tests: New file.
63645         * modules/unictype/property-deprecated-tests: New file.
63646         * modules/unictype/property-diacritic-tests: New file.
63647         * modules/unictype/property-extender-tests: New file.
63648         * modules/unictype/property-format-control-tests: New file.
63649         * modules/unictype/property-grapheme-base-tests: New file.
63650         * modules/unictype/property-grapheme-extend-tests: New file.
63651         * modules/unictype/property-grapheme-link-tests: New file.
63652         * modules/unictype/property-hex-digit-tests: New file.
63653         * modules/unictype/property-hyphen-tests: New file.
63654         * modules/unictype/property-id-continue-tests: New file.
63655         * modules/unictype/property-id-start-tests: New file.
63656         * modules/unictype/property-ideographic-tests: New file.
63657         * modules/unictype/property-ids-binary-operator-tests: New file.
63658         * modules/unictype/property-ids-trinary-operator-tests: New file.
63659         * modules/unictype/property-ignorable-control-tests: New file.
63660         * modules/unictype/property-iso-control-tests: New file.
63661         * modules/unictype/property-join-control-tests: New file.
63662         * modules/unictype/property-left-of-pair-tests: New file.
63663         * modules/unictype/property-line-separator-tests: New file.
63664         * modules/unictype/property-logical-order-exception-tests: New file.
63665         * modules/unictype/property-lowercase-tests: New file.
63666         * modules/unictype/property-math-tests: New file.
63667         * modules/unictype/property-non-break-tests: New file.
63668         * modules/unictype/property-not-a-character-tests: New file.
63669         * modules/unictype/property-numeric-tests: New file.
63670         * modules/unictype/property-other-alphabetic-tests: New file.
63671         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
63672         * modules/unictype/property-other-grapheme-extend-tests: New file.
63673         * modules/unictype/property-other-id-continue-tests: New file.
63674         * modules/unictype/property-other-id-start-tests: New file.
63675         * modules/unictype/property-other-lowercase-tests: New file.
63676         * modules/unictype/property-other-math-tests: New file.
63677         * modules/unictype/property-other-uppercase-tests: New file.
63678         * modules/unictype/property-paired-punctuation-tests: New file.
63679         * modules/unictype/property-paragraph-separator-tests: New file.
63680         * modules/unictype/property-pattern-syntax-tests: New file.
63681         * modules/unictype/property-pattern-white-space-tests: New file.
63682         * modules/unictype/property-private-use-tests: New file.
63683         * modules/unictype/property-punctuation-tests: New file.
63684         * modules/unictype/property-quotation-mark-tests: New file.
63685         * modules/unictype/property-radical-tests: New file.
63686         * modules/unictype/property-sentence-terminal-tests: New file.
63687         * modules/unictype/property-soft-dotted-tests: New file.
63688         * modules/unictype/property-space-tests: New file.
63689         * modules/unictype/property-terminal-punctuation-tests: New file.
63690         * modules/unictype/property-test-tests: New file.
63691         * modules/unictype/property-titlecase-tests: New file.
63692         * modules/unictype/property-unassigned-code-value-tests: New file.
63693         * modules/unictype/property-unified-ideograph-tests: New file.
63694         * modules/unictype/property-uppercase-tests: New file.
63695         * modules/unictype/property-variation-selector-tests: New file.
63696         * modules/unictype/property-white-space-tests: New file.
63697         * modules/unictype/property-xid-continue-tests: New file.
63698         * modules/unictype/property-xid-start-tests: New file.
63699         * modules/unictype/property-zero-width-tests: New file.
63700         * modules/unictype/scripts-tests: New file.
63701         * modules/unictype/syntax-c-ident-tests: New file.
63702         * modules/unictype/syntax-c-whitespace-tests: New file.
63703         * modules/unictype/syntax-java-ident-tests: New file.
63704         * modules/unictype/syntax-java-whitespace-tests: New file.
63705         * tests/unictype/test-bidi_byname.c: New file.
63706         * tests/unictype/test-bidi_name.c: New file.
63707         * tests/unictype/test-bidi_of.c: New file.
63708         * tests/unictype/test-bidi_test.c: New file.
63709         * tests/unictype/test-block_list.c: New file.
63710         * tests/unictype/test-block_of.c: New file.
63711         * tests/unictype/test-block_test.c: New file.
63712         * tests/unictype/test-categ_and.c: New file.
63713         * tests/unictype/test-categ_and_not.c: New file.
63714         * tests/unictype/test-categ_byname.c: New file.
63715         * tests/unictype/test-categ_name.c: New file.
63716         * tests/unictype/test-categ_none.c: New file.
63717         * tests/unictype/test-categ_of.c: New file.
63718         * tests/unictype/test-categ_or.c: New file.
63719         * tests/unictype/test-categ_test_withtable.c: New file.
63720         * tests/unictype/test-combining.c: New file.
63721         * tests/unictype/test-decdigit.c: New file.
63722         * tests/unictype/test-digit.c: New file.
63723         * tests/unictype/test-mirror.c: New file.
63724         * tests/unictype/test-numeric.c: New file.
63725         * tests/unictype/test-pr_byname.c: New file.
63726         * tests/unictype/test-pr_test.c: New file.
63727         * tests/unictype/test-predicate-part1.h: New file.
63728         * tests/unictype/test-predicate-part2.h: New file.
63729         * tests/unictype/test-scripts.c: New file.
63730         * tests/unictype/test-sy_c_ident.c: New file.
63731         * tests/unictype/test-sy_java_ident.c: New file.
63732
63733         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
63734         for Unicode 5.0.0.
63735         * tests/unictype/test-categ_Cc.c: Likewise.
63736         * tests/unictype/test-categ_Cf.c: Likewise.
63737         * tests/unictype/test-categ_Cn.c: Likewise.
63738         * tests/unictype/test-categ_Co.c: Likewise.
63739         * tests/unictype/test-categ_Cs.c: Likewise.
63740         * tests/unictype/test-categ_L.c: Likewise.
63741         * tests/unictype/test-categ_Ll.c: Likewise.
63742         * tests/unictype/test-categ_Lm.c: Likewise.
63743         * tests/unictype/test-categ_Lo.c: Likewise.
63744         * tests/unictype/test-categ_Lt.c: Likewise.
63745         * tests/unictype/test-categ_Lu.c: Likewise.
63746         * tests/unictype/test-categ_M.c: Likewise.
63747         * tests/unictype/test-categ_Mc.c: Likewise.
63748         * tests/unictype/test-categ_Me.c: Likewise.
63749         * tests/unictype/test-categ_Mn.c: Likewise.
63750         * tests/unictype/test-categ_N.c: Likewise.
63751         * tests/unictype/test-categ_Nd.c: Likewise.
63752         * tests/unictype/test-categ_Nl.c: Likewise.
63753         * tests/unictype/test-categ_No.c: Likewise.
63754         * tests/unictype/test-categ_P.c: Likewise.
63755         * tests/unictype/test-categ_Pc.c: Likewise.
63756         * tests/unictype/test-categ_Pd.c: Likewise.
63757         * tests/unictype/test-categ_Pe.c: Likewise.
63758         * tests/unictype/test-categ_Pf.c: Likewise.
63759         * tests/unictype/test-categ_Pi.c: Likewise.
63760         * tests/unictype/test-categ_Po.c: Likewise.
63761         * tests/unictype/test-categ_Ps.c: Likewise.
63762         * tests/unictype/test-categ_S.c: Likewise.
63763         * tests/unictype/test-categ_Sc.c: Likewise.
63764         * tests/unictype/test-categ_Sk.c: Likewise.
63765         * tests/unictype/test-categ_Sm.c: Likewise.
63766         * tests/unictype/test-categ_So.c: Likewise.
63767         * tests/unictype/test-categ_Z.c: Likewise.
63768         * tests/unictype/test-categ_Zl.c: Likewise.
63769         * tests/unictype/test-categ_Zp.c: Likewise.
63770         * tests/unictype/test-categ_Zs.c: Likewise.
63771         * tests/unictype/test-ctype_alnum.c: Likewise.
63772         * tests/unictype/test-ctype_alpha.c: Likewise.
63773         * tests/unictype/test-ctype_blank.c: Likewise.
63774         * tests/unictype/test-ctype_cntrl.c: Likewise.
63775         * tests/unictype/test-ctype_digit.c: Likewise.
63776         * tests/unictype/test-ctype_graph.c: Likewise.
63777         * tests/unictype/test-ctype_lower.c: Likewise.
63778         * tests/unictype/test-ctype_print.c: Likewise.
63779         * tests/unictype/test-ctype_punct.c: Likewise.
63780         * tests/unictype/test-ctype_space.c: Likewise.
63781         * tests/unictype/test-ctype_upper.c: Likewise.
63782         * tests/unictype/test-ctype_xdigit.c: Likewise.
63783         * tests/unictype/test-decdigit.h: Likewise.
63784         * tests/unictype/test-digit.h: Likewise.
63785         * tests/unictype/test-numeric.h: Likewise.
63786         * tests/unictype/test-pr_alphabetic.c: Likewise.
63787         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
63788         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
63789         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
63790         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
63791         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
63792         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
63793         * tests/unictype/test-pr_bidi_control.c: Likewise.
63794         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
63795         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
63796         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
63797         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
63798         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
63799         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
63800         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
63801         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
63802         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
63803         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
63804         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
63805         * tests/unictype/test-pr_combining.c: Likewise.
63806         * tests/unictype/test-pr_composite.c: Likewise.
63807         * tests/unictype/test-pr_currency_symbol.c: Likewise.
63808         * tests/unictype/test-pr_dash.c: Likewise.
63809         * tests/unictype/test-pr_decimal_digit.c: Likewise.
63810         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
63811         * tests/unictype/test-pr_deprecated.c: Likewise.
63812         * tests/unictype/test-pr_diacritic.c: Likewise.
63813         * tests/unictype/test-pr_extender.c: Likewise.
63814         * tests/unictype/test-pr_format_control.c: Likewise.
63815         * tests/unictype/test-pr_grapheme_base.c: Likewise.
63816         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
63817         * tests/unictype/test-pr_grapheme_link.c: Likewise.
63818         * tests/unictype/test-pr_hex_digit.c: Likewise.
63819         * tests/unictype/test-pr_hyphen.c: Likewise.
63820         * tests/unictype/test-pr_id_continue.c: Likewise.
63821         * tests/unictype/test-pr_id_start.c: Likewise.
63822         * tests/unictype/test-pr_ideographic.c: Likewise.
63823         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
63824         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
63825         * tests/unictype/test-pr_ignorable_control.c: Likewise.
63826         * tests/unictype/test-pr_iso_control.c: Likewise.
63827         * tests/unictype/test-pr_join_control.c: Likewise.
63828         * tests/unictype/test-pr_left_of_pair.c: Likewise.
63829         * tests/unictype/test-pr_line_separator.c: Likewise.
63830         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
63831         * tests/unictype/test-pr_lowercase.c: Likewise.
63832         * tests/unictype/test-pr_math.c: Likewise.
63833         * tests/unictype/test-pr_non_break.c: Likewise.
63834         * tests/unictype/test-pr_not_a_character.c: Likewise.
63835         * tests/unictype/test-pr_numeric.c: Likewise.
63836         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
63837         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
63838         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
63839         * tests/unictype/test-pr_other_id_continue.c: Likewise.
63840         * tests/unictype/test-pr_other_id_start.c: Likewise.
63841         * tests/unictype/test-pr_other_lowercase.c: Likewise.
63842         * tests/unictype/test-pr_other_math.c: Likewise.
63843         * tests/unictype/test-pr_other_uppercase.c: Likewise.
63844         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
63845         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
63846         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
63847         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
63848         * tests/unictype/test-pr_private_use.c: Likewise.
63849         * tests/unictype/test-pr_punctuation.c: Likewise.
63850         * tests/unictype/test-pr_quotation_mark.c: Likewise.
63851         * tests/unictype/test-pr_radical.c: Likewise.
63852         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
63853         * tests/unictype/test-pr_soft_dotted.c: Likewise.
63854         * tests/unictype/test-pr_space.c: Likewise.
63855         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
63856         * tests/unictype/test-pr_titlecase.c: Likewise.
63857         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
63858         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
63859         * tests/unictype/test-pr_uppercase.c: Likewise.
63860         * tests/unictype/test-pr_variation_selector.c: Likewise.
63861         * tests/unictype/test-pr_white_space.c: Likewise.
63862         * tests/unictype/test-pr_xid_continue.c: Likewise.
63863         * tests/unictype/test-pr_xid_start.c: Likewise.
63864         * tests/unictype/test-pr_zero_width.c: Likewise.
63865         * tests/unictype/test-sy_c_whitespace.c: Likewise.
63866         * tests/unictype/test-sy_java_whitespace.c: Likewise.
63867
63868 2007-11-12  Bruno Haible  <bruno@clisp.org>
63869
63870         Unicode character classification functions.
63871         * lib/unictype.h: New file.
63872         * modules/unictype/base: New file.
63873         * modules/unictype/category-L: New file.
63874         * modules/unictype/category-Lu: New file.
63875         * modules/unictype/category-Ll: New file.
63876         * modules/unictype/category-Lt: New file.
63877         * modules/unictype/category-Lm: New file.
63878         * modules/unictype/category-Lo: New file.
63879         * modules/unictype/category-M: New file.
63880         * modules/unictype/category-Mn: New file.
63881         * modules/unictype/category-Mc: New file.
63882         * modules/unictype/category-Me: New file.
63883         * modules/unictype/category-N: New file.
63884         * modules/unictype/category-Nd: New file.
63885         * modules/unictype/category-Nl: New file.
63886         * modules/unictype/category-No: New file.
63887         * modules/unictype/category-P: New file.
63888         * modules/unictype/category-Pc: New file.
63889         * modules/unictype/category-Pd: New file.
63890         * modules/unictype/category-Ps: New file.
63891         * modules/unictype/category-Pe: New file.
63892         * modules/unictype/category-Pi: New file.
63893         * modules/unictype/category-Pf: New file.
63894         * modules/unictype/category-Po: New file.
63895         * modules/unictype/category-S: New file.
63896         * modules/unictype/category-Sm: New file.
63897         * modules/unictype/category-Sc: New file.
63898         * modules/unictype/category-Sk: New file.
63899         * modules/unictype/category-So: New file.
63900         * modules/unictype/category-Z: New file.
63901         * modules/unictype/category-Zs: New file.
63902         * modules/unictype/category-Zl: New file.
63903         * modules/unictype/category-Zp: New file.
63904         * modules/unictype/category-C: New file.
63905         * modules/unictype/category-Cc: New file.
63906         * modules/unictype/category-Cf: New file.
63907         * modules/unictype/category-Cs: New file.
63908         * modules/unictype/category-Co: New file.
63909         * modules/unictype/category-Cn: New file.
63910         * modules/unictype/category-or: New file.
63911         * modules/unictype/category-of: New file.
63912         * modules/unictype/category-test: New file.
63913         * modules/unictype/category-test-withtable: New file.
63914         * modules/unictype/category-byname: New file.
63915         * modules/unictype/category-none: New file.
63916         * modules/unictype/category-and: New file.
63917         * modules/unictype/category-and-not: New file.
63918         * modules/unictype/category-name: New file.
63919         * modules/unictype/combining-class: New file.
63920         * modules/unictype/category-all: New file.
63921         * modules/unictype/bidicategory-all: New file.
63922         * modules/unictype/bidicategory-byname: New file.
63923         * modules/unictype/bidicategory-name: New file.
63924         * modules/unictype/bidicategory-of: New file.
63925         * modules/unictype/bidicategory-test: New file.
63926         * modules/unictype/decimal-digit: New file.
63927         * modules/unictype/digit: New file.
63928         * modules/unictype/numeric: New file.
63929         * modules/unictype/mirror: New file.
63930         * modules/unictype/property-white-space: New file.
63931         * modules/unictype/property-alphabetic: New file.
63932         * modules/unictype/property-other-alphabetic: New file.
63933         * modules/unictype/property-not-a-character: New file.
63934         * modules/unictype/property-default-ignorable-code-point: New file.
63935         * modules/unictype/property-other-default-ignorable-code-point: New
63936         file.
63937         * modules/unictype/property-deprecated: New file.
63938         * modules/unictype/property-logical-order-exception: New file.
63939         * modules/unictype/property-variation-selector: New file.
63940         * modules/unictype/property-private-use: New file.
63941         * modules/unictype/property-unassigned-code-value: New file.
63942         * modules/unictype/property-uppercase: New file.
63943         * modules/unictype/property-other-uppercase: New file.
63944         * modules/unictype/property-lowercase: New file.
63945         * modules/unictype/property-other-lowercase: New file.
63946         * modules/unictype/property-titlecase: New file.
63947         * modules/unictype/property-soft-dotted: New file.
63948         * modules/unictype/property-id-start: New file.
63949         * modules/unictype/property-other-id-start: New file.
63950         * modules/unictype/property-id-continue: New file.
63951         * modules/unictype/property-other-id-continue: New file.
63952         * modules/unictype/property-xid-start: New file.
63953         * modules/unictype/property-xid-continue: New file.
63954         * modules/unictype/property-pattern-white-space: New file.
63955         * modules/unictype/property-pattern-syntax: New file.
63956         * modules/unictype/property-join-control: New file.
63957         * modules/unictype/property-grapheme-base: New file.
63958         * modules/unictype/property-grapheme-extend: New file.
63959         * modules/unictype/property-other-grapheme-extend: New file.
63960         * modules/unictype/property-grapheme-link: New file.
63961         * modules/unictype/property-bidi-control: New file.
63962         * modules/unictype/property-bidi-left-to-right: New file.
63963         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
63964         * modules/unictype/property-bidi-arabic-right-to-left: New file.
63965         * modules/unictype/property-bidi-european-digit: New file.
63966         * modules/unictype/property-bidi-eur-num-separator: New file.
63967         * modules/unictype/property-bidi-eur-num-terminator: New file.
63968         * modules/unictype/property-bidi-arabic-digit: New file.
63969         * modules/unictype/property-bidi-common-separator: New file.
63970         * modules/unictype/property-bidi-block-separator: New file.
63971         * modules/unictype/property-bidi-segment-separator: New file.
63972         * modules/unictype/property-bidi-whitespace: New file.
63973         * modules/unictype/property-bidi-non-spacing-mark: New file.
63974         * modules/unictype/property-bidi-boundary-neutral: New file.
63975         * modules/unictype/property-bidi-pdf: New file.
63976         * modules/unictype/property-bidi-embedding-or-override: New file.
63977         * modules/unictype/property-bidi-other-neutral: New file.
63978         * modules/unictype/property-hex-digit: New file.
63979         * modules/unictype/property-ascii-hex-digit: New file.
63980         * modules/unictype/property-ideographic: New file.
63981         * modules/unictype/property-unified-ideograph: New file.
63982         * modules/unictype/property-radical: New file.
63983         * modules/unictype/property-ids-binary-operator: New file.
63984         * modules/unictype/property-ids-trinary-operator: New file.
63985         * modules/unictype/property-zero-width: New file.
63986         * modules/unictype/property-space: New file.
63987         * modules/unictype/property-non-break: New file.
63988         * modules/unictype/property-iso-control: New file.
63989         * modules/unictype/property-format-control: New file.
63990         * modules/unictype/property-dash: New file.
63991         * modules/unictype/property-hyphen: New file.
63992         * modules/unictype/property-punctuation: New file.
63993         * modules/unictype/property-line-separator: New file.
63994         * modules/unictype/property-paragraph-separator: New file.
63995         * modules/unictype/property-quotation-mark: New file.
63996         * modules/unictype/property-sentence-terminal: New file.
63997         * modules/unictype/property-terminal-punctuation: New file.
63998         * modules/unictype/property-currency-symbol: New file.
63999         * modules/unictype/property-math: New file.
64000         * modules/unictype/property-other-math: New file.
64001         * modules/unictype/property-paired-punctuation: New file.
64002         * modules/unictype/property-left-of-pair: New file.
64003         * modules/unictype/property-combining: New file.
64004         * modules/unictype/property-composite: New file.
64005         * modules/unictype/property-decimal-digit: New file.
64006         * modules/unictype/property-numeric: New file.
64007         * modules/unictype/property-diacritic: New file.
64008         * modules/unictype/property-extender: New file.
64009         * modules/unictype/property-ignorable-control: New file.
64010         * modules/unictype/property-test: New file.
64011         * modules/unictype/property-byname: New file.
64012         * modules/unictype/property-all: New file.
64013         * modules/unictype/scripts: New file.
64014         * modules/unictype/scripts-all: New file.
64015         * modules/unictype/block-of: New file.
64016         * modules/unictype/block-test: New file.
64017         * modules/unictype/block-list: New file.
64018         * modules/unictype/block-all: New file.
64019         * modules/unictype/syntax-c-whitespace: New file.
64020         * modules/unictype/syntax-java-whitespace: New file.
64021         * modules/unictype/syntax-c-ident: New file.
64022         * modules/unictype/syntax-java-ident: New file.
64023         * modules/unictype/ctype-alnum: New file.
64024         * modules/unictype/ctype-alpha: New file.
64025         * modules/unictype/ctype-cntrl: New file.
64026         * modules/unictype/ctype-digit: New file.
64027         * modules/unictype/ctype-graph: New file.
64028         * modules/unictype/ctype-lower: New file.
64029         * modules/unictype/ctype-print: New file.
64030         * modules/unictype/ctype-punct: New file.
64031         * modules/unictype/ctype-space: New file.
64032         * modules/unictype/ctype-upper: New file.
64033         * modules/unictype/ctype-xdigit: New file.
64034         * modules/unictype/ctype-blank: New file.
64035         * lib/unictype/bidi_byname.c: New file.
64036         * lib/unictype/bidi_name.c: New file.
64037         * lib/unictype/bidi_of.c: New file.
64038         * lib/unictype/bidi_test.c: New file.
64039         * lib/unictype/bitmap.h: New file.
64040         * lib/unictype/block_test.c: New file.
64041         * lib/unictype/blocks.c: New file.
64042         * lib/unictype/categ_C.c: New file.
64043         * lib/unictype/categ_Cc.c: New file.
64044         * lib/unictype/categ_Cf.c: New file.
64045         * lib/unictype/categ_Cn.c: New file.
64046         * lib/unictype/categ_Co.c: New file.
64047         * lib/unictype/categ_Cs.c: New file.
64048         * lib/unictype/categ_L.c: New file.
64049         * lib/unictype/categ_Ll.c: New file.
64050         * lib/unictype/categ_Lm.c: New file.
64051         * lib/unictype/categ_Lo.c: New file.
64052         * lib/unictype/categ_Lt.c: New file.
64053         * lib/unictype/categ_Lu.c: New file.
64054         * lib/unictype/categ_M.c: New file.
64055         * lib/unictype/categ_Mc.c: New file.
64056         * lib/unictype/categ_Me.c: New file.
64057         * lib/unictype/categ_Mn.c: New file.
64058         * lib/unictype/categ_N.c: New file.
64059         * lib/unictype/categ_Nd.c: New file.
64060         * lib/unictype/categ_Nl.c: New file.
64061         * lib/unictype/categ_No.c: New file.
64062         * lib/unictype/categ_P.c: New file.
64063         * lib/unictype/categ_Pc.c: New file.
64064         * lib/unictype/categ_Pd.c: New file.
64065         * lib/unictype/categ_Pe.c: New file.
64066         * lib/unictype/categ_Pf.c: New file.
64067         * lib/unictype/categ_Pi.c: New file.
64068         * lib/unictype/categ_Po.c: New file.
64069         * lib/unictype/categ_Ps.c: New file.
64070         * lib/unictype/categ_S.c: New file.
64071         * lib/unictype/categ_Sc.c: New file.
64072         * lib/unictype/categ_Sk.c: New file.
64073         * lib/unictype/categ_Sm.c: New file.
64074         * lib/unictype/categ_So.c: New file.
64075         * lib/unictype/categ_Z.c: New file.
64076         * lib/unictype/categ_Zl.c: New file.
64077         * lib/unictype/categ_Zp.c: New file.
64078         * lib/unictype/categ_Zs.c: New file.
64079         * lib/unictype/categ_and.c: New file.
64080         * lib/unictype/categ_and_not.c: New file.
64081         * lib/unictype/categ_byname.c: New file.
64082         * lib/unictype/categ_name.c: New file.
64083         * lib/unictype/categ_none.c: New file.
64084         * lib/unictype/categ_of.c: New file.
64085         * lib/unictype/categ_or.c: New file.
64086         * lib/unictype/categ_test.c: New file.
64087         * lib/unictype/combining.c: New file.
64088         * lib/unictype/ctype_alnum.c: New file.
64089         * lib/unictype/ctype_alpha.c: New file.
64090         * lib/unictype/ctype_blank.c: New file.
64091         * lib/unictype/ctype_cntrl.c: New file.
64092         * lib/unictype/ctype_digit.c: New file.
64093         * lib/unictype/ctype_graph.c: New file.
64094         * lib/unictype/ctype_lower.c: New file.
64095         * lib/unictype/ctype_print.c: New file.
64096         * lib/unictype/ctype_punct.c: New file.
64097         * lib/unictype/ctype_space.c: New file.
64098         * lib/unictype/ctype_upper.c: New file.
64099         * lib/unictype/ctype_xdigit.c: New file.
64100         * lib/unictype/decdigit.c: New file.
64101         * lib/unictype/digit.c: New file.
64102         * lib/unictype/identsyntaxmap.h: New file.
64103         * lib/unictype/mirror.c: New file.
64104         * lib/unictype/numeric.c: New file.
64105         * lib/unictype/pr_alphabetic.c: New file.
64106         * lib/unictype/pr_ascii_hex_digit.c: New file.
64107         * lib/unictype/pr_bidi_arabic_digit.c: New file.
64108         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
64109         * lib/unictype/pr_bidi_block_separator.c: New file.
64110         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
64111         * lib/unictype/pr_bidi_common_separator.c: New file.
64112         * lib/unictype/pr_bidi_control.c: New file.
64113         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
64114         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
64115         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
64116         * lib/unictype/pr_bidi_european_digit.c: New file.
64117         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
64118         * lib/unictype/pr_bidi_left_to_right.c: New file.
64119         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
64120         * lib/unictype/pr_bidi_other_neutral.c: New file.
64121         * lib/unictype/pr_bidi_pdf.c: New file.
64122         * lib/unictype/pr_bidi_segment_separator.c: New file.
64123         * lib/unictype/pr_bidi_whitespace.c: New file.
64124         * lib/unictype/pr_byname.c: New file.
64125         * lib/unictype/pr_byname.gperf: New file.
64126         * lib/unictype/pr_combining.c: New file.
64127         * lib/unictype/pr_composite.c: New file.
64128         * lib/unictype/pr_currency_symbol.c: New file.
64129         * lib/unictype/pr_dash.c: New file.
64130         * lib/unictype/pr_decimal_digit.c: New file.
64131         * lib/unictype/pr_default_ignorable_code_point.c: New file.
64132         * lib/unictype/pr_deprecated.c: New file.
64133         * lib/unictype/pr_diacritic.c: New file.
64134         * lib/unictype/pr_extender.c: New file.
64135         * lib/unictype/pr_format_control.c: New file.
64136         * lib/unictype/pr_grapheme_base.c: New file.
64137         * lib/unictype/pr_grapheme_extend.c: New file.
64138         * lib/unictype/pr_grapheme_link.c: New file.
64139         * lib/unictype/pr_hex_digit.c: New file.
64140         * lib/unictype/pr_hyphen.c: New file.
64141         * lib/unictype/pr_id_continue.c: New file.
64142         * lib/unictype/pr_id_start.c: New file.
64143         * lib/unictype/pr_ideographic.c: New file.
64144         * lib/unictype/pr_ids_binary_operator.c: New file.
64145         * lib/unictype/pr_ids_trinary_operator.c: New file.
64146         * lib/unictype/pr_ignorable_control.c: New file.
64147         * lib/unictype/pr_iso_control.c: New file.
64148         * lib/unictype/pr_join_control.c: New file.
64149         * lib/unictype/pr_left_of_pair.c: New file.
64150         * lib/unictype/pr_line_separator.c: New file.
64151         * lib/unictype/pr_logical_order_exception.c: New file.
64152         * lib/unictype/pr_lowercase.c: New file.
64153         * lib/unictype/pr_math.c: New file.
64154         * lib/unictype/pr_non_break.c: New file.
64155         * lib/unictype/pr_not_a_character.c: New file.
64156         * lib/unictype/pr_numeric.c: New file.
64157         * lib/unictype/pr_other_alphabetic.c: New file.
64158         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
64159         * lib/unictype/pr_other_grapheme_extend.c: New file.
64160         * lib/unictype/pr_other_id_continue.c: New file.
64161         * lib/unictype/pr_other_id_start.c: New file.
64162         * lib/unictype/pr_other_lowercase.c: New file.
64163         * lib/unictype/pr_other_math.c: New file.
64164         * lib/unictype/pr_other_uppercase.c: New file.
64165         * lib/unictype/pr_paired_punctuation.c: New file.
64166         * lib/unictype/pr_paragraph_separator.c: New file.
64167         * lib/unictype/pr_pattern_syntax.c: New file.
64168         * lib/unictype/pr_pattern_white_space.c: New file.
64169         * lib/unictype/pr_private_use.c: New file.
64170         * lib/unictype/pr_punctuation.c: New file.
64171         * lib/unictype/pr_quotation_mark.c: New file.
64172         * lib/unictype/pr_radical.c: New file.
64173         * lib/unictype/pr_sentence_terminal.c: New file.
64174         * lib/unictype/pr_soft_dotted.c: New file.
64175         * lib/unictype/pr_space.c: New file.
64176         * lib/unictype/pr_terminal_punctuation.c: New file.
64177         * lib/unictype/pr_test.c: New file.
64178         * lib/unictype/pr_titlecase.c: New file.
64179         * lib/unictype/pr_unassigned_code_value.c: New file.
64180         * lib/unictype/pr_unified_ideograph.c: New file.
64181         * lib/unictype/pr_uppercase.c: New file.
64182         * lib/unictype/pr_variation_selector.c: New file.
64183         * lib/unictype/pr_white_space.c: New file.
64184         * lib/unictype/pr_xid_continue.c: New file.
64185         * lib/unictype/pr_xid_start.c: New file.
64186         * lib/unictype/pr_zero_width.c: New file.
64187         * lib/unictype/scripts.c: New file.
64188         * lib/unictype/sy_c_ident.c: New file.
64189         * lib/unictype/sy_c_whitespace.c: New file.
64190         * lib/unictype/sy_java_ident.c: New file.
64191         * lib/unictype/sy_java_whitespace.c: New file.
64192
64193         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
64194         Unicode 5.0.0.
64195         * lib/unictype/blocks.h: Likewise.
64196         * lib/unictype/categ_C.h: Likewise.
64197         * lib/unictype/categ_Cc.h: Likewise.
64198         * lib/unictype/categ_Cf.h: Likewise.
64199         * lib/unictype/categ_Cn.h: Likewise.
64200         * lib/unictype/categ_Co.h: Likewise.
64201         * lib/unictype/categ_Cs.h: Likewise.
64202         * lib/unictype/categ_L.h: Likewise.
64203         * lib/unictype/categ_Ll.h: Likewise.
64204         * lib/unictype/categ_Lm.h: Likewise.
64205         * lib/unictype/categ_Lo.h: Likewise.
64206         * lib/unictype/categ_Lt.h: Likewise.
64207         * lib/unictype/categ_Lu.h: Likewise.
64208         * lib/unictype/categ_M.h: Likewise.
64209         * lib/unictype/categ_Mc.h: Likewise.
64210         * lib/unictype/categ_Me.h: Likewise.
64211         * lib/unictype/categ_Mn.h: Likewise.
64212         * lib/unictype/categ_N.h: Likewise.
64213         * lib/unictype/categ_Nd.h: Likewise.
64214         * lib/unictype/categ_Nl.h: Likewise.
64215         * lib/unictype/categ_No.h: Likewise.
64216         * lib/unictype/categ_P.h: Likewise.
64217         * lib/unictype/categ_Pc.h: Likewise.
64218         * lib/unictype/categ_Pd.h: Likewise.
64219         * lib/unictype/categ_Pe.h: Likewise.
64220         * lib/unictype/categ_Pf.h: Likewise.
64221         * lib/unictype/categ_Pi.h: Likewise.
64222         * lib/unictype/categ_Po.h: Likewise.
64223         * lib/unictype/categ_Ps.h: Likewise.
64224         * lib/unictype/categ_S.h: Likewise.
64225         * lib/unictype/categ_Sc.h: Likewise.
64226         * lib/unictype/categ_Sk.h: Likewise.
64227         * lib/unictype/categ_Sm.h: Likewise.
64228         * lib/unictype/categ_So.h: Likewise.
64229         * lib/unictype/categ_Z.h: Likewise.
64230         * lib/unictype/categ_Zl.h: Likewise.
64231         * lib/unictype/categ_Zp.h: Likewise.
64232         * lib/unictype/categ_Zs.h: Likewise.
64233         * lib/unictype/categ_of.h: Likewise.
64234         * lib/unictype/combining.h: Likewise.
64235         * lib/unictype/ctype_alnum.h: Likewise.
64236         * lib/unictype/ctype_alpha.h: Likewise.
64237         * lib/unictype/ctype_blank.h: Likewise.
64238         * lib/unictype/ctype_cntrl.h: Likewise.
64239         * lib/unictype/ctype_digit.h: Likewise.
64240         * lib/unictype/ctype_graph.h: Likewise.
64241         * lib/unictype/ctype_lower.h: Likewise.
64242         * lib/unictype/ctype_print.h: Likewise.
64243         * lib/unictype/ctype_punct.h: Likewise.
64244         * lib/unictype/ctype_space.h: Likewise.
64245         * lib/unictype/ctype_upper.h: Likewise.
64246         * lib/unictype/ctype_xdigit.h: Likewise.
64247         * lib/unictype/decdigit.h: Likewise.
64248         * lib/unictype/digit.h: Likewise.
64249         * lib/unictype/mirror.h: Likewise.
64250         * lib/unictype/numeric.h: Likewise.
64251         * lib/unictype/pr_alphabetic.h: Likewise.
64252         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
64253         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
64254         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
64255         * lib/unictype/pr_bidi_block_separator.h: Likewise.
64256         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
64257         * lib/unictype/pr_bidi_common_separator.h: Likewise.
64258         * lib/unictype/pr_bidi_control.h: Likewise.
64259         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
64260         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
64261         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
64262         * lib/unictype/pr_bidi_european_digit.h: Likewise.
64263         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
64264         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
64265         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
64266         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
64267         * lib/unictype/pr_bidi_pdf.h: Likewise.
64268         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
64269         * lib/unictype/pr_bidi_whitespace.h: Likewise.
64270         * lib/unictype/pr_combining.h: Likewise.
64271         * lib/unictype/pr_composite.h: Likewise.
64272         * lib/unictype/pr_currency_symbol.h: Likewise.
64273         * lib/unictype/pr_dash.h: Likewise.
64274         * lib/unictype/pr_decimal_digit.h: Likewise.
64275         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
64276         * lib/unictype/pr_deprecated.h: Likewise.
64277         * lib/unictype/pr_diacritic.h: Likewise.
64278         * lib/unictype/pr_extender.h: Likewise.
64279         * lib/unictype/pr_format_control.h: Likewise.
64280         * lib/unictype/pr_grapheme_base.h: Likewise.
64281         * lib/unictype/pr_grapheme_extend.h: Likewise.
64282         * lib/unictype/pr_grapheme_link.h: Likewise.
64283         * lib/unictype/pr_hex_digit.h: Likewise.
64284         * lib/unictype/pr_hyphen.h: Likewise.
64285         * lib/unictype/pr_id_continue.h: Likewise.
64286         * lib/unictype/pr_id_start.h: Likewise.
64287         * lib/unictype/pr_ideographic.h: Likewise.
64288         * lib/unictype/pr_ids_binary_operator.h: Likewise.
64289         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
64290         * lib/unictype/pr_ignorable_control.h: Likewise.
64291         * lib/unictype/pr_iso_control.h: Likewise.
64292         * lib/unictype/pr_join_control.h: Likewise.
64293         * lib/unictype/pr_left_of_pair.h: Likewise.
64294         * lib/unictype/pr_line_separator.h: Likewise.
64295         * lib/unictype/pr_logical_order_exception.h: Likewise.
64296         * lib/unictype/pr_lowercase.h: Likewise.
64297         * lib/unictype/pr_math.h: Likewise.
64298         * lib/unictype/pr_non_break.h: Likewise.
64299         * lib/unictype/pr_not_a_character.h: Likewise.
64300         * lib/unictype/pr_numeric.h: Likewise.
64301         * lib/unictype/pr_other_alphabetic.h: Likewise.
64302         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
64303         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
64304         * lib/unictype/pr_other_id_continue.h: Likewise.
64305         * lib/unictype/pr_other_id_start.h: Likewise.
64306         * lib/unictype/pr_other_lowercase.h: Likewise.
64307         * lib/unictype/pr_other_math.h: Likewise.
64308         * lib/unictype/pr_other_uppercase.h: Likewise.
64309         * lib/unictype/pr_paired_punctuation.h: Likewise.
64310         * lib/unictype/pr_paragraph_separator.h: Likewise.
64311         * lib/unictype/pr_pattern_syntax.h: Likewise.
64312         * lib/unictype/pr_pattern_white_space.h: Likewise.
64313         * lib/unictype/pr_private_use.h: Likewise.
64314         * lib/unictype/pr_punctuation.h: Likewise.
64315         * lib/unictype/pr_quotation_mark.h: Likewise.
64316         * lib/unictype/pr_radical.h: Likewise.
64317         * lib/unictype/pr_sentence_terminal.h: Likewise.
64318         * lib/unictype/pr_soft_dotted.h: Likewise.
64319         * lib/unictype/pr_space.h: Likewise.
64320         * lib/unictype/pr_terminal_punctuation.h: Likewise.
64321         * lib/unictype/pr_titlecase.h: Likewise.
64322         * lib/unictype/pr_unassigned_code_value.h: Likewise.
64323         * lib/unictype/pr_unified_ideograph.h: Likewise.
64324         * lib/unictype/pr_uppercase.h: Likewise.
64325         * lib/unictype/pr_variation_selector.h: Likewise.
64326         * lib/unictype/pr_white_space.h: Likewise.
64327         * lib/unictype/pr_xid_continue.h: Likewise.
64328         * lib/unictype/pr_xid_start.h: Likewise.
64329         * lib/unictype/pr_zero_width.h: Likewise.
64330         * lib/unictype/scripts.h: Likewise.
64331         * lib/unictype/scripts_byname.gperf: Likewise.
64332         * lib/unictype/sy_c_ident.h: Likewise.
64333         * lib/unictype/sy_c_whitespace.h: Likewise.
64334         * lib/unictype/sy_java_ident.h: Likewise.
64335         * lib/unictype/sy_java_whitespace.h: Likewise.
64336
64337         * lib/unictype/Makefile: New file.
64338         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
64339         glibc.
64340         * lib/unictype/3level.h: New file, copied from glibc.
64341         * lib/unictype/3levelbit.h: New file.
64342
64343 2007-11-11  Bruno Haible  <bruno@clisp.org>
64344
64345         * modules/gperf: New file.
64346         * modules/iconv_open (Depends-on): Add it.
64347         (Makefile.am): Remove the GPERF definition.
64348
64349 2007-11-11  Bruno Haible  <bruno@clisp.org>
64350
64351         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
64352         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
64353
64354 2007-11-11  Bruno Haible  <bruno@clisp.org>
64355
64356         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
64357         (usage): Remove function.
64358
64359 2007-11-11  Bruno Haible  <bruno@clisp.org>
64360
64361         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
64362         gl_FUNC_CEILF_LIBS.
64363         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
64364         gl_FUNC_CEIL_LIBS.
64365         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
64366         gl_FUNC_CEILL_LIBS.
64367         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
64368         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
64369         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
64370
64371 2007-11-11  Bruno Haible  <bruno@clisp.org>
64372
64373         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
64374         roundf were declared but do not exist on functions.
64375         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
64376         roundl were declared but do not exist on functions.
64377         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
64378         HAVE_FLOORL_AND_CEILL, respectively.
64379         Needed for Sun C on Solaris 10.
64380
64381 2007-11-11  Bruno Haible  <bruno@clisp.org>
64382
64383         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
64384         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
64385         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
64386         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
64387         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
64388         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
64389         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
64390         HAVE_DECL_ROUNDF.
64391         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
64392         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
64393         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
64394         of HAVE_DECL_ROUND*.
64395         * modules/math (Makefile.am): Update.
64396
64397 2007-11-10  Bruno Haible  <bruno@clisp.org>
64398
64399         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
64400         ptrdiff_t as m4/intl.m4.
64401
64402 2007-11-10  Jim Meyering  <meyering@redhat.com>
64403
64404         Avoid link failure for the argmatch test.
64405         * tests/test-argmatch.c (usage): Define function to avoid a link
64406         failure: argmatch_die requires a usage function.
64407
64408 2007-11-09  Bruno Haible  <bruno@clisp.org>
64409
64410         * doc/functions/snprintf.texi: Mention BeOS deficiency.
64411         * doc/functions/vsnprintf.texi: Likewise.
64412         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
64413         with a size argument < 2.
64414
64415 2007-11-09  Bruno Haible  <bruno@clisp.org>
64416
64417         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
64418         buffer. Fixes an inefficiency introduced on 2007-11-03.
64419
64420 2007-11-09  Bruno Haible  <bruno@clisp.org>
64421
64422         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
64423         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
64424
64425 2007-11-08  Jim Meyering  <meyering@redhat.com>
64426
64427         Change cache variable name prefix "jm_" to "gl_" everywhere.
64428         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
64429         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
64430         * m4/uptime.m4: s/gl_/jm_/
64431
64432 2007-11-07  Bruno Haible  <bruno@clisp.org>
64433
64434         Update to GNU gettext 0.17.
64435         * m4/intl.m4: Update to GNU gettext 0.17.
64436         * m4/po.m4: Likewise.
64437         * modules/gettext (Files): Remove m4/ulonglong.m4.
64438         (configure.ac): Require gettext infrastructure from version 0.17.
64439
64440 2007-11-06  Bruno Haible  <bruno@clisp.org>
64441
64442         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
64443         symbolic values are not defined in a public header.
64444         * lib/freadable.c (freadable) [QNX]: Likewise.
64445         * lib/freadahead.c (freadahead) [QNX]: Likewise.
64446         * lib/freading.c (freading) [QNX]: Likewise.
64447         * lib/fseterr.c (fseterr) [QNX]: Likewise.
64448         * lib/fwritable.c (fwritable) [QNX]: Likewise.
64449         * lib/fwriting.c (fwriting) [QNX]: Likewise.
64450         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
64451         Reported by Alain Magloire.
64452
64453         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
64454
64455 2007-11-05  Bruno Haible  <bruno@clisp.org>
64456
64457         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
64458         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
64459         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
64460         Reported by Eric Blake.
64461
64462 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64463             Bruno Haible  <bruno@clisp.org>
64464
64465         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
64466         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
64467         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
64468         (malloc): Undefine also before including <stdlib.h>.
64469         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
64470         Needed on OSF/1 4.0.
64471
64472 2007-11-05  Jim Meyering  <meyering@redhat.com>
64473
64474         git-version-gen: sync from coreutils.
64475         * build-aux/git-version-gen: Add comments.
64476         Change the first '-' to '.' in the snapshot version string,
64477         e.g., 6.9-377-08144 -> 6.9.377-08144
64478         Remove first parameter.
64479         Don't declare a version "-dirty" merely because a time
64480         stamp has changed.
64481
64482 2007-11-04  Bruno Haible  <bruno@clisp.org>
64483
64484         * lib/lock.h: Protect all macro definitions containing an 'if'
64485         statement through a "do { ... } while (0)".
64486         * lib/tls.h: Likewise.
64487
64488 2007-11-04  Bruno Haible  <bruno@clisp.org>
64489
64490         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
64491
64492 2007-11-04  Bruno Haible  <bruno@clisp.org>
64493
64494         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
64495         * modules/fprintf-posix (Depends-on): Add nocrash.
64496         * modules/snprintf-posix (Depends-on): Likewise.
64497         * modules/sprintf-posix (Depends-on): Likewise.
64498         * modules/vasnprintf-posix (Depends-on): Likewise.
64499         * modules/vasprintf-posix (Depends-on): Likewise.
64500         * modules/vfprintf-posix (Depends-on): Likewise.
64501         * modules/vsnprintf-posix (Depends-on): Likewise.
64502         * modules/vsprintf-posix (Depends-on): Likewise.
64503         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64504         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64505         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
64506         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
64507         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
64508         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
64509         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
64510
64511 2007-11-04  Bruno Haible  <bruno@clisp.org>
64512
64513         * modules/nocrash: New file.
64514         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
64515         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
64516
64517 2007-11-04  Bruno Haible  <bruno@clisp.org>
64518
64519         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
64520         precision handling.
64521         * tests/test-vasprintf-posix.c (test_function): Likewise.
64522         * tests/test-snprintf-posix.h (test_function): Likewise.
64523         * tests/test-sprintf-posix.h (test_function): Likewise.
64524
64525         Fix *printf behaviour for large precisions on mingw and BeOS.
64526         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
64527         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
64528         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
64529         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64530         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64531         gl_PRINTF_PRECISION and test its result. Invoke
64532         gl_PREREQ_VASNPRINTF_PRECISION.
64533         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64534         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64535         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64536         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64537         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64538         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64539         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64540         * doc/functions/fprintf.texi: Update.
64541         * doc/functions/printf.texi: Update.
64542         * doc/functions/snprintf.texi: Update.
64543         * doc/functions/sprintf.texi: Update.
64544         * doc/functions/vfprintf.texi: Update.
64545         * doc/functions/vprintf.texi: Update.
64546         * doc/functions/vsnprintf.texi: Update.
64547         * doc/functions/vsprintf.texi: Update.
64548
64549 2007-11-04  Bruno Haible  <bruno@clisp.org>
64550
64551         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
64552
64553 2007-11-04  Bruno Haible  <bruno@clisp.org>
64554
64555         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
64556         Reported by Sylvain Beucler <beuc@gnu.org>.
64557
64558 2007-11-03  Bruno Haible  <bruno@clisp.org>
64559
64560         * tests/test-fprintf-posix2.sh: New file.
64561         * tests/test-fprintf-posix2.c: New file.
64562         * modules/fprintf-posix-tests (Files): Add them.
64563         (TESTS): Add test-fprintf-posix2.sh.
64564         (configure.ac): Check for getrlimit and setrlimit.
64565         (check_PROGRAMS): Add test-fprintf-posix2.
64566
64567         * tests/test-printf-posix2.sh: New file.
64568         * tests/test-printf-posix2.c: New file.
64569         * modules/printf-posix-tests (Files): Add them.
64570         (TESTS): Add test-printf-posix2.sh.
64571         (configure.ac): Check for getrlimit and setrlimit.
64572         (check_PROGRAMS): Add test-printf-posix2.
64573
64574         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
64575         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
64576         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
64577         (decode_double): New function, copied from decode_long_double.
64578         (scale10_round_decimal_decoded): New function, extracted from
64579         scale10_round_decimal_long_double.
64580         (scale10_round_decimal_long_double): Use it.
64581         (scale10_round_decimal_double): New function.
64582         (floorlog10): New function.
64583         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
64584         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
64585         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64586         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64587         gl_PRINTF_ENOMEM and test its result. Invoke
64588         gl_PREREQ_VASNPRINTF_ENOMEM.
64589         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64590         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64591         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64592         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64593         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64594         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64595         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64596         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
64597         * modules/snprintf-posix (Depends-on): Likewise.
64598         * modules/sprintf-posix (Depends-on): Likewise.
64599         * modules/vasnprintf-posix (Depends-on): Likewise.
64600         * modules/vasprintf-posix (Depends-on): Likewise.
64601         * modules/vfprintf-posix (Depends-on): Likewise.
64602         * modules/vsnprintf-posix (Depends-on): Likewise.
64603         * modules/vsprintf-posix (Depends-on): Likewise.
64604         * doc/functions/fprintf.texi: Update.
64605         * doc/functions/printf.texi: Update.
64606         * doc/functions/snprintf.texi: Update.
64607         * doc/functions/sprintf.texi: Update.
64608         * doc/functions/vfprintf.texi: Update.
64609         * doc/functions/vprintf.texi: Update.
64610         * doc/functions/vsnprintf.texi: Update.
64611         * doc/functions/vsprintf.texi: Update.
64612
64613 2007-11-03  Bruno Haible  <bruno@clisp.org>
64614
64615         * modules/frexp-nolibm-tests: New file.
64616
64617         * modules/frexp-nolibm: New file.
64618         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
64619
64620 2007-11-03  Bruno Haible  <bruno@clisp.org>
64621
64622         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
64623         value is C99 compliant.
64624         Needed for OSF/1 5.1.
64625
64626 2007-11-03  Bruno Haible  <bruno@clisp.org>
64627
64628         Fix out-of-memory handling of vasnprintf.
64629         * lib/printf-parse.c: Include <errno.h>.
64630         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
64631         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
64632         is already set.
64633
64634 2007-11-02  Eric Blake  <ebb9@byu.net>
64635
64636         Fix tests on cygwin.
64637         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
64638
64639 2007-11-01  Bruno Haible  <bruno@clisp.org>
64640
64641         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
64642         warning.
64643         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
64644         needed for POSIX compatibility.
64645
64646 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
64647
64648         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
64649         for compatibility with GNU.
64650
64651 2007-11-01  Bruno Haible  <bruno@clisp.org>
64652
64653         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
64654         (putenv): Renamed from rpl_putenv. Change argument type from
64655         'const char *' to 'char *'.
64656         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
64657         of defining putenv in config.h, just set REPLACE_PUTENV.
64658         * modules/putenv (Depends-on): Add stdlib.
64659         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64660         (Include): Use <stdlib.h>.
64661         * lib/stdlib.in.h (putenv): New declaration.
64662         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
64663         REPLACE_PUTENV.
64664         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
64665         REPLACE_PUTENV.
64666         Needed for MacOS X 10.5.0.
64667         Reported by Peter O'Gorman <peter@pogma.com>.
64668
64669 2007-11-01  Jim Meyering  <meyering@redhat.com>
64670
64671         Treat an empty date string exactly like "0".
64672         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
64673         if the remaining date string (to be parsed) is empty, use "0".
64674         Reported by Mischa Molhoek and discussed in this thread:
64675         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
64676
64677 2007-10-31  Bruno Haible  <bruno@clisp.org>
64678
64679         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
64680         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
64681         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
64682         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
64683         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
64684         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
64685
64686 2007-10-31  Bruno Haible  <bruno@clisp.org>
64687
64688         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
64689         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
64690         (AC_TYPE_LONG_LONG_INT): Use it.
64691         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
64692         it as well.
64693         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
64694         to m4/longlong.m4.
64695         * modules/stdint (Files): Remove m4/ulonglong.m4.
64696         * modules/strtoull (Files): Use m4/longlong.m4 instead of
64697         m4/ulonglong.m4.
64698         * modules/strtoumax (Files): Likewise.
64699
64700 2007-10-30  Bruno Haible  <bruno@clisp.org>
64701
64702         * modules/xvasprintf-posix: New file.
64703         Suggested by Eric Blake.
64704
64705 2007-10-30  Bruno Haible  <bruno@clisp.org>
64706
64707         * modules/xprintf-posix-tests: New file.
64708         * tests/test-xprintf-posix.sh: New file.
64709         * tests/test-xprintf-posix.c: New file.
64710         * tests/test-xfprintf-posix.c: New file.
64711
64712         * modules/xprintf-posix: New file.
64713
64714 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64715
64716         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
64717         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
64718         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
64719
64720 2007-10-29  Bruno Haible  <bruno@clisp.org>
64721
64722         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
64723         contain the special marker '_cv_'.
64724         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
64725         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
64726         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
64727         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
64728         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
64729         Reported by Ralf Wildenhues.
64730
64731 2007-10-29  Bruno Haible  <bruno@clisp.org>
64732
64733         * gnulib-tool (func_import): When --lgpl is not specified, set
64734         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
64735         GPLv3.
64736         Reported by Simon Josefsson.
64737
64738 2007-10-28  Bruno Haible  <bruno@clisp.org>
64739
64740         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
64741         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
64742         HAVE_DECL_ISFINITE.
64743         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64744         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
64745         HAVE_DECL_ISFINITE.
64746
64747 2007-10-28  Bruno Haible  <bruno@clisp.org>
64748
64749         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
64750         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
64751
64752 2007-10-28  Bruno Haible  <bruno@clisp.org>
64753
64754         Fix link errors with Sun C 5.0 on Solaris 10.
64755         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
64756         function is declared but not present in the compiler's libm.
64757         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
64758         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
64759         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
64760         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
64761         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
64762         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
64763         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
64764         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64765         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
64766         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
64767         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
64768         HAVE_DECL_FLOORL.
64769
64770 2007-10-28  Bruno Haible  <bruno@clisp.org>
64771
64772         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
64773         gl_FUNC_FLOORL. Cache the result.
64774         (gl_FUNC_FLOORL): Use it.
64775         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
64776         gl_FUNC_CEILL. Cache the result.
64777         (gl_FUNC_CEILL): Use it.
64778
64779         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
64780         gl_FUNC_FLOOR. Cache the result.
64781         (gl_FUNC_FLOOR): Use it.
64782         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
64783         gl_FUNC_CEIL. Cache the result.
64784         (gl_FUNC_CEIL): Use it.
64785
64786         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
64787         gl_FUNC_FLOORF. Cache the result.
64788         (gl_FUNC_FLOORF): Use it.
64789         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
64790         gl_FUNC_CEILF. Cache the result.
64791         (gl_FUNC_CEILF): Use it.
64792
64793 2007-10-28  Bruno Haible  <bruno@clisp.org>
64794
64795         * gnulib-tool: Allow specifying the LGPL version number through
64796         --lgpl=2 or --lgpl=3.
64797         (func_usage): Document --lgpl with argument.
64798         Handle --lgpl=... arguments.
64799         (func_import): Recognize also gl_LGPL calls with an argument. When
64800         --lgpl=2 is used and the module's license is just LGPL, report an
64801         error. Set sed_transform_lib_file according to the lgpl variable. In
64802         the generated files, use --lgpl or gl_LGPL invocations with argument,
64803         if necessary.
64804         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
64805         an LGPv2+ license.
64806         * doc/gnulib-tool.texi (Modified imports): Update explanation of
64807         gl_LGPL macro.
64808
64809 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64810             Bruno Haible  <bruno@clisp.org>
64811
64812         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
64813         (u16_uctomb_aux): Likewise.
64814         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
64815         !HAVE_INLINE.
64816         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
64817
64818 2007-10-28  Bruno Haible  <bruno@clisp.org>
64819
64820         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
64821         Invoke AM_GETTEXT_OPTION if it exists.
64822         * modules/vasprintf: Likewise.
64823         * modules/verror: Likewise.
64824         * modules/xprintf: Likewise.
64825         * modules/xvasprintf: Likewise.
64826
64827 2007-10-27  Ben Pfaff  <blp@gnu.org>
64828
64829         * lib/math.in.h: Define isfinite macro and prototypes for
64830         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
64831         implementations.
64832         * m4/math_h.m4: New substitutions for isfinite module.
64833         * lib/isfinite.c: New file.
64834         * m4/isfinite.m4: New file.
64835         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
64836         * modules/isfinite: New file.
64837         * modules/isfinite-tests: New file.
64838         * tests/tests-isfinite.c: New file.
64839         * doc/functions/isfinite.texi: Mention isfinite module.
64840         * MODULES.html.sh: Mention new module.
64841
64842 2007-10-27  Ben Pfaff  <blp@gnu.org>
64843
64844         Ralf Wildenhues reported that Tru64 4.0D declares the round
64845         functions but does not have definitions.
64846         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
64847         cannot be found in any library, set the output variable to
64848         "missing" instead of "".
64849         * m4/round.m4: Also use our substitute if we cannot find round in
64850         any library, even if it is declared.
64851         * m4/roundf.m4: Likewise for roundf.
64852         * m4/roundl.m4: Likewise for roundl.
64853         * lib/math.in.h: Undefine roundf, round, roundl before defining
64854         their replacements, to allow for hypothetical systems where these
64855         may be defined as macros but not available in libraries.
64856
64857 2007-10-27  Bruno Haible  <bruno@clisp.org>
64858
64859         * doc/gnulib.texi: Invoke @firstparagraphindent.
64860         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
64861         changes in gnulib.
64862         (Source changes): New section.
64863
64864 2007-10-26  Bruno Haible  <bruno@clisp.org>
64865
64866         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
64867         borrowed from autoconf.
64868
64869 2007-10-26  Bruno Haible  <bruno@clisp.org>
64870
64871         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
64872         strerror returned the empty string. Needed on HP-UX 11.00.
64873
64874 2007-10-24  Micah Cowan  <micah@cowan.name>
64875
64876         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
64877         * build-aux/bootstrap: Remove support for now-unnecessary option,
64878         --cvs-user, and envvars CVS_USER, CVS_RSH.
64879
64880 2007-10-24  Jim Meyering  <meyering@redhat.com>
64881
64882         Avoid diagnostics from sha1sum when there is no cached checksum.
64883         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
64884         if the po.s1 file hasn't been created yet.
64885
64886         * build-aux/bootstrap: Sync from coreutils:
64887         2007-10-24  Jim Meyering  <meyering@redhat.com>
64888         Get gnulib from the git repository, not from an obsolete cvs one.
64889         * build-aux/bootstrap: Suggestion from Micah Cowan.
64890         2007-10-04  Jim Meyering  <jim@meyering.net>
64891         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
64892         (update_po_files): Work also when there are no .po files in po/.
64893
64894 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
64895
64896         * README: Append ".git" to git and cg examples.
64897         Problem reported by Benoit Sigoure.
64898
64899 2007-10-23  Micah Cowan  <micah@cowan.name>
64900
64901         * users.txt: Add wget.
64902
64903 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64904
64905         Fix linking of some unistdio tests on FreeBSD.
64906         * modules/unistdio/u16-vsnprintf-tests
64907         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
64908         * modules/unistdio/u16-vsprintf-tests
64909         (test_u16_vsnprintf1_LDADD): Likewise.
64910         * modules/unistdio/u32-vsnprintf-tests
64911         (test_u32_vsnprintf1_LDADD): Likewise.
64912         * modules/unistdio/u32-vsprintf-tests
64913         (test_u32_vsprintf1_LDADD): Likewise.
64914         * modules/unistdio/u8-vsnprintf-tests
64915         (test_u8_vsnprintf1_LDADD): Likewise.
64916         * modules/unistdio/u8-vsprintf-tests
64917         (test_u8_vsprintf1_LDADD): Likewise.
64918         * modules/unistdio/ulc-vsnprintf-tests
64919         (test_ulc_vsnprintf1_LDADD): Likewise.
64920         * modules/unistdio/ulc-vsprintf-tests
64921         (test_ulc_vsprintf1_LDADD): Likewise.
64922
64923         Fix linking of some uniconv tests on FreeBSD.
64924         * modules/uniconv/u16-conv-from-enc-tests
64925         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
64926         * modules/uniconv/u16-conv-to-enc-tests
64927         (test_u16_conv_to_enc_LDADD): Likewise.
64928         * modules/uniconv/u16-strconv-from-enc-tests
64929         (test_u16_strconv_from_enc_LDADD): Likewise.
64930         * modules/uniconv/u16-strconv-to-enc-tests
64931         (test_u16_strconv_to_enc_LDADD): Likewise.
64932         * modules/uniconv/u32-conv-from-enc-tests
64933         (test_u32_conv_from_enc_LDADD): Likewise.
64934         * modules/uniconv/u32-conv-to-enc-tests
64935         (test_u32_conv_to_enc_LDADD): Likewise.
64936         * modules/uniconv/u32-strconv-from-enc-tests
64937         (test_u32_strconv_from_enc_LDADD): Likewise.
64938         * modules/uniconv/u32-strconv-to-enc-tests
64939         (test_u32_strconv_to_enc_LDADD): Likewise.
64940         * modules/uniconv/u8-conv-from-enc-tests
64941         (test_u8_conv_from_enc_LDADD): Likewise.
64942         * modules/uniconv/u8-conv-to-enc-tests
64943         (test_u8_conv_to_enc_LDADD): Likewise.
64944         * modules/uniconv/u8-strconv-from-enc-tests
64945         (test_u8_strconv_from_enc_LDADD): Likewise.
64946         * modules/uniconv/u8-strconv-to-enc-tests
64947         (test_u8_strconv_to_enc_LDADD): Likewise.
64948
64949 2007-10-22  Bruno Haible  <bruno@clisp.org>
64950
64951         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
64952         size.
64953
64954 2007-10-22  Eric Blake  <ebb9@byu.net>
64955
64956         Tweak x*printf documentation.
64957         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
64958         variable name and comments.
64959         Suggested by Bruno Haible.
64960
64961 2007-10-22  Bruno Haible  <bruno@clisp.org>
64962
64963         * lib/acl.c (copy_acl): Fix file name in comment.
64964
64965 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64966
64967         Fix Tru64 problem with stdbool.h.
64968         * lib/stdbool.in.h (false, true):
64969         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
64970         Don't declare as an enum in this situation; it runs afoul of Tru64.
64971         Problem reported by Steven M. Schweda in
64972         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
64973
64974 2007-10-22  Eric Blake  <ebb9@byu.net>
64975
64976         Also wrap vf?printf.
64977         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
64978         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
64979         (xvprintf, xvfprintf): New functions.
64980
64981 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64982
64983         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
64984         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
64985
64986         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
64987         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
64988
64989 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64990
64991         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
64992         by Bruno Haible.
64993
64994 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64995
64996         * lib/getloadavg.c
64997         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
64998         Undef `sys' after including sys/table.h, for Tru64 4.0D.
64999
65000         * tests/test-i-ring.c: Work for C89.
65001
65002 2007-10-22  Bruno Haible  <bruno@clisp.org>
65003
65004         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
65005         -1u, in preprocessor expression, so that we don't test for the bug
65006         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
65007         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
65008
65009 2007-10-22  Eric Blake  <ebb9@byu.net>
65010
65011         * tests/test-yesno.sh: Silence stderr during test.
65012
65013 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65014
65015         * modules/crypto/gc-camellia: New file.
65016
65017         * m4/gc-camellia.m4: New file.
65018
65019         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
65020
65021         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
65022
65023 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65024
65025         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
65026         --help to stdout.  Reported by sms@antinode.org (Steven
65027         M. Schweda).
65028
65029 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65030
65031         * users.txt: Fix link to libksba.
65032
65033 2007-10-21  Ben Pfaff  <blp@gnu.org>
65034
65035         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
65036         round.c roundf implementation that depends on floorf and ceilf to
65037         be tested unconditionally.
65038
65039 2007-10-21  Ben Pfaff  <blp@gnu.org>
65040
65041         * m4/check-libm-func.m4: Removed.
65042         * m4/check-math-lib.m4: New file.
65043         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
65044         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
65045         definition and lack of AC_LIBOBJ([roundf]).
65046         * m4/roundl.m4: Ditto, and similarly for roundl.
65047         * modules/round: Reference new m4 file.
65048         * modules/roundf: Ditto.
65049         * modules/roundl: Ditto.
65050         * tests/test-round2.c (main): Use ROUND instead of round.
65051         Bug report from Bruno Haible.
65052
65053 2007-10-21  Bruno Haible  <bruno@clisp.org>
65054
65055         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
65056         context.
65057
65058 2007-10-21  Bruno Haible  <bruno@clisp.org>
65059
65060         * tests/test-wcwidth.c (main): Allow negative result for some control
65061         characters.
65062
65063         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
65064         Needed on OSF/1 5.1.
65065
65066 2007-10-21  Bruno Haible  <bruno@clisp.org>
65067
65068         * tests/test-floorf1.c: Include isnanf.h.
65069         (main): Use isnanf() instead of isnan().
65070         * tests/test-ceilf1.c: Include isnanf.h.
65071         (main): Use isnanf() instead of isnan().
65072         * tests/test-truncf1.c: Include isnanf.h.
65073         (main): Use isnanf() instead of isnan().
65074         * tests/test-roundf1.c: Include isnanf.h.
65075         (main): Use isnanf() instead of isnan().
65076
65077 2007-10-21  Eric Blake  <ebb9@byu.net>
65078
65079         * users.txt: Update URL for m4.
65080
65081 2007-10-21  Bruno Haible  <bruno@clisp.org>
65082
65083         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
65084
65085 2007-10-21  Bruno Haible  <bruno@clisp.org>
65086
65087         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
65088         Git's management files if the CVS files are not present.
65089
65090 2007-10-20  Bruno Haible  <bruno@clisp.org>
65091
65092         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
65093         gcc-3.4.x.
65094
65095 2007-10-20  Ben Pfaff  <blp@gnu.org>
65096
65097         * lib/math.in.h: Declare round, roundf, roundl if we are providing
65098         implementations.
65099         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
65100         * lib/round.c: New file.
65101         * lib/roundf.c: New file.
65102         * lib/roundl.c: New file.
65103         * m4/round.m4: New file.
65104         * m4/roundf.m4: New file.
65105         * m4/roundl.m4: New file.
65106         * m4/check-libm-func-m4: New file.
65107         * modules/math: Replace round, roundf, roundl related @VARS@ in
65108         math.in.h.
65109         * modules/round: New file.
65110         * modules/round-tests: New file.
65111         * modules/roundf: New file.
65112         * modules/roundf-tests: New file.
65113         * modules/roundl: New file.
65114         * modules/roundl-tests: New file.
65115         * tests/test-round1.c: New file.
65116         * tests/test-round2.c: New file.
65117         * tests/test-roundf1.c: New file.
65118         * tests/test-roundf2.c: New file.
65119         * tests/test-roundl.c: New file.
65120         * doc/functions/round.texi: Mention round module.
65121         * doc/functions/roundf.texi: Mention roundf module.
65122         * doc/functions/roundl.texi: Mention roundl module.
65123         * MODULES.html.sh: Mention new modules.
65124         Thanks to Bruno Haible for suggestions.
65125
65126 2007-10-20  Jim Meyering  <meyering@redhat.com>
65127
65128         * lib/xprintf.c: Include <config.h> unconditionally.
65129
65130         Change xprintf's license to GPL.
65131         * modules/xprintf (License): s/LGPL/GPL/, since this module
65132         depends on modules (exit and exitfail) which are GPL.
65133         Suggestion from Bruno Haible.
65134
65135         xprintf fixes.
65136         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
65137         Use a clearer diagnostic.
65138         Patch from Bruno Haible.
65139
65140 2007-10-20  Bruno Haible  <bruno@clisp.org>
65141
65142         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
65143         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
65144         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65145
65146 2007-10-20  Bruno Haible  <bruno@clisp.org>
65147
65148         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
65149         precision in the comparison result > x - 1 or similar.
65150         * tests/test-ceilf2.c (correct_result_p): Likewise.
65151         * tests/test-truncf2.c (correct_result_p): Likewise.
65152         * tests/test-trunc2.c (correct_result_p): Likewise.
65153         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65154
65155 2007-10-20  Bruno Haible  <bruno@clisp.org>
65156
65157         * modules/ceil: New file.
65158         * m4/ceil.m4: New file.
65159         * doc/functions/ceil.texi: Mention the 'ceil' module.
65160
65161 2007-10-20  Bruno Haible  <bruno@clisp.org>
65162
65163         * modules/floor: New file.
65164         * m4/floor.m4: New file.
65165         * doc/functions/floor.texi: Mention the 'floor' module.
65166
65167 2007-10-20  Bruno Haible  <bruno@clisp.org>
65168
65169         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
65170         of %a.
65171         * modules/floorf-tests (Depends-on): Likewise.
65172         * modules/truncf-tests (Depends-on): Likewise.
65173         * modules/trunc-tests (Depends-on): Likewise.
65174         Reported by Ben Pfaff.
65175
65176 2007-10-19  Jim Meyering  <meyering@redhat.com>
65177
65178         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
65179         Don't bother testing specific errno values.  Just test ferror.
65180
65181         New module: xprintf
65182         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
65183
65184 2007-10-19  Bruno Haible  <bruno@clisp.org>
65185
65186         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
65187         syntax.
65188         * modules/javaexec (Makefile.am): Likewise.
65189         * modules/relocatable-prog (Makefile.am): Likewise.
65190         Suggested by Jim Meyering.
65191
65192 2007-10-18  Bruno Haible  <bruno@clisp.org>
65193
65194         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
65195         Reported by Jim Meyering.
65196
65197 2007-10-18  Eric Blake  <ebb9@byu.net>
65198
65199         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
65200
65201 2007-10-18  Bruno Haible  <bruno@clisp.org>
65202
65203         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
65204         the format string into writable memory. Needed in Fortify conditions.
65205
65206 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
65207             Bruno Haible  <bruno@clisp.org>
65208
65209         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
65210         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
65211         * modules/trim (Depends-on): Add mbchar.
65212         (configure.ac): Add gl_FUNC_MBRTOWC.
65213         (Makefile.am): Augment lib_SOURCES.
65214
65215 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
65216
65217         Modify glob.c to use fstatat and dirfd, to simplify it.
65218         Suggested by Eric Blake.
65219         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
65220         Don't include <stdbool.h>; not used.
65221         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
65222         (link_exists_p): Simplify implementation, since we can now assume
65223         dirfd and fstatat.
65224         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
65225
65226 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65227
65228         * gnulib-tool (func_get_dependencies): Fix sed script to
65229         match only tests.
65230
65231 2007-10-17  Bruno Haible  <bruno@clisp.org>
65232
65233         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
65234         allow locale names without encoding suffix.
65235         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
65236         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
65237
65238 2007-10-16  Bruno Haible  <bruno@clisp.org>
65239
65240         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
65241         * lib/getgroups.c (getgroups): Likewise.
65242         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
65243
65244 2007-10-16  Bruno Haible  <bruno@clisp.org>
65245
65246         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
65247         * modules/malloc-posix (License): Likewise.
65248         * modules/realloc-posix (License): Likewise.
65249         * modules/calloc-posix (License): Likewise.
65250         * modules/intprops (License): Change from GPL to LGPL, with
65251         Paul Eggert's approval.
65252
65253 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65254
65255         Merge glibc changes into lib/glob.c.
65256
65257         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
65258         2007-10-15 04:59:03 UTC.  Here are the changes:
65259
65260         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
65261
65262         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
65263
65264         * lib/glob.c: Add some branch prediction throughout.
65265
65266         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
65267
65268         [BZ #5103]
65269         * lib/glob.c (glob): Recognize patterns starting \/.
65270
65271         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
65272
65273         [BZ #3996]
65274         * lib/glob.c (attribute_hidden): Define if not defined.
65275         (glob): Unescape dirname, filename or username when needed and not
65276         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
65277         is NULL.  Handle unescaped [ in pattern without closing ].
65278         Don't pass GLOB_CHECK down to recursive glob for directories.
65279         (__glob_pattern_type): New function.
65280         (__glob_pattern_p): Implement using __glob_pattern_type.
65281         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
65282         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
65283         Remove unreachable code.
65284
65285         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
65286
65287         * lib/glob.c (glob_in_dir): Add some comments and asserts to
65288         explain why there are no leaks.
65289
65290         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
65291
65292         [BZ #3253]
65293         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
65294         time, rather allocate increasingly bigger arrays of pointers, if
65295         possible with alloca, if too large with malloc.
65296
65297 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65298
65299         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
65300         Problem reported by H.Merijn Brand in
65301         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
65302         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
65303         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
65304
65305 2007-10-15  Bruno Haible  <bruno@clisp.org>
65306
65307         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
65308         with explicit rpl_ prefix.
65309         * lib/fopen.c (fopen): Likewise.
65310         * lib/freopen.c (freopen): Likewise.
65311         * lib/iconv.c (iconv): Likewise.
65312         * lib/iconv_close.c (iconv_close): Likewise.
65313
65314 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65315
65316         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
65317
65318 2007-10-15  Bruno Haible  <bruno@clisp.org>
65319
65320         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
65321         <stddef.h> instead of <stdlib.h> since we only need NULL.
65322         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65323
65324 2007-10-15  Bruno Haible  <bruno@clisp.org>
65325
65326         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
65327         Replace paragraph talking about LIBOBJS.
65328         Reported by Colin Watson <cjwatson@debian.org>.
65329
65330 2007-10-15  Bruno Haible  <bruno@clisp.org>
65331
65332         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
65333         <stdlib.h> before using NULL.
65334
65335 2007-10-15  Simon Josefsson  <simon@josefsson.org>
65336
65337         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
65338         Reported by Albert Chin <china@thewrittenword.com>.
65339
65340 2007-10-14  Bruno Haible  <bruno@clisp.org>
65341
65342         * modules/iconv_open-utf-tests: New file.
65343         * tests/test-iconv-utf.c: New file.
65344
65345         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
65346         * modules/iconv_open-utf: New file.
65347         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
65348         (iconv, iconv_close): New declarations.
65349         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
65350         be defined.
65351         (iconv_open): Add special handling of conversion between UTF-8 and
65352         UTF-{16,32}{BE,LE}.
65353         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
65354         * lib/iconv_close.c: New file.
65355         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
65356         gl_FUNC_ICONV_OPEN.
65357         (gl_FUNC_ICONV_OPEN): Use it.
65358         (gl_FUNC_ICONV_OPEN_UTF): New macro.
65359         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
65360         and REPLACE_ICONV_UTF.
65361         * modules/iconv_open (Depends-on): Add c-strcase.
65362         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
65363         ICONV_CONST.
65364         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
65365
65366 2007-10-13  Albert Chin  <china@thewrittenword.com>
65367             Bruno Haible  <bruno@clisp.org>
65368
65369         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
65370         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
65371
65372 2007-10-13  Bruno Haible  <bruno@clisp.org>
65373
65374         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
65375         defined, use the ISO C99 inline semantics.
65376         * lib/argp.h (ARGP_EI): Likewise.
65377
65378 2007-10-13  Bruno Haible  <bruno@clisp.org>
65379
65380         Handle 'inline' change in gcc 4.3.0.
65381         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
65382         argp_fmtstream_write, argp_fmtstream_set_lmargin,
65383         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
65384         argp_fmtstream_point): Disable 'extern' declaration if the function
65385         definition is going to be provided inline.
65386         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
65387         semantics, not the ISO C99 inline semantics.
65388         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
65389         'extern' declaration if the function definition is going to be provided
65390         inline.
65391         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
65392         the GNU C inline semantics, not the ISO C99 inline semantics. With
65393         GCC 4.2, avoid a warning.
65394
65395 2007-10-13  Bruno Haible  <bruno@clisp.org>
65396
65397         * lib/freading.h (freading): Enable the use of __freading for
65398         glibc >= 2.7.
65399         * lib/freading.c (freading): Likewise.
65400
65401 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
65402
65403         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
65404         "warning: C99 inline functions are not supported; using GNU89".
65405
65406 2007-10-12  Bruno Haible  <bruno@clisp.org>
65407
65408         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
65409         of 2.
65410         * tests/test-ceilf2.c: New file.
65411         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
65412
65413         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
65414         * modules/ceilf-tests: Update.
65415
65416 2007-10-12  Bruno Haible  <bruno@clisp.org>
65417
65418         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
65419         of 2.
65420         * tests/test-floorf2.c: New file.
65421         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
65422
65423         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
65424         * modules/floorf-tests: Update.
65425
65426 2007-10-12  Bruno Haible  <bruno@clisp.org>
65427
65428         * tests/test-trunc2.c: New file.
65429         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
65430
65431         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
65432         * modules/trunc-tests: Update.
65433
65434 2007-10-12  Bruno Haible  <bruno@clisp.org>
65435
65436         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
65437         of 2.
65438         * tests/test-truncf2.c: New file.
65439         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
65440
65441         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
65442         * modules/truncf-tests: Update.
65443
65444 2007-10-11  Eric Blake  <ebb9@byu.net>
65445
65446         Don't claim strerror is broken on Interix.
65447         * doc/functions/strerror.texi (strerror): Known broken systems are
65448         now Solaris 8, and not Interix.
65449         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
65450         Interix on cross-compile.
65451         Reported by Martin Koeppe in
65452         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
65453
65454 2007-10-11  Bruno Haible  <bruno@clisp.org>
65455
65456         * modules/i-ring-tests: New file.
65457         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
65458         instead of assert.
65459
65460 2007-10-11  Bruno Haible  <bruno@clisp.org>
65461
65462         * modules/filenamecat-tests: New file.
65463         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
65464         * lib/filenamecat.c: Remove test code.
65465
65466 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
65467
65468         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
65469
65470         * lib/strerror.c: Include <string.h> always, to test interface,
65471         and to remove the need for the dummy.
65472         Include intprops.h to compute width instead of doing it ourselves
65473         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
65474         (strerror): Define it to return NULL if there's no system strerror.
65475         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
65476         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
65477         ancient pre-strerror Unix systems well any more.  Saying "unknown
65478         system error" is enough.
65479         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
65480         simpler strerror.c implementation.
65481         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
65482         Simplify the tests to reflect the simpler strerror implementation.
65483         * modules/strerror (Depends-on): Add intprops.
65484
65485 2007-10-09  Eric Blake  <ebb9@byu.net>
65486
65487         Silence test-fpending.
65488         * modules/fpending-tests (Files): Add wrapper script.
65489         * tests/test-fpending.sh: New file.
65490
65491 2007-10-09  Bruno Haible  <bruno@clisp.org>
65492
65493         * MODULES.html.sh (func_module): Don't create a hyperlink for
65494         function names like 'printf_frexp'.
65495         (Misc): Add crc, memxor.
65496         (Characteristics of floating types): New section.
65497         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
65498         isnanf-nolibm, signbit, trunc, truncf, truncl.
65499         (Enhancements for ISO C 99 functions): New subsection Input/output.
65500         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
65501         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
65502         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
65503         (Compatibility checks for POSIX:2001 functions): Add clock-time.
65504         (Enhancements for POSIX:2001 functions): Add chdir-long.
65505         (File system functions): Add areadlink, chdir-safer, read-file.
65506         Remove cycle-check.
65507         (File system as inode set): New section.
65508         (Date and time): Add gethrxtime.
65509         (Multithreading): Add openmp.
65510         (Internationalization functions): Add localename.
65511         (Unicode string functions): Add unistr/u*-mbsnlen.
65512         (Support for maintaining and releasing projects): Add git-version-gen.
65513         (Lone files): Remove directories.
65514
65515 2007-10-08  Ben Pfaff  <blp@gnu.org>
65516
65517         * lib/xmalloca.h: Fix typo in comment.
65518
65519 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65520
65521         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
65522         when avoiding problems with integer overflow.  Use a portable test
65523         instead.
65524
65525 2007-10-08  Simon Josefsson  <simon@josefsson.org>
65526
65527         * modules/dummy (License): Change to LGPLv2+.
65528         * modules/float (License): Likewise
65529         * modules/realloc (License): Likewise
65530         * modules/stdlib (License): Likewise
65531
65532 2007-10-07  Bruno Haible  <bruno@clisp.org>
65533
65534         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
65535         * floor.c (TWO_MANT_DIG): Likewise.
65536         * ceil.c (TWO_MANT_DIG): Likewise.
65537         Reported by Ben Pfaff.
65538
65539 2007-10-07  Bruno Haible  <bruno@clisp.org>
65540
65541         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
65542         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
65543         * lib/frexp.c (FUNC): Likewise.
65544         * lib/printf-frexp.h (printf_frexp): Likewise.
65545         * lib/printf-frexpl.h (printf_frexpl): Likewise.
65546         * lib/printf-frexp.c (FUNC): Likewise.
65547         Suggested by Jim Meyering.
65548
65549 2007-10-07  Jim Meyering  <meyering@redhat.com>
65550
65551         Make xnanosleep's integer overflow test more robust.
65552         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
65553         so that gcc-4.3.0 doesn't optimize away this test for overflow.
65554
65555 2007-10-07  Bruno Haible  <bruno@clisp.org>
65556
65557         * NEWS: Mention the license change.
65558
65559         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
65560         abbreviations in the modules files.
65561
65562         Change copyright notice from GPLv2+ to GPLv3+.
65563         * README: Change copyright notice.
65564         * MODULES.html.sh: Likewise.
65565         * build-aux/bootstrap.conf: Likewise.
65566         * build-aux/config.libpath: Likewise.
65567         * build-aux/csharpcomp.sh.in: Likewise.
65568         * build-aux/csharpexec.sh.in: Likewise.
65569         * build-aux/install-reloc: Likewise.
65570         * build-aux/javacomp.sh.in: Likewise.
65571         * build-aux/javaexec.sh.in: Likewise.
65572         * build-aux/ldd.sh.in: Likewise.
65573         * build-aux/reloc-ldflags: Likewise.
65574         * build-aux/relocatable.sh.in: Likewise.
65575         * build-aux/x-to-1.in: Likewise.
65576         * check-module: Likewise.
65577         * config/srclistvars.sh: Likewise.
65578         * gnulib-tool: Likewise.
65579         * lib/acl-internal.h: Likewise.
65580         * lib/acl.c: Likewise.
65581         * lib/acl.h: Likewise.
65582         * lib/acl_entries.c: Likewise.
65583         * lib/areadlink-with-size.c: Likewise.
65584         * lib/areadlink.c: Likewise.
65585         * lib/areadlink.h: Likewise.
65586         * lib/argmatch.c: Likewise.
65587         * lib/argmatch.h: Likewise.
65588         * lib/argp-ba.c: Likewise.
65589         * lib/argp-eexst.c: Likewise.
65590         * lib/argp-fmtstream.c: Likewise.
65591         * lib/argp-fmtstream.h: Likewise.
65592         * lib/argp-fs-xinl.c: Likewise.
65593         * lib/argp-help.c: Likewise.
65594         * lib/argp-namefrob.h: Likewise.
65595         * lib/argp-parse.c: Likewise.
65596         * lib/argp-pin.c: Likewise.
65597         * lib/argp-pv.c: Likewise.
65598         * lib/argp-pvh.c: Likewise.
65599         * lib/argp-xinl.c: Likewise.
65600         * lib/argp.h: Likewise.
65601         * lib/at-func.c: Likewise.
65602         * lib/atanl.c: Likewise.
65603         * lib/backupfile.c: Likewise.
65604         * lib/backupfile.h: Likewise.
65605         * lib/basename.c: Likewise.
65606         * lib/binary-io.h: Likewise.
65607         * lib/byteswap.in.h: Likewise.
65608         * lib/c-stack.c: Likewise.
65609         * lib/c-stack.h: Likewise.
65610         * lib/c-strcasestr.c: Likewise.
65611         * lib/c-strcasestr.h: Likewise.
65612         * lib/c-strstr.c: Likewise.
65613         * lib/c-strstr.h: Likewise.
65614         * lib/c-strtod.c: Likewise.
65615         * lib/calloc.c: Likewise.
65616         * lib/canon-host.c: Likewise.
65617         * lib/canon-host.h: Likewise.
65618         * lib/canonicalize-lgpl.c: Likewise.
65619         * lib/canonicalize.c: Likewise.
65620         * lib/canonicalize.h: Likewise.
65621         * lib/ceil.c: Likewise.
65622         * lib/ceilf.c: Likewise.
65623         * lib/ceill.c: Likewise.
65624         * lib/chdir-long.c: Likewise.
65625         * lib/chdir-long.h: Likewise.
65626         * lib/chdir-safer.c: Likewise.
65627         * lib/chdir-safer.h: Likewise.
65628         * lib/chown.c: Likewise.
65629         * lib/classpath.c: Likewise.
65630         * lib/classpath.h: Likewise.
65631         * lib/clean-temp.c: Likewise.
65632         * lib/clean-temp.h: Likewise.
65633         * lib/cloexec.c: Likewise.
65634         * lib/close-stream.c: Likewise.
65635         * lib/closein.c: Likewise.
65636         * lib/closein.h: Likewise.
65637         * lib/closeout.c: Likewise.
65638         * lib/closeout.h: Likewise.
65639         * lib/concat-filename.c: Likewise.
65640         * lib/copy-file.c: Likewise.
65641         * lib/copy-file.h: Likewise.
65642         * lib/count-one-bits.h: Likewise.
65643         * lib/crc.c: Likewise.
65644         * lib/crc.h: Likewise.
65645         * lib/creat-safer.c: Likewise.
65646         * lib/csharpcomp.c: Likewise.
65647         * lib/csharpcomp.h: Likewise.
65648         * lib/csharpexec.c: Likewise.
65649         * lib/csharpexec.h: Likewise.
65650         * lib/cycle-check.c: Likewise.
65651         * lib/cycle-check.h: Likewise.
65652         * lib/diacrit.c: Likewise.
65653         * lib/diacrit.h: Likewise.
65654         * lib/diffseq.h: Likewise.
65655         * lib/dirchownmod.c: Likewise.
65656         * lib/dirent.in.h: Likewise.
65657         * lib/dirfd.c: Likewise.
65658         * lib/dirfd.h: Likewise.
65659         * lib/dirname.c: Likewise.
65660         * lib/dirname.h: Likewise.
65661         * lib/dummy.c: Likewise.
65662         * lib/dup-safer.c: Likewise.
65663         * lib/dup2.c: Likewise.
65664         * lib/eealloc.h: Likewise.
65665         * lib/error.c: Likewise.
65666         * lib/error.h: Likewise.
65667         * lib/euidaccess.c: Likewise.
65668         * lib/exclude.c: Likewise.
65669         * lib/exclude.h: Likewise.
65670         * lib/execute.c: Likewise.
65671         * lib/execute.h: Likewise.
65672         * lib/exitfail.c: Likewise.
65673         * lib/exitfail.h: Likewise.
65674         * lib/expl.c: Likewise.
65675         * lib/fatal-signal.c: Likewise.
65676         * lib/fatal-signal.h: Likewise.
65677         * lib/fbufmode.c: Likewise.
65678         * lib/fbufmode.h: Likewise.
65679         * lib/fchdir.c: Likewise.
65680         * lib/fchmodat.c: Likewise.
65681         * lib/fchownat.c: Likewise.
65682         * lib/fcntl--.h: Likewise.
65683         * lib/fcntl-safer.h: Likewise.
65684         * lib/fcntl.in.h: Likewise.
65685         * lib/fd-safer.c: Likewise.
65686         * lib/fflush.c: Likewise.
65687         * lib/file-has-acl.c: Likewise.
65688         * lib/file-set.c: Likewise.
65689         * lib/file-type.c: Likewise.
65690         * lib/file-type.h: Likewise.
65691         * lib/fileblocks.c: Likewise.
65692         * lib/filemode.c: Likewise.
65693         * lib/filemode.h: Likewise.
65694         * lib/filename.h: Likewise.
65695         * lib/filenamecat.c: Likewise.
65696         * lib/filenamecat.h: Likewise.
65697         * lib/findprog.c: Likewise.
65698         * lib/findprog.h: Likewise.
65699         * lib/float.in.h: Likewise.
65700         * lib/floor.c: Likewise.
65701         * lib/floorf.c: Likewise.
65702         * lib/floorl.c: Likewise.
65703         * lib/fopen-safer.c: Likewise.
65704         * lib/fopen.c: Likewise.
65705         * lib/fpending.c: Likewise.
65706         * lib/fpending.h: Likewise.
65707         * lib/fprintf.c: Likewise.
65708         * lib/fprintftime.h: Likewise.
65709         * lib/fpucw.h: Likewise.
65710         * lib/fpurge.c: Likewise.
65711         * lib/fpurge.h: Likewise.
65712         * lib/freadable.c: Likewise.
65713         * lib/freadable.h: Likewise.
65714         * lib/freadahead.c: Likewise.
65715         * lib/freadahead.h: Likewise.
65716         * lib/freading.c: Likewise.
65717         * lib/freading.h: Likewise.
65718         * lib/free.c: Likewise.
65719         * lib/freopen.c: Likewise.
65720         * lib/frexp.c: Likewise.
65721         * lib/frexpl.c: Likewise.
65722         * lib/fseek.c: Likewise.
65723         * lib/fseterr.c: Likewise.
65724         * lib/fseterr.h: Likewise.
65725         * lib/fstatat.c: Likewise.
65726         * lib/fstrcmp.c: Likewise.
65727         * lib/fstrcmp.h: Likewise.
65728         * lib/fsusage.c: Likewise.
65729         * lib/fsusage.h: Likewise.
65730         * lib/ftell.c: Likewise.
65731         * lib/ftello.c: Likewise.
65732         * lib/fts-cycle.c: Likewise.
65733         * lib/fts.c: Likewise.
65734         * lib/fts_.h: Likewise.
65735         * lib/full-read.c: Likewise.
65736         * lib/full-read.h: Likewise.
65737         * lib/full-write.c: Likewise.
65738         * lib/full-write.h: Likewise.
65739         * lib/fwritable.c: Likewise.
65740         * lib/fwritable.h: Likewise.
65741         * lib/fwriteerror.c: Likewise.
65742         * lib/fwriteerror.h: Likewise.
65743         * lib/fwriting.c: Likewise.
65744         * lib/fwriting.h: Likewise.
65745         * lib/gcd.c: Likewise.
65746         * lib/gcd.h: Likewise.
65747         * lib/getcwd.c: Likewise.
65748         * lib/getdate.h: Likewise.
65749         * lib/getdate.y: Likewise.
65750         * lib/getdomainname.c: Likewise.
65751         * lib/getdomainname.h: Likewise.
65752         * lib/getgroups.c: Likewise.
65753         * lib/gethostname.c: Likewise.
65754         * lib/gethrxtime.c: Likewise.
65755         * lib/gethrxtime.h: Likewise.
65756         * lib/getloadavg.c: Likewise.
65757         * lib/getndelim2.c: Likewise.
65758         * lib/getndelim2.h: Likewise.
65759         * lib/getnline.c: Likewise.
65760         * lib/getnline.h: Likewise.
65761         * lib/getopt.c: Likewise.
65762         * lib/getopt.in.h: Likewise.
65763         * lib/getopt1.c: Likewise.
65764         * lib/getopt_int.h: Likewise.
65765         * lib/getpagesize.h: Likewise.
65766         * lib/getsubopt.c: Likewise.
65767         * lib/gettime.c: Likewise.
65768         * lib/getugroups.c: Likewise.
65769         * lib/getugroups.h: Likewise.
65770         * lib/getusershell.c: Likewise.
65771         * lib/gl_anyavltree_list1.h: Likewise.
65772         * lib/gl_anyavltree_list2.h: Likewise.
65773         * lib/gl_anyhash_list1.h: Likewise.
65774         * lib/gl_anyhash_list2.h: Likewise.
65775         * lib/gl_anylinked_list1.h: Likewise.
65776         * lib/gl_anylinked_list2.h: Likewise.
65777         * lib/gl_anyrbtree_list1.h: Likewise.
65778         * lib/gl_anyrbtree_list2.h: Likewise.
65779         * lib/gl_anytree_list1.h: Likewise.
65780         * lib/gl_anytree_list2.h: Likewise.
65781         * lib/gl_anytree_oset.h: Likewise.
65782         * lib/gl_anytreehash_list1.h: Likewise.
65783         * lib/gl_anytreehash_list2.h: Likewise.
65784         * lib/gl_array_list.c: Likewise.
65785         * lib/gl_array_list.h: Likewise.
65786         * lib/gl_array_oset.c: Likewise.
65787         * lib/gl_array_oset.h: Likewise.
65788         * lib/gl_avltree_list.c: Likewise.
65789         * lib/gl_avltree_list.h: Likewise.
65790         * lib/gl_avltree_oset.c: Likewise.
65791         * lib/gl_avltree_oset.h: Likewise.
65792         * lib/gl_avltreehash_list.c: Likewise.
65793         * lib/gl_avltreehash_list.h: Likewise.
65794         * lib/gl_carray_list.c: Likewise.
65795         * lib/gl_carray_list.h: Likewise.
65796         * lib/gl_linked_list.c: Likewise.
65797         * lib/gl_linked_list.h: Likewise.
65798         * lib/gl_linkedhash_list.c: Likewise.
65799         * lib/gl_linkedhash_list.h: Likewise.
65800         * lib/gl_list.c: Likewise.
65801         * lib/gl_list.h: Likewise.
65802         * lib/gl_oset.c: Likewise.
65803         * lib/gl_oset.h: Likewise.
65804         * lib/gl_rbtree_list.c: Likewise.
65805         * lib/gl_rbtree_list.h: Likewise.
65806         * lib/gl_rbtree_oset.c: Likewise.
65807         * lib/gl_rbtree_oset.h: Likewise.
65808         * lib/gl_rbtreehash_list.c: Likewise.
65809         * lib/gl_rbtreehash_list.h: Likewise.
65810         * lib/gl_sublist.c: Likewise.
65811         * lib/gl_sublist.h: Likewise.
65812         * lib/group-member.c: Likewise.
65813         * lib/group-member.h: Likewise.
65814         * lib/hard-locale.c: Likewise.
65815         * lib/hard-locale.h: Likewise.
65816         * lib/hash-pjw.c: Likewise.
65817         * lib/hash-pjw.h: Likewise.
65818         * lib/hash-triple.c: Likewise.
65819         * lib/hash.c: Likewise.
65820         * lib/hash.h: Likewise.
65821         * lib/human.c: Likewise.
65822         * lib/human.h: Likewise.
65823         * lib/i-ring.c: Likewise.
65824         * lib/i-ring.h: Likewise.
65825         * lib/idcache.c: Likewise.
65826         * lib/imaxabs.c: Likewise.
65827         * lib/imaxdiv.c: Likewise.
65828         * lib/inet_pton.c: Likewise.
65829         * lib/inet_pton.h: Likewise.
65830         * lib/intprops.h: Likewise.
65831         * lib/inttostr.c: Likewise.
65832         * lib/inttostr.h: Likewise.
65833         * lib/inttypes.in.h: Likewise.
65834         * lib/isapipe.c: Likewise.
65835         * lib/isdir.c: Likewise.
65836         * lib/isnan.c: Likewise.
65837         * lib/isnan.h: Likewise.
65838         * lib/isnanf.c: Likewise.
65839         * lib/isnanf.h: Likewise.
65840         * lib/isnanl-nolibm.h: Likewise.
65841         * lib/isnanl.c: Likewise.
65842         * lib/isnanl.h: Likewise.
65843         * lib/javacomp.c: Likewise.
65844         * lib/javacomp.h: Likewise.
65845         * lib/javaexec.c: Likewise.
65846         * lib/javaexec.h: Likewise.
65847         * lib/javaversion.c: Likewise.
65848         * lib/javaversion.h: Likewise.
65849         * lib/javaversion.java: Likewise.
65850         * lib/lbrkprop.h: Likewise.
65851         * lib/lchmod.h: Likewise.
65852         * lib/lchown.c: Likewise.
65853         * lib/ldexpl.c: Likewise.
65854         * lib/linebreak.c: Likewise.
65855         * lib/linebreak.h: Likewise.
65856         * lib/linebuffer.c: Likewise.
65857         * lib/linebuffer.h: Likewise.
65858         * lib/locale.in.h: Likewise.
65859         * lib/logl.c: Likewise.
65860         * lib/long-options.c: Likewise.
65861         * lib/long-options.h: Likewise.
65862         * lib/lstat.c: Likewise.
65863         * lib/lstat.h: Likewise.
65864         * lib/math.in.h: Likewise.
65865         * lib/mbchar.c: Likewise.
65866         * lib/mbchar.h: Likewise.
65867         * lib/mbfile.h: Likewise.
65868         * lib/mbiter.h: Likewise.
65869         * lib/mbscasecmp.c: Likewise.
65870         * lib/mbscasestr.c: Likewise.
65871         * lib/mbschr.c: Likewise.
65872         * lib/mbscspn.c: Likewise.
65873         * lib/mbslen.c: Likewise.
65874         * lib/mbsncasecmp.c: Likewise.
65875         * lib/mbsnlen.c: Likewise.
65876         * lib/mbspbrk.c: Likewise.
65877         * lib/mbspcasecmp.c: Likewise.
65878         * lib/mbsrchr.c: Likewise.
65879         * lib/mbssep.c: Likewise.
65880         * lib/mbsspn.c: Likewise.
65881         * lib/mbsstr.c: Likewise.
65882         * lib/mbstok_r.c: Likewise.
65883         * lib/mbswidth.c: Likewise.
65884         * lib/mbswidth.h: Likewise.
65885         * lib/mbuiter.h: Likewise.
65886         * lib/memcasecmp.c: Likewise.
65887         * lib/memcasecmp.h: Likewise.
65888         * lib/memchr.c: Likewise.
65889         * lib/memcmp.c: Likewise.
65890         * lib/memcoll.c: Likewise.
65891         * lib/memcoll.h: Likewise.
65892         * lib/memcpy.c: Likewise.
65893         * lib/memrchr.c: Likewise.
65894         * lib/mkancesdirs.c: Likewise.
65895         * lib/mkdir-p.c: Likewise.
65896         * lib/mkdir-p.h: Likewise.
65897         * lib/mkdir.c: Likewise.
65898         * lib/mkdirat.c: Likewise.
65899         * lib/mkdtemp.c: Likewise.
65900         * lib/mkstemp-safer.c: Likewise.
65901         * lib/mkstemp.c: Likewise.
65902         * lib/modechange.c: Likewise.
65903         * lib/modechange.h: Likewise.
65904         * lib/mountlist.c: Likewise.
65905         * lib/mountlist.h: Likewise.
65906         * lib/mpsort.c: Likewise.
65907         * lib/nanosleep.c: Likewise.
65908         * lib/obstack.c: Likewise.
65909         * lib/obstack.h: Likewise.
65910         * lib/open-safer.c: Likewise.
65911         * lib/open.c: Likewise.
65912         * lib/openat-die.c: Likewise.
65913         * lib/openat-priv.h: Likewise.
65914         * lib/openat-proc.c: Likewise.
65915         * lib/openat.c: Likewise.
65916         * lib/openat.h: Likewise.
65917         * lib/pagealign_alloc.c: Likewise.
65918         * lib/pagealign_alloc.h: Likewise.
65919         * lib/physmem.c: Likewise.
65920         * lib/physmem.h: Likewise.
65921         * lib/pipe-safer.c: Likewise.
65922         * lib/pipe.c: Likewise.
65923         * lib/pipe.h: Likewise.
65924         * lib/posixtm.c: Likewise.
65925         * lib/posixtm.h: Likewise.
65926         * lib/posixver.c: Likewise.
65927         * lib/printf-frexp.c: Likewise.
65928         * lib/printf-frexp.h: Likewise.
65929         * lib/printf-frexpl.c: Likewise.
65930         * lib/printf-frexpl.h: Likewise.
65931         * lib/printf.c: Likewise.
65932         * lib/progname.c: Likewise.
65933         * lib/progname.h: Likewise.
65934         * lib/progreloc.c: Likewise.
65935         * lib/putenv.c: Likewise.
65936         * lib/quote.c: Likewise.
65937         * lib/quote.h: Likewise.
65938         * lib/quotearg.c: Likewise.
65939         * lib/quotearg.h: Likewise.
65940         * lib/raise.c: Likewise.
65941         * lib/readline.c: Likewise.
65942         * lib/readline.h: Likewise.
65943         * lib/readlink.c: Likewise.
65944         * lib/readtokens.c: Likewise.
65945         * lib/readtokens.h: Likewise.
65946         * lib/readtokens0.c: Likewise.
65947         * lib/readtokens0.h: Likewise.
65948         * lib/readutmp.c: Likewise.
65949         * lib/readutmp.h: Likewise.
65950         * lib/realloc.c: Likewise.
65951         * lib/relocwrapper.c: Likewise.
65952         * lib/rename-dest-slash.c: Likewise.
65953         * lib/rename.c: Likewise.
65954         * lib/rmdir.c: Likewise.
65955         * lib/rpmatch.c: Likewise.
65956         * lib/safe-read.c: Likewise.
65957         * lib/safe-read.h: Likewise.
65958         * lib/safe-write.c: Likewise.
65959         * lib/safe-write.h: Likewise.
65960         * lib/same-inode.h: Likewise.
65961         * lib/same.c: Likewise.
65962         * lib/same.h: Likewise.
65963         * lib/save-cwd.c: Likewise.
65964         * lib/save-cwd.h: Likewise.
65965         * lib/savedir.c: Likewise.
65966         * lib/savedir.h: Likewise.
65967         * lib/savewd.c: Likewise.
65968         * lib/savewd.h: Likewise.
65969         * lib/search.in.h: Likewise.
65970         * lib/setenv.c: Likewise.
65971         * lib/setenv.h: Likewise.
65972         * lib/settime.c: Likewise.
65973         * lib/sh-quote.c: Likewise.
65974         * lib/sh-quote.h: Likewise.
65975         * lib/sig2str.c: Likewise.
65976         * lib/sig2str.h: Likewise.
65977         * lib/signal.in.h: Likewise.
65978         * lib/signbitd.c: Likewise.
65979         * lib/signbitf.c: Likewise.
65980         * lib/signbitl.c: Likewise.
65981         * lib/sigprocmask.c: Likewise.
65982         * lib/sincosl.c: Likewise.
65983         * lib/sleep.c: Likewise.
65984         * lib/sprintf.c: Likewise.
65985         * lib/sqrtl.c: Likewise.
65986         * lib/stat-time.h: Likewise.
65987         * lib/stdio--.h: Likewise.
65988         * lib/stdio-safer.h: Likewise.
65989         * lib/stdlib--.h: Likewise.
65990         * lib/stdlib-safer.h: Likewise.
65991         * lib/stdlib.in.h: Likewise.
65992         * lib/stpcpy.c: Likewise.
65993         * lib/stpncpy.c: Likewise.
65994         * lib/strchrnul.c: Likewise.
65995         * lib/strcspn.c: Likewise.
65996         * lib/strerror.c: Likewise.
65997         * lib/strftime.c: Likewise.
65998         * lib/strftime.h: Likewise.
65999         * lib/striconveh.c: Likewise.
66000         * lib/striconveh.h: Likewise.
66001         * lib/striconveha.c: Likewise.
66002         * lib/striconveha.h: Likewise.
66003         * lib/stripslash.c: Likewise.
66004         * lib/strnlen1.c: Likewise.
66005         * lib/strnlen1.h: Likewise.
66006         * lib/strtod.c: Likewise.
66007         * lib/strtoimax.c: Likewise.
66008         * lib/strtok_r.c: Likewise.
66009         * lib/strtol.c: Likewise.
66010         * lib/strtoll.c: Likewise.
66011         * lib/strtoul.c: Likewise.
66012         * lib/strtoull.c: Likewise.
66013         * lib/sysexits.in.h: Likewise.
66014         * lib/tempname.c: Likewise.
66015         * lib/tempname.h: Likewise.
66016         * lib/timespec.h: Likewise.
66017         * lib/tls.c: Likewise.
66018         * lib/tls.h: Likewise.
66019         * lib/tmpdir.c: Likewise.
66020         * lib/tmpdir.h: Likewise.
66021         * lib/tmpfile-safer.c: Likewise.
66022         * lib/tmpfile.c: Likewise.
66023         * lib/trigl.c: Likewise.
66024         * lib/trigl.h: Likewise.
66025         * lib/trim.c: Likewise.
66026         * lib/trim.h: Likewise.
66027         * lib/trunc.c: Likewise.
66028         * lib/truncf.c: Likewise.
66029         * lib/truncl.c: Likewise.
66030         * lib/tsearch.c: Likewise.
66031         * lib/unicodeio.c: Likewise.
66032         * lib/unicodeio.h: Likewise.
66033         * lib/unistd--.h: Likewise.
66034         * lib/unistd-safer.h: Likewise.
66035         * lib/unistdio/ulc-fprintf.c: Likewise.
66036         * lib/unistdio/ulc-vfprintf.c: Likewise.
66037         * lib/unlinkdir.c: Likewise.
66038         * lib/unlinkdir.h: Likewise.
66039         * lib/unlocked-io.h: Likewise.
66040         * lib/unsetenv.c: Likewise.
66041         * lib/userspec.c: Likewise.
66042         * lib/utime.c: Likewise.
66043         * lib/utimecmp.c: Likewise.
66044         * lib/utimecmp.h: Likewise.
66045         * lib/utimens.c: Likewise.
66046         * lib/verify.h: Likewise.
66047         * lib/verror.c: Likewise.
66048         * lib/verror.h: Likewise.
66049         * lib/version-etc-fsf.c: Likewise.
66050         * lib/version-etc.c: Likewise.
66051         * lib/version-etc.h: Likewise.
66052         * lib/vfprintf.c: Likewise.
66053         * lib/vprintf.c: Likewise.
66054         * lib/vsprintf.c: Likewise.
66055         * lib/w32spawn.h: Likewise.
66056         * lib/wait-process.c: Likewise.
66057         * lib/wait-process.h: Likewise.
66058         * lib/wcwidth.c: Likewise.
66059         * lib/write-any-file.c: Likewise.
66060         * lib/xalloc-die.c: Likewise.
66061         * lib/xalloc.h: Likewise.
66062         * lib/xasprintf.c: Likewise.
66063         * lib/xgetcwd.c: Likewise.
66064         * lib/xgetcwd.h: Likewise.
66065         * lib/xgetdomainname.c: Likewise.
66066         * lib/xgetdomainname.h: Likewise.
66067         * lib/xgethostname.c: Likewise.
66068         * lib/xmalloc.c: Likewise.
66069         * lib/xmalloca.c: Likewise.
66070         * lib/xmalloca.h: Likewise.
66071         * lib/xmemcoll.c: Likewise.
66072         * lib/xnanosleep.c: Likewise.
66073         * lib/xreadlink.c: Likewise.
66074         * lib/xreadlink.h: Likewise.
66075         * lib/xsetenv.c: Likewise.
66076         * lib/xsetenv.h: Likewise.
66077         * lib/xstriconv.c: Likewise.
66078         * lib/xstriconv.h: Likewise.
66079         * lib/xstrndup.c: Likewise.
66080         * lib/xstrndup.h: Likewise.
66081         * lib/xstrtod.c: Likewise.
66082         * lib/xstrtod.h: Likewise.
66083         * lib/xstrtol-error.c: Likewise.
66084         * lib/xstrtol.c: Likewise.
66085         * lib/xstrtol.h: Likewise.
66086         * lib/xtime.h: Likewise.
66087         * lib/xvasprintf.c: Likewise.
66088         * lib/xvasprintf.h: Likewise.
66089         * lib/yesno.c: Likewise.
66090         * lib/yesno.h: Likewise.
66091         * posix-modules: Likewise.
66092         * tests/test-alloca-opt.c: Likewise.
66093         * tests/test-arcfour.c: Likewise.
66094         * tests/test-arctwo.c: Likewise.
66095         * tests/test-argmatch.c: Likewise.
66096         * tests/test-argp-2.sh: Likewise.
66097         * tests/test-argp.c: Likewise.
66098         * tests/test-arpa_inet.c: Likewise.
66099         * tests/test-array_list.c: Likewise.
66100         * tests/test-array_oset.c: Likewise.
66101         * tests/test-atexit.c: Likewise.
66102         * tests/test-avltree_list.c: Likewise.
66103         * tests/test-avltree_oset.c: Likewise.
66104         * tests/test-avltreehash_list.c: Likewise.
66105         * tests/test-base64.c: Likewise.
66106         * tests/test-binary-io.c: Likewise.
66107         * tests/test-byteswap.c: Likewise.
66108         * tests/test-c-ctype.c: Likewise.
66109         * tests/test-c-strcasecmp.c: Likewise.
66110         * tests/test-c-strcasestr.c: Likewise.
66111         * tests/test-c-strncasecmp.c: Likewise.
66112         * tests/test-c-strstr.c: Likewise.
66113         * tests/test-canonicalize-lgpl.c: Likewise.
66114         * tests/test-canonicalize.c: Likewise.
66115         * tests/test-carray_list.c: Likewise.
66116         * tests/test-ceilf.c: Likewise.
66117         * tests/test-ceill.c: Likewise.
66118         * tests/test-count-one-bits.c: Likewise.
66119         * tests/test-crc.c: Likewise.
66120         * tests/test-dirname.c: Likewise.
66121         * tests/test-fbufmode.c: Likewise.
66122         * tests/test-fcntl.c: Likewise.
66123         * tests/test-fflush.c: Likewise.
66124         * tests/test-floorf.c: Likewise.
66125         * tests/test-floorl.c: Likewise.
66126         * tests/test-fopen.c: Likewise.
66127         * tests/test-fprintf-posix.c: Likewise.
66128         * tests/test-fprintf-posix.h: Likewise.
66129         * tests/test-fpurge.c: Likewise.
66130         * tests/test-freadable.c: Likewise.
66131         * tests/test-freadahead.c: Likewise.
66132         * tests/test-freading.c: Likewise.
66133         * tests/test-freopen.c: Likewise.
66134         * tests/test-frexp.c: Likewise.
66135         * tests/test-frexpl.c: Likewise.
66136         * tests/test-fseek.c: Likewise.
66137         * tests/test-fseeko.c: Likewise.
66138         * tests/test-fseterr.c: Likewise.
66139         * tests/test-fstrcmp.c: Likewise.
66140         * tests/test-ftell.c: Likewise.
66141         * tests/test-ftello.c: Likewise.
66142         * tests/test-fwritable.c: Likewise.
66143         * tests/test-fwriting.c: Likewise.
66144         * tests/test-getaddrinfo.c: Likewise.
66145         * tests/test-getpass.c: Likewise.
66146         * tests/test-gettimeofday.c: Likewise.
66147         * tests/test-hmac-md5.c: Likewise.
66148         * tests/test-hmac-sha1.c: Likewise.
66149         * tests/test-iconv.c: Likewise.
66150         * tests/test-iconvme.c: Likewise.
66151         * tests/test-inttypes.c: Likewise.
66152         * tests/test-isnan.c: Likewise.
66153         * tests/test-isnanf.c: Likewise.
66154         * tests/test-isnanl-nolibm.c: Likewise.
66155         * tests/test-isnanl.c: Likewise.
66156         * tests/test-isnanl.h: Likewise.
66157         * tests/test-ldexpl.c: Likewise.
66158         * tests/test-linked_list.c: Likewise.
66159         * tests/test-linkedhash_list.c: Likewise.
66160         * tests/test-locale.c: Likewise.
66161         * tests/test-localename.c: Likewise.
66162         * tests/test-lock.c: Likewise.
66163         * tests/test-lseek.c: Likewise.
66164         * tests/test-malloca.c: Likewise.
66165         * tests/test-math.c: Likewise.
66166         * tests/test-mbscasecmp.c: Likewise.
66167         * tests/test-mbscasestr1.c: Likewise.
66168         * tests/test-mbscasestr2.c: Likewise.
66169         * tests/test-mbscasestr3.c: Likewise.
66170         * tests/test-mbscasestr4.c: Likewise.
66171         * tests/test-mbschr.c: Likewise.
66172         * tests/test-mbscspn.c: Likewise.
66173         * tests/test-mbsncasecmp.c: Likewise.
66174         * tests/test-mbspbrk.c: Likewise.
66175         * tests/test-mbspcasecmp.c: Likewise.
66176         * tests/test-mbsrchr.c: Likewise.
66177         * tests/test-mbsspn.c: Likewise.
66178         * tests/test-mbsstr1.c: Likewise.
66179         * tests/test-mbsstr2.c: Likewise.
66180         * tests/test-mbsstr3.c: Likewise.
66181         * tests/test-md5.c: Likewise.
66182         * tests/test-memmem.c: Likewise.
66183         * tests/test-netinet_in.c: Likewise.
66184         * tests/test-open.c: Likewise.
66185         * tests/test-printf-frexp.c: Likewise.
66186         * tests/test-printf-frexpl.c: Likewise.
66187         * tests/test-printf-posix.c: Likewise.
66188         * tests/test-printf-posix.h: Likewise.
66189         * tests/test-rbtree_list.c: Likewise.
66190         * tests/test-rbtree_oset.c: Likewise.
66191         * tests/test-rbtreehash_list.c: Likewise.
66192         * tests/test-read-file.c: Likewise.
66193         * tests/test-rijndael.c: Likewise.
66194         * tests/test-search.c: Likewise.
66195         * tests/test-signbit.c: Likewise.
66196         * tests/test-sleep.c: Likewise.
66197         * tests/test-snprintf-posix.c: Likewise.
66198         * tests/test-snprintf-posix.h: Likewise.
66199         * tests/test-snprintf.c: Likewise.
66200         * tests/test-sprintf-posix.c: Likewise.
66201         * tests/test-sprintf-posix.h: Likewise.
66202         * tests/test-stat-time.c: Likewise.
66203         * tests/test-stdbool.c: Likewise.
66204         * tests/test-stdint.c: Likewise.
66205         * tests/test-stdio.c: Likewise.
66206         * tests/test-stdlib.c: Likewise.
66207         * tests/test-stpncpy.c: Likewise.
66208         * tests/test-strcasestr.c: Likewise.
66209         * tests/test-striconv.c: Likewise.
66210         * tests/test-striconveh.c: Likewise.
66211         * tests/test-striconveha.c: Likewise.
66212         * tests/test-string.c: Likewise.
66213         * tests/test-sys_select.c: Likewise.
66214         * tests/test-sys_socket.c: Likewise.
66215         * tests/test-sys_stat.c: Likewise.
66216         * tests/test-sys_time.c: Likewise.
66217         * tests/test-sysexits.c: Likewise.
66218         * tests/test-time.c: Likewise.
66219         * tests/test-tls.c: Likewise.
66220         * tests/test-trunc.c: Likewise.
66221         * tests/test-truncf.c: Likewise.
66222         * tests/test-truncl.c: Likewise.
66223         * tests/test-unistd.c: Likewise.
66224         * tests/test-vasnprintf-posix.c: Likewise.
66225         * tests/test-vasnprintf-posix2.c: Likewise.
66226         * tests/test-vasnprintf.c: Likewise.
66227         * tests/test-vasprintf-posix.c: Likewise.
66228         * tests/test-vasprintf.c: Likewise.
66229         * tests/test-verify.c: Likewise.
66230         * tests/test-vfprintf-posix.c: Likewise.
66231         * tests/test-vprintf-posix.c: Likewise.
66232         * tests/test-vsnprintf-posix.c: Likewise.
66233         * tests/test-vsnprintf.c: Likewise.
66234         * tests/test-vsprintf-posix.c: Likewise.
66235         * tests/test-wchar.c: Likewise.
66236         * tests/test-wctype.c: Likewise.
66237         * tests/test-wcwidth.c: Likewise.
66238         * tests/test-xstrtol.c: Likewise.
66239         * tests/test-xvasprintf.c: Likewise.
66240         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
66241         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
66242         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
66243         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
66244         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
66245         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
66246         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
66247         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
66248         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
66249         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
66250         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
66251         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
66252         * tests/uniname/test-uninames.c: Likewise.
66253         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
66254         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
66255         * tests/unistdio/test-u16-printf1.h: Likewise.
66256         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
66257         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
66258         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
66259         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
66260         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
66261         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
66262         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
66263         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
66264         * tests/unistdio/test-u32-printf1.h: Likewise.
66265         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
66266         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
66267         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
66268         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
66269         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
66270         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
66271         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
66272         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
66273         * tests/unistdio/test-u8-printf1.h: Likewise.
66274         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
66275         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
66276         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
66277         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
66278         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
66279         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
66280         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
66281         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
66282         * tests/unistdio/test-ulc-printf1.h: Likewise.
66283         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
66284         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
66285         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
66286         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
66287         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
66288         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
66289         * tests/uniwidth/test-u16-strwidth.c: Likewise.
66290         * tests/uniwidth/test-u16-width.c: Likewise.
66291         * tests/uniwidth/test-u32-strwidth.c: Likewise.
66292         * tests/uniwidth/test-u32-width.c: Likewise.
66293         * tests/uniwidth/test-u8-strwidth.c: Likewise.
66294         * tests/uniwidth/test-u8-width.c: Likewise.
66295         * tests/uniwidth/test-uc_width.c: Likewise.
66296         * config/srclist-update: Likewise.
66297         (fixlicense): Update to GPLv3+.
66298
66299         Change copyright notice from LGPLv2.1+ to LGPLv3+.
66300         * tests/test-tsearch.c: Change copyright notice.
66301
66302         Change copyright notice from LGPLv2.0+ to LGPLv3+.
66303         * lib/c-strcaseeq.h: Change copyright notice.
66304         * lib/streq.h: Likewise.
66305         * lib/uniconv.h: Likewise.
66306         * lib/uniconv/u-conv-from-enc.h: Likewise.
66307         * lib/uniconv/u-conv-to-enc.h: Likewise.
66308         * lib/uniconv/u-strconv-from-enc.h: Likewise.
66309         * lib/uniconv/u-strconv-to-enc.h: Likewise.
66310         * lib/uniconv/u16-conv-from-enc.c: Likewise.
66311         * lib/uniconv/u16-conv-to-enc.c: Likewise.
66312         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
66313         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
66314         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
66315         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
66316         * lib/uniconv/u32-conv-from-enc.c: Likewise.
66317         * lib/uniconv/u32-conv-to-enc.c: Likewise.
66318         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
66319         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
66320         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
66321         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
66322         * lib/uniconv/u8-conv-from-enc.c: Likewise.
66323         * lib/uniconv/u8-conv-to-enc.c: Likewise.
66324         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
66325         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
66326         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
66327         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
66328         * lib/uniname.h: Likewise.
66329         * lib/uniname/uniname.c: Likewise.
66330         * lib/unistdio.h: Likewise.
66331         * lib/unistdio/u-asnprintf.h: Likewise.
66332         * lib/unistdio/u-asprintf.h: Likewise.
66333         * lib/unistdio/u-printf-args.c: Likewise.
66334         * lib/unistdio/u-printf-args.h: Likewise.
66335         * lib/unistdio/u-printf-parse.h: Likewise.
66336         * lib/unistdio/u-snprintf.h: Likewise.
66337         * lib/unistdio/u-sprintf.h: Likewise.
66338         * lib/unistdio/u-vasprintf.h: Likewise.
66339         * lib/unistdio/u-vsnprintf.h: Likewise.
66340         * lib/unistdio/u-vsprintf.h: Likewise.
66341         * lib/unistdio/u16-asnprintf.c: Likewise.
66342         * lib/unistdio/u16-asprintf.c: Likewise.
66343         * lib/unistdio/u16-printf-parse.c: Likewise.
66344         * lib/unistdio/u16-snprintf.c: Likewise.
66345         * lib/unistdio/u16-sprintf.c: Likewise.
66346         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
66347         * lib/unistdio/u16-u16-asprintf.c: Likewise.
66348         * lib/unistdio/u16-u16-snprintf.c: Likewise.
66349         * lib/unistdio/u16-u16-sprintf.c: Likewise.
66350         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
66351         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
66352         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
66353         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
66354         * lib/unistdio/u16-vasnprintf.c: Likewise.
66355         * lib/unistdio/u16-vasprintf.c: Likewise.
66356         * lib/unistdio/u16-vsnprintf.c: Likewise.
66357         * lib/unistdio/u16-vsprintf.c: Likewise.
66358         * lib/unistdio/u32-asnprintf.c: Likewise.
66359         * lib/unistdio/u32-asprintf.c: Likewise.
66360         * lib/unistdio/u32-printf-parse.c: Likewise.
66361         * lib/unistdio/u32-snprintf.c: Likewise.
66362         * lib/unistdio/u32-sprintf.c: Likewise.
66363         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
66364         * lib/unistdio/u32-u32-asprintf.c: Likewise.
66365         * lib/unistdio/u32-u32-snprintf.c: Likewise.
66366         * lib/unistdio/u32-u32-sprintf.c: Likewise.
66367         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
66368         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
66369         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
66370         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
66371         * lib/unistdio/u32-vasnprintf.c: Likewise.
66372         * lib/unistdio/u32-vasprintf.c: Likewise.
66373         * lib/unistdio/u32-vsnprintf.c: Likewise.
66374         * lib/unistdio/u32-vsprintf.c: Likewise.
66375         * lib/unistdio/u8-asnprintf.c: Likewise.
66376         * lib/unistdio/u8-asprintf.c: Likewise.
66377         * lib/unistdio/u8-printf-parse.c: Likewise.
66378         * lib/unistdio/u8-snprintf.c: Likewise.
66379         * lib/unistdio/u8-sprintf.c: Likewise.
66380         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
66381         * lib/unistdio/u8-u8-asprintf.c: Likewise.
66382         * lib/unistdio/u8-u8-snprintf.c: Likewise.
66383         * lib/unistdio/u8-u8-sprintf.c: Likewise.
66384         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
66385         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
66386         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
66387         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
66388         * lib/unistdio/u8-vasnprintf.c: Likewise.
66389         * lib/unistdio/u8-vasprintf.c: Likewise.
66390         * lib/unistdio/u8-vsnprintf.c: Likewise.
66391         * lib/unistdio/u8-vsprintf.c: Likewise.
66392         * lib/unistdio/ulc-asnprintf.c: Likewise.
66393         * lib/unistdio/ulc-asprintf.c: Likewise.
66394         * lib/unistdio/ulc-printf-parse.c: Likewise.
66395         * lib/unistdio/ulc-snprintf.c: Likewise.
66396         * lib/unistdio/ulc-sprintf.c: Likewise.
66397         * lib/unistdio/ulc-vasnprintf.c: Likewise.
66398         * lib/unistdio/ulc-vasprintf.c: Likewise.
66399         * lib/unistdio/ulc-vsnprintf.c: Likewise.
66400         * lib/unistdio/ulc-vsprintf.c: Likewise.
66401         * lib/unistr.h: Likewise.
66402         * lib/unistr/u-cpy-alloc.h: Likewise.
66403         * lib/unistr/u-cpy.h: Likewise.
66404         * lib/unistr/u-endswith.h: Likewise.
66405         * lib/unistr/u-move.h: Likewise.
66406         * lib/unistr/u-set.h: Likewise.
66407         * lib/unistr/u-startswith.h: Likewise.
66408         * lib/unistr/u-stpcpy.h: Likewise.
66409         * lib/unistr/u-stpncpy.h: Likewise.
66410         * lib/unistr/u-strcat.h: Likewise.
66411         * lib/unistr/u-strcpy.h: Likewise.
66412         * lib/unistr/u-strcspn.h: Likewise.
66413         * lib/unistr/u-strdup.h: Likewise.
66414         * lib/unistr/u-strlen.h: Likewise.
66415         * lib/unistr/u-strncat.h: Likewise.
66416         * lib/unistr/u-strncpy.h: Likewise.
66417         * lib/unistr/u-strnlen.h: Likewise.
66418         * lib/unistr/u-strpbrk.h: Likewise.
66419         * lib/unistr/u-strspn.h: Likewise.
66420         * lib/unistr/u-strstr.h: Likewise.
66421         * lib/unistr/u-strtok.h: Likewise.
66422         * lib/unistr/u16-check.c: Likewise.
66423         * lib/unistr/u16-chr.c: Likewise.
66424         * lib/unistr/u16-cmp.c: Likewise.
66425         * lib/unistr/u16-cpy-alloc.c: Likewise.
66426         * lib/unistr/u16-cpy.c: Likewise.
66427         * lib/unistr/u16-endswith.c: Likewise.
66428         * lib/unistr/u16-mblen.c: Likewise.
66429         * lib/unistr/u16-mbsnlen.c: Likewise.
66430         * lib/unistr/u16-mbtouc-aux.c: Likewise.
66431         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
66432         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
66433         * lib/unistr/u16-mbtouc.c: Likewise.
66434         * lib/unistr/u16-mbtoucr.c: Likewise.
66435         * lib/unistr/u16-move.c: Likewise.
66436         * lib/unistr/u16-next.c: Likewise.
66437         * lib/unistr/u16-prev.c: Likewise.
66438         * lib/unistr/u16-set.c: Likewise.
66439         * lib/unistr/u16-startswith.c: Likewise.
66440         * lib/unistr/u16-stpcpy.c: Likewise.
66441         * lib/unistr/u16-stpncpy.c: Likewise.
66442         * lib/unistr/u16-strcat.c: Likewise.
66443         * lib/unistr/u16-strchr.c: Likewise.
66444         * lib/unistr/u16-strcmp.c: Likewise.
66445         * lib/unistr/u16-strcpy.c: Likewise.
66446         * lib/unistr/u16-strcspn.c: Likewise.
66447         * lib/unistr/u16-strdup.c: Likewise.
66448         * lib/unistr/u16-strlen.c: Likewise.
66449         * lib/unistr/u16-strmblen.c: Likewise.
66450         * lib/unistr/u16-strmbtouc.c: Likewise.
66451         * lib/unistr/u16-strncat.c: Likewise.
66452         * lib/unistr/u16-strncmp.c: Likewise.
66453         * lib/unistr/u16-strncpy.c: Likewise.
66454         * lib/unistr/u16-strnlen.c: Likewise.
66455         * lib/unistr/u16-strpbrk.c: Likewise.
66456         * lib/unistr/u16-strrchr.c: Likewise.
66457         * lib/unistr/u16-strspn.c: Likewise.
66458         * lib/unistr/u16-strstr.c: Likewise.
66459         * lib/unistr/u16-strtok.c: Likewise.
66460         * lib/unistr/u16-to-u32.c: Likewise.
66461         * lib/unistr/u16-to-u8.c: Likewise.
66462         * lib/unistr/u16-uctomb-aux.c: Likewise.
66463         * lib/unistr/u16-uctomb.c: Likewise.
66464         * lib/unistr/u32-check.c: Likewise.
66465         * lib/unistr/u32-chr.c: Likewise.
66466         * lib/unistr/u32-cmp.c: Likewise.
66467         * lib/unistr/u32-cpy-alloc.c: Likewise.
66468         * lib/unistr/u32-cpy.c: Likewise.
66469         * lib/unistr/u32-endswith.c: Likewise.
66470         * lib/unistr/u32-mblen.c: Likewise.
66471         * lib/unistr/u32-mbsnlen.c: Likewise.
66472         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
66473         * lib/unistr/u32-mbtouc.c: Likewise.
66474         * lib/unistr/u32-mbtoucr.c: Likewise.
66475         * lib/unistr/u32-move.c: Likewise.
66476         * lib/unistr/u32-next.c: Likewise.
66477         * lib/unistr/u32-prev.c: Likewise.
66478         * lib/unistr/u32-set.c: Likewise.
66479         * lib/unistr/u32-startswith.c: Likewise.
66480         * lib/unistr/u32-stpcpy.c: Likewise.
66481         * lib/unistr/u32-stpncpy.c: Likewise.
66482         * lib/unistr/u32-strcat.c: Likewise.
66483         * lib/unistr/u32-strchr.c: Likewise.
66484         * lib/unistr/u32-strcmp.c: Likewise.
66485         * lib/unistr/u32-strcpy.c: Likewise.
66486         * lib/unistr/u32-strcspn.c: Likewise.
66487         * lib/unistr/u32-strdup.c: Likewise.
66488         * lib/unistr/u32-strlen.c: Likewise.
66489         * lib/unistr/u32-strmblen.c: Likewise.
66490         * lib/unistr/u32-strmbtouc.c: Likewise.
66491         * lib/unistr/u32-strncat.c: Likewise.
66492         * lib/unistr/u32-strncmp.c: Likewise.
66493         * lib/unistr/u32-strncpy.c: Likewise.
66494         * lib/unistr/u32-strnlen.c: Likewise.
66495         * lib/unistr/u32-strpbrk.c: Likewise.
66496         * lib/unistr/u32-strrchr.c: Likewise.
66497         * lib/unistr/u32-strspn.c: Likewise.
66498         * lib/unistr/u32-strstr.c: Likewise.
66499         * lib/unistr/u32-strtok.c: Likewise.
66500         * lib/unistr/u32-to-u16.c: Likewise.
66501         * lib/unistr/u32-to-u8.c: Likewise.
66502         * lib/unistr/u32-uctomb.c: Likewise.
66503         * lib/unistr/u8-check.c: Likewise.
66504         * lib/unistr/u8-chr.c: Likewise.
66505         * lib/unistr/u8-cmp.c: Likewise.
66506         * lib/unistr/u8-cpy-alloc.c: Likewise.
66507         * lib/unistr/u8-cpy.c: Likewise.
66508         * lib/unistr/u8-endswith.c: Likewise.
66509         * lib/unistr/u8-mblen.c: Likewise.
66510         * lib/unistr/u8-mbsnlen.c: Likewise.
66511         * lib/unistr/u8-mbtouc-aux.c: Likewise.
66512         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
66513         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
66514         * lib/unistr/u8-mbtouc.c: Likewise.
66515         * lib/unistr/u8-mbtoucr.c: Likewise.
66516         * lib/unistr/u8-move.c: Likewise.
66517         * lib/unistr/u8-next.c: Likewise.
66518         * lib/unistr/u8-prev.c: Likewise.
66519         * lib/unistr/u8-set.c: Likewise.
66520         * lib/unistr/u8-startswith.c: Likewise.
66521         * lib/unistr/u8-stpcpy.c: Likewise.
66522         * lib/unistr/u8-stpncpy.c: Likewise.
66523         * lib/unistr/u8-strcat.c: Likewise.
66524         * lib/unistr/u8-strchr.c: Likewise.
66525         * lib/unistr/u8-strcmp.c: Likewise.
66526         * lib/unistr/u8-strcpy.c: Likewise.
66527         * lib/unistr/u8-strcspn.c: Likewise.
66528         * lib/unistr/u8-strdup.c: Likewise.
66529         * lib/unistr/u8-strlen.c: Likewise.
66530         * lib/unistr/u8-strmblen.c: Likewise.
66531         * lib/unistr/u8-strmbtouc.c: Likewise.
66532         * lib/unistr/u8-strncat.c: Likewise.
66533         * lib/unistr/u8-strncmp.c: Likewise.
66534         * lib/unistr/u8-strncpy.c: Likewise.
66535         * lib/unistr/u8-strnlen.c: Likewise.
66536         * lib/unistr/u8-strpbrk.c: Likewise.
66537         * lib/unistr/u8-strrchr.c: Likewise.
66538         * lib/unistr/u8-strspn.c: Likewise.
66539         * lib/unistr/u8-strstr.c: Likewise.
66540         * lib/unistr/u8-strtok.c: Likewise.
66541         * lib/unistr/u8-to-u16.c: Likewise.
66542         * lib/unistr/u8-to-u32.c: Likewise.
66543         * lib/unistr/u8-uctomb-aux.c: Likewise.
66544         * lib/unistr/u8-uctomb.c: Likewise.
66545         * lib/unitypes.h: Likewise.
66546         * lib/uniwidth.h: Likewise.
66547         * lib/uniwidth/cjk.h: Likewise.
66548         * lib/uniwidth/u16-strwidth.c: Likewise.
66549         * lib/uniwidth/u16-width.c: Likewise.
66550         * lib/uniwidth/u32-strwidth.c: Likewise.
66551         * lib/uniwidth/u32-width.c: Likewise.
66552         * lib/uniwidth/u8-strwidth.c: Likewise.
66553         * lib/uniwidth/u8-width.c: Likewise.
66554         * lib/uniwidth/width.c: Likewise.
66555
66556 2007-10-07  Bruno Haible  <bruno@clisp.org>
66557
66558         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
66559         The file is still under LGPL (see modules/inttypes).
66560
66561 2007-10-06  Bruno Haible  <bruno@clisp.org>
66562
66563         * modules/trunc (Dependencies): Add 'extensions'.
66564         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
66565         Reported by Ben Pfaff <blp@gnu.org>.
66566
66567 2007-10-06  Bruno Haible  <bruno@clisp.org>
66568
66569         * modules/freopen-tests: New file.
66570         * tests/test-freopen.c: New file.
66571
66572         * modules/fopen-tests: New file.
66573         * tests/test-fopen.c: New file.
66574
66575         * modules/fopen: New file.
66576         * lib/fopen.c: New file.
66577         * m4/fopen.m4: New file.
66578         * modules/freopen: New file.
66579         * lib/freopen.c: New file.
66580         * m4/freopen.m4: New file.
66581         * lib/stdio.in.h (fopen, freopen): New declarations.
66582         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
66583         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66584         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
66585         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66586         * doc/functions/fopen.texi: Mention the 'fopen' module.
66587         * doc/functions/freopen.texi: Mention the 'freopen' module.
66588
66589 2007-10-06  Bruno Haible  <bruno@clisp.org>
66590
66591         * modules/open-tests: New file.
66592         * tests/test-open.c: New file.
66593
66594         * modules/open: New file.
66595         * lib/open.c: New file.
66596         * m4/open.m4: New file.
66597         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
66598         lib/open.c does.
66599         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
66600         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
66601         macros.
66602         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
66603         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
66604         REPLACE_OPEN.
66605         * doc/functions/open.texi: Mention the 'open' module.
66606
66607 2007-10-04  Bruno Haible  <bruno@clisp.org>
66608
66609         * modules/ceill-tests: New file.
66610         * tests/test-ceill.c: New file.
66611
66612         * modules/ceill: New file.
66613         * lib/ceill.c: Replace entire file.
66614         * m4/ceill.m4: New file.
66615         * lib/math.in.h (ceill): Replace declaration.
66616         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
66617         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
66618         * doc/functions/ceill.texi: Mention the 'ceill' module.
66619         * modules/mathl (Files): Remove lib/ceill.c.
66620         (Depends-on): Add ceill.
66621
66622 2007-10-04  Bruno Haible  <bruno@clisp.org>
66623
66624         * modules/ceilf-tests: New file.
66625         * tests/test-ceilf.c: New file.
66626
66627         * modules/ceilf: New file.
66628         * lib/ceil.c: New file.
66629         * lib/ceilf.c: New file.
66630         * m4/ceilf.m4: New file.
66631         * lib/math.in.h (ceilf): New declaration.
66632         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
66633         HAVE_DECL_CEILF.
66634         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
66635         HAVE_DECL_CEILF.
66636         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
66637
66638 2007-10-04  Bruno Haible  <bruno@clisp.org>
66639
66640         * modules/floorl-tests: New file.
66641         * tests/test-floorl.c: New file.
66642
66643         * modules/floorl: New file.
66644         * lib/floorl.c: Replace entire file.
66645         * m4/floorl.m4: New file.
66646         * lib/math.in.h (floorl): Replace declaration.
66647         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
66648         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
66649         * doc/functions/floorl.texi: Mention the 'floorl' module.
66650         * modules/mathl (Files): Remove lib/floorl.c.
66651         (Depends-on): Add floorl.
66652
66653 2007-10-04  Bruno Haible  <bruno@clisp.org>
66654
66655         * modules/floorf-tests: New file.
66656         * tests/test-floorf.c: New file.
66657
66658         * modules/floorf: New file.
66659         * lib/floor.c: New file.
66660         * lib/floorf.c: New file.
66661         * m4/floorf.m4: New file.
66662         * lib/math.in.h (floorf): New declaration.
66663         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
66664         HAVE_DECL_FLOORF.
66665         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
66666         HAVE_DECL_FLOORF.
66667         * doc/functions/floorf.texi: Mention the 'floorf' module.
66668
66669 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
66670             Bruno Haible  <bruno@clisp.org>
66671
66672         Advertise for the Git server instead of the CVS server.
66673         * doc/gnulib-intro.texi (Steady Development): Mention the Git
66674         repository instead of the CVS one.
66675         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
66676         about all VCS systems generically.
66677         * doc/gnulib.texi (Introduction): Capitalize `Git'.
66678
66679 2007-10-04  Bruno Haible  <bruno@clisp.org>
66680
66681         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
66682         means.
66683         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
66684
66685 2007-10-04  Bruno Haible  <bruno@clisp.org>
66686
66687         * modules/truncl-tests: New file.
66688         * tests/test-truncl.c: New file.
66689
66690         * modules/truncl: New file.
66691         * lib/truncl.c: New file.
66692         * m4/truncl.m4: New file.
66693         * lib/math.in.h (truncl): New declaration.
66694         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
66695         HAVE_DECL_TRUNCL.
66696         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
66697         HAVE_DECL_TRUNCL.
66698         * doc/functions/truncl.texi: Mention the 'truncl' module.
66699
66700 2007-10-04  Bruno Haible  <bruno@clisp.org>
66701
66702         * modules/truncf-tests: New file.
66703         * tests/test-truncf.c: New file.
66704
66705         * modules/truncf: New file.
66706         * lib/trunc.c: Make paramerizable through USE_* macros.
66707         * lib/truncf.c: New file.
66708         * m4/truncf.m4: New file.
66709         * lib/math.in.h (truncf): New declaration.
66710         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
66711         HAVE_DECL_TRUNCF.
66712         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
66713         HAVE_DECL_TRUNCF.
66714         * doc/functions/truncf.texi: Mention the 'truncf' module.
66715
66716 2007-10-03  Bruno Haible  <bruno@clisp.org>
66717
66718         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
66719         augmentation also for tests modules.
66720         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
66721         * modules/atexit-tests (Makefile.am): Likewise.
66722         * modules/binary-io-tests (Makefile.am): Likewise.
66723         * modules/c-strcase-tests (Makefile.am): Likewise.
66724         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
66725         * modules/canonicalize-tests (Makefile.am): Likewise.
66726         * modules/closein-tests (Makefile.am): Likewise.
66727         * modules/fprintf-posix-tests (Makefile.am): Likewise.
66728         * modules/freadahead-tests (Makefile.am): Likewise.
66729         * modules/fseek-tests (Makefile.am): Likewise.
66730         * modules/fseeko-tests (Makefile.am): Likewise.
66731         * modules/ftell-tests (Makefile.am): Likewise.
66732         * modules/ftello-tests (Makefile.am): Likewise.
66733         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
66734         * modules/isnanl-tests (Makefile.am): Likewise.
66735         * modules/lseek-tests (Makefile.am): Likewise.
66736         * modules/mbscasecmp-tests (Makefile.am): Likewise.
66737         * modules/mbscasestr-tests (Makefile.am): Likewise.
66738         * modules/mbschr-tests (Makefile.am): Likewise.
66739         * modules/mbscspn-tests (Makefile.am): Likewise.
66740         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
66741         * modules/mbspbrk-tests (Makefile.am): Likewise.
66742         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
66743         * modules/mbsrchr-tests (Makefile.am): Likewise.
66744         * modules/mbsspn-tests (Makefile.am): Likewise.
66745         * modules/mbsstr-tests (Makefile.am): Likewise.
66746         * modules/printf-posix-tests (Makefile.am): Likewise.
66747         * modules/snprintf-posix-tests (Makefile.am): Likewise.
66748         * modules/sprintf-posix-tests (Makefile.am): Likewise.
66749         * modules/tsearch-tests (Makefile.am): Likewise.
66750         * modules/uniname/uniname-tests (Makefile.am): Likewise.
66751         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
66752         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
66753         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
66754         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
66755         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
66756         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
66757         * modules/vprintf-posix-tests (Makefile.am): Likewise.
66758         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
66759         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
66760         * modules/xstrtoimax-tests (Makefile.am): Likewise.
66761         * modules/xstrtol-tests (Makefile.am): Likewise.
66762         * modules/xstrtoumax-tests (Makefile.am): Likewise.
66763         * modules/yesno-tests (Makefile.am): Likewise.
66764
66765 2007-10-03  Bruno Haible  <bruno@clisp.org>
66766
66767         * modules/trunc-tests: New file.
66768         * tests/test-trunc.c: New file.
66769
66770         * modules/trunc: New file.
66771         * lib/trunc.c: New file.
66772         * m4/trunc.m4: New file.
66773         * lib/math.in.h (trunc): New declaration.
66774         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
66775         HAVE_DECL_TRUNC.
66776         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
66777         HAVE_DECL_TRUNC.
66778         * doc/functions/trunc.texi: Mention the 'trunc' module.
66779
66780 2007-10-03  Bruno Haible  <bruno@clisp.org>
66781
66782         * tests/test-fpending.c: New file, mostly copied
66783         from coreutils/lib/t-fpending.c.
66784         * modules/fpending-tests: New file.
66785
66786 2007-10-03  Bruno Haible  <bruno@clisp.org>
66787
66788         Port the stdio extensions to QNX (untested).
66789         * lib/fseterr.c (fseterr): Add support for QNX.
66790         * lib/fbufmode.c (fbufmode): Likewise.
66791         * lib/freadable.c (freadable): Likewise.
66792         * lib/fwritable.c (fwritable): Likewise.
66793         * lib/freading.c (freading): Likewise.
66794         * lib/fwriting.c (fwriting): Likewise.
66795         * lib/freadahead.c (freadahed): Likewise.
66796         * lib/fpurge.c (fpurge): Likewise.
66797         * lib/fseeko.c (rpl_fseeko): Likewise.
66798
66799 2007-10-03  Bruno Haible  <bruno@clisp.org>
66800             Jim Meyering  <jim@meyering.net>
66801             Eric Blake  <ebb9@byu.net>
66802
66803         * doc/relocatable.texi: Use @command instead of @program.
66804
66805 2007-10-02  Jim Meyering  <jim@meyering.net>
66806
66807         Perform one more "_.h" -> ".in.h" substitution.
66808         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
66809         instead of unistd_.h here, too.
66810
66811 2007-10-01  Bruno Haible  <bruno@clisp.org>
66812
66813         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
66814         Needed for the alloca-opt module.
66815
66816 2007-09-30  Bruno Haible  <bruno@clisp.org>
66817
66818         * lib/alloca.in.h: Renamed from lib/alloca_.h.
66819         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
66820         alloca_.h.
66821         * lib/argz.in.h: Renamed from lib/argz_.h.
66822         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
66823         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
66824         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
66825         byteswap_.h.
66826         * lib/dirent.in.h: Renamed from lib/dirent_.h.
66827         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
66828         dirent_.h.
66829         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
66830         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
66831         fcntl_.h.
66832         * lib/float.in.h: Renamed from lib/float_.h.
66833         * modules/float (Files, Makefile.am): Use float.in.h instead of
66834         float_.h.
66835         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
66836         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
66837         fnmatch_.h.
66838         * lib/getopt.in.h: Renamed from lib/getopt_.h.
66839         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
66840         getopt_.h.
66841         * lib/glob.in.h: Renamed from lib/glob_.h.
66842         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
66843         * lib/iconv.in.h: Renamed from lib/iconv_.h.
66844         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
66845         iconv_.h.
66846         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
66847         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
66848         inttypes_.h.
66849         * lib/locale.in.h: Renamed from lib/locale_.h.
66850         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
66851         locale_.h.
66852         * lib/math.in.h: Renamed from lib/math_.h.
66853         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
66854         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
66855         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
66856         of netinet_in_.h. Add dependency.
66857         * lib/poll.in.h: Renamed from lib/poll_.h.
66858         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
66859         * lib/search.in.h: Renamed from lib/search_.h.
66860         * modules/search (Files, Makefile.am): Use search.in.h instead of
66861         search_.h.
66862         * lib/signal.in.h: Renamed from lib/signal_.h.
66863         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
66864         _signal.h.
66865         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
66866         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
66867         stdbool_.h.
66868         * lib/stdint.in.h: Renamed from lib/stdint_.h.
66869         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
66870         stdint_.h.
66871         * lib/stdio.in.h: Renamed from lib/stdio_.h.
66872         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
66873         stdio_.h.
66874         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
66875         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
66876         stdlib_.h.
66877         * lib/string.in.h: Renamed from lib/string_.h.
66878         * modules/string (Files, Makefile.am): Use string.in.h instead of
66879         string_.h.
66880         * doc/gnulib-tool.texi (Initial import): Update.
66881         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
66882         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
66883         of sys_select_.h. Add dependency.
66884         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
66885         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
66886         of sys_socket_.h.
66887         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
66888         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
66889         sys_stat_.h.
66890         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
66891         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
66892         sys_time_.h.
66893         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
66894         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
66895         sysexits_.h.
66896         * lib/time.in.h: Renamed from lib/time_.h.
66897         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
66898         * lib/unistd.in.h: Renamed from lib/unistd_.h.
66899         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
66900         unistd_.h.
66901         * lib/wchar.in.h: Renamed from lib/wchar_.h.
66902         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
66903         wchar_.h.
66904         * lib/wctype.in.h: Renamed from lib/wctype_.h.
66905         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
66906         wctype_.h.
66907         * build-aux/bootstrap (slurp): Update.
66908         * lib/.cppi-disable: Update.
66909
66910 2007-09-30  Bruno Haible  <bruno@clisp.org>
66911
66912         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
66913         Needed on BeOS.
66914
66915 2007-09-30  Bruno Haible  <bruno@clisp.org>
66916
66917         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
66918
66919 2007-09-29  Bruno Haible  <bruno@clisp.org>
66920
66921         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
66922
66923 2007-09-29  Bruno Haible  <bruno@clisp.org>
66924
66925         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
66926         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
66927         * build-aux/install-reloc: Compile also areadlink.c.
66928         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
66929
66930 2007-09-29  Bruno Haible  <bruno@clisp.org>
66931
66932         * gnulib-tool (func_emit_initmacro_done): Indentation.
66933
66934 2007-09-29  Bruno Haible  <bruno@clisp.org>
66935
66936         * README: Add CVS checkout update instructions.
66937         Info from Bob Proulx <bob@proulx.com>.
66938
66939 2007-09-28  Eric Blake  <ebb9@byu.net>
66940
66941         Provide move-if-change.
66942         * build-aux/move-if-change: New file, based on best practice
66943         rather than any canonical upstream location.
66944
66945 2007-09-28  Jim Meyering  <jim@meyering.net>
66946
66947         Fix canonicalize loop-detection corner case.
66948         Do not attempt to stat the symlink values stored via seen_triple.
66949         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
66950         on linux-2.6.18, (but not 2.6.22).
66951         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
66952         triple_compare.  The former compares dev,ino,filename, while the latter
66953         would actually stat dirname(filename) when dev and ino were equal.
66954         * lib/hash-triple.c: Install <string.h>.
66955         (STREQ): Define.
66956         (triple_compare_ino_str): New function.
66957         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
66958
66959 2007-09-28  Eric Blake  <ebb9@byu.net>
66960
66961         Enforce that AC_REPLACE_FUNCS files exist.
66962         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
66963         override check for typos.
66964
66965         Fix test-closein on Solaris 10.
66966         * tests/test-closein.c (main): Don't assume stdin can be inherited
66967         closed on all systems.
66968         * tests/test-closein.sh: Likewise.
66969         Reported by Piotr Tarnowski.
66970
66971 2007-09-28  Jim Meyering  <jim@meyering.net>
66972
66973         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
66974
66975 2007-09-27  Jim Meyering  <jim@meyering.net>
66976
66977         canonicalize: Avoid a false-positive cycle failure.
66978         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
66979         Sort.  Remove cycle-check.
66980         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
66981         not cycle-check.h.
66982         (seen_triple): New function.
66983         (canonicalize_filename_mode): Use it instead of cycle-check.
66984         * tests/test-canonicalize.c: Add a test for this bug.
66985         * tests/test-canonicalize.sh: Set up and run the test.
66986
66987         New module, file-set, from coreutils.
66988         * modules/file-set: Define it.
66989         * lib/file-set.c, lib/file-set.h: Implement.
66990
66991         New module, hash-triple, from coreutils.
66992         * modules/hash-triple: Define it.
66993         * lib/hash-triple.c, lib/hash-triple.h: Implement.
66994
66995 2007-09-25  Eric Blake  <ebb9@byu.net>
66996
66997         Fix strerror on Interix.
66998         * lib/string_.h (strerror): Declare replacement.
66999         * doc/functions/strerror.texi (strerror): Document the Interix
67000         shortcoming.
67001         * modules/string (Makefile.am): Support new hooks.
67002         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
67003         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
67004         gl_FUNC_STRERROR_SEPARATE.
67005         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
67006         * lib/strerror.c (rpl_strerror): Provide replacement.
67007         * modules/strerror (Depends-on): Add string.
67008         (configure.ac): Detect use of module.
67009         * tests/test-strerror.c: New file.
67010         * modules/strerror-tests: New test module.
67011         * modules/argp (Depends-on): Add strerror.
67012         * modules/error (Depends-on): Likewise.
67013         Reported by Martin Koeppe.
67014
67015 2007-09-24  Bruno Haible  <bruno@clisp.org>
67016
67017         * README: Update git instructions.
67018
67019 2007-09-24  Eric Blake  <ebb9@byu.net>
67020
67021         Revert fpending breakage from 2007-09-08.
67022         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
67023         __fpending.c.
67024
67025 2007-09-24  Jim Meyering  <jim@meyering.net>
67026
67027         filenamecat.c: Add a test.
67028         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
67029         showing how the function works when DIR is the empty string.
67030
67031 2007-09-21  Simon Josefsson  <simon@josefsson.org>
67032
67033         * tests/test-canonicalize.sh: Turn on executable bit.
67034
67035 2007-09-19  Eric Blake  <ebb9@byu.net>
67036
67037         * README: Update CVS instructions.
67038
67039 2007-09-18  Bruno Haible  <bruno@clisp.org>
67040
67041         * modules/areadlink: New file.
67042         * lib/areadlink.h (areadlink): New declaration.
67043         * lib/areadlink.c: New file, based on lib/xreadlink.c.
67044
67045 2007-09-17  Jim Meyering  <jim@meyering.net>
67046
67047         * lib/savewd.c (ESTALE) [!defined]: Define.
67048         Reported to be required on Interix by Martin Koeppe.
67049
67050 2007-09-17  Bruno Haible  <bruno@clisp.org>
67051
67052         * gnulib-tool (func_version): Use $version.
67053
67054 2007-09-16  Bruno Haible  <bruno@clisp.org>
67055
67056         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
67057         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
67058         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
67059         Reported by Greg Schafer <gschafer@zip.com.au>.
67060
67061 2007-09-15  Bruno Haible  <bruno@clisp.org>
67062
67063         * gnulib-tool (sed): Try a little harder to make bash understand the
67064         alias.
67065         Reported by Bruce Korb <bruce.korb@gmail.com>.
67066
67067 2007-09-13  Eric Blake  <ebb9@byu.net>
67068
67069         * ChangeLog: Remove conflict markers.
67070
67071 2007-09-13  Simon Josefsson  <simon@josefsson.org>
67072
67073         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
67074         Reported by Bruno Haible <bruno@clisp.org>.
67075
67076 2007-09-12  Bruno Haible  <bruno@clisp.org>
67077
67078         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
67079         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
67080         is not defined.
67081
67082 2007-09-12  Eric Blake  <ebb9@byu.net>
67083
67084         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
67085         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
67086         Autoconf definition.
67087         * modules/euidaccess (Depends-on): Add extensions, for
67088         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
67089         * modules/fnmatch (Depends-on): Likewise.
67090         * modules/getaddrinfo (Depends-on): Likewise.
67091         * modules/getdelim (Depends-on): Likewise.
67092         * modules/getline (Depends-on): Likewise.
67093         * modules/getsubopt (Depends-on): Likewise.
67094         * modules/gettext (Depends-on): Likewise.
67095         * modules/group-member (Depends-on): Likewise.
67096         * modules/mbchar (Depends-on): Likewise.
67097         * modules/memmem (Depends-on): Likewise.
67098         * modules/mempcpy (Depends-on): Likewise.
67099         * modules/memrchr (Depends-on): Likewise.
67100         * modules/pagealign_alloc (Depends-on): Likewise.
67101         * modules/readutmp (Depends-on): Likewise.
67102         * modules/stpcpy (Depends-on): Likewise.
67103         * modules/stpncpy (Depends-on): Likewise.
67104         * modules/strchrnul (Depends-on): Likewise.
67105         * modules/strndup (Depends-on): Likewise.
67106         * modules/strsep (Depends-on): Likewise.
67107         * modules/strverscmp (Depends-on): Likewise.
67108         * modules/vasprintf (Depends-on): Likewise.
67109         * modules/wcwidth (Depends-on): Likewise.
67110         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
67111         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
67112         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
67113         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
67114         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
67115         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67116         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
67117         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
67118         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
67119         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
67120         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
67121         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
67122         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
67123         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
67124         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
67125         * m4/readutmp.m4 (gl_READUTMP): Likewise.
67126         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
67127         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
67128         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
67129         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
67130         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
67131         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
67132         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
67133         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
67134         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
67135         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67136         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
67137         so that lock.m4 can be used in gettext without extensions module.
67138
67139 2007-09-11  Bruno Haible  <bruno@clisp.org>
67140
67141         * m4/isc-posix.m4: Remove file.
67142         Suggested by Eric Blake.
67143
67144 2007-09-11  Eric Blake  <ebb9@byu.net>
67145
67146         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
67147
67148 2007-09-10  Bruno Haible  <bruno@clisp.org>
67149
67150         * posix-modules: Fix typo in error message.
67151         Reported by Matt <mkraai@beckman.com>.
67152
67153 2007-09-09  Bruno Haible  <bruno@clisp.org>
67154
67155         * doc/functions/getdelim.texi: Update list of platforms lacking the
67156         function.
67157         * doc/functions/getline.texi: Likewise.
67158
67159 2007-09-09  Jim Meyering  <jim@meyering.net>
67160
67161         * lib/hash.c (hash_initialize): Detect calloc failure.
67162         Reported by Bruno Haible.
67163
67164 2007-09-09  Bruno Haible  <bruno@clisp.org>
67165
67166         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
67167         malloc or realloc fails.
67168
67169 2007-09-09  Bruno Haible  <bruno@clisp.org>
67170
67171         * modules/getcwd (Depends-on): Add malloc-posix.
67172         * modules/glob (Depends-on): Likewise.
67173         * modules/putenv (Depends-on): Likewise.
67174         * modules/strdup (Depends-on): Likewise.
67175         * modules/getdelim (Depends-on): Add realloc-posix.
67176         * modules/read-file (Depends-on): Likewise.
67177
67178 2007-09-09  Bruno Haible  <bruno@clisp.org>
67179
67180         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
67181         (gl_FUNC_MALLOC_POSIX): Require it.
67182         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
67183         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
67184         * modules/realloc (Files): Add m4/malloc.m4.
67185         * modules/calloc (Files): Likewise.
67186
67187 2007-09-09  Bruno Haible  <bruno@clisp.org>
67188
67189         * modules/malloc-posix: New file.
67190         * modules/malloc (Depends-on): Add malloc-posix.
67191         * lib/malloc.c: Include errno.h.
67192         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
67193         and a POSIX-compatible malloc into a single function. Set ENOMEM
67194         when returning NULL.
67195         * m4/malloc.m4: New file.
67196         * doc/functions/malloc.texi: Mention the malloc-posix module.
67197         * lib/stdlib_.h (malloc): New declaration.
67198         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67199         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
67200         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
67201         and HAVE_MALLOC_POSIX.
67202
67203 2007-09-09  Bruno Haible  <bruno@clisp.org>
67204
67205         * modules/realloc-posix: New file.
67206         * modules/realloc (Depends-on): Add realloc-posix.
67207         * lib/realloc.c: Include errno.h.
67208         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
67209         and a POSIX-compatible realloc into a single function. Set ENOMEM
67210         when returning NULL.
67211         * m4/realloc.m4: New file.
67212         * doc/functions/realloc.texi: Mention the realloc-posix module.
67213         * lib/stdlib_.h (realloc): New declaration.
67214         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67215         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
67216         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
67217         and HAVE_REALLOC_POSIX.
67218
67219 2007-09-09  Bruno Haible  <bruno@clisp.org>
67220
67221         * modules/calloc-posix: New file.
67222         * modules/calloc (Depends-on): Add calloc-posix.
67223         * lib/calloc.c: Include errno.h.
67224         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
67225         and a POSIX-compatible calloc into a single function. Set ENOMEM
67226         when returning NULL.
67227         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
67228         * doc/functions/calloc.texi: Mention the calloc-posix module.
67229         * lib/stdlib_.h (calloc): New declaration.
67230         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67231         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
67232         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
67233         and HAVE_CALLOC_POSIX.
67234
67235 2007-09-09  Bruno Haible  <bruno@clisp.org>
67236
67237         Allow for modules to show an arbitrary notice.
67238         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
67239         * gnulib-tool: New option --extract-notice.
67240         (func_usage): Document it.
67241         (sed_extract_prog): Update.
67242         (func_get_notice): New function.
67243         (func_modules_notice): New function.
67244         (func_import, func_create_testdir): Invoke it.
67245         Suggested by Jim Meyering.
67246
67247 2007-09-09  Bruno Haible  <bruno@clisp.org>
67248
67249         * gnulib-tool: New options --verbose, --quiet.
67250         (func_usage): Document them.
67251         (verbose): New variable.
67252         (func_execute_command): New function.
67253         (func_import): Don't show the module list and the file list if
67254         $verbose < 0.
67255         (func_create_testdir): Likewise. Use func_execute_command.
67256         (func_create_megatestdir): Use func_execute_command.
67257
67258 2007-09-08  Bruno Haible  <bruno@clisp.org>
67259
67260         * gnulib-tool (func_import): Prefer rsync over wget when available,
67261         for fetching the PO files.
67262
67263 2007-09-08  Bruno Haible  <bruno@clisp.org>
67264
67265         * posix-modules: New file. Portions copied from gnulib-tool.
67266         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
67267
67268 2007-09-08  Jim Meyering  <jim@meyering.net>
67269
67270         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
67271         * lib/fpending.h: Rename from __fpending.h.
67272         * lib/fpending.c: Rename from __fpending.c.
67273         Include "fpending.h", not "__fpending.h".
67274         * lib/__fpending.h, lib/__fpending.c: Remove files.
67275         * modules/fpending (Files): Reflect new file names.
67276         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
67277
67278 2007-09-08  Bruno Haible  <bruno@clisp.org>
67279
67280         * m4/inttypes-h.m4: Remove stub file.
67281
67282 2007-09-07  Simon Josefsson  <simon@josefsson.org>
67283
67284         * doc/headers/stdint.texi: Discuss #include_next issue.
67285
67286 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
67287
67288         * build-aux/bootstrap: Remove obsolete comment about wget --help.
67289
67290 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67291
67292         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
67293         in variable name.
67294
67295 2007-09-03  Jim Meyering  <jim@meyering.net>
67296
67297         New module: git-version-gen.
67298         * modules/git-version-gen: New file.
67299
67300         Import changes from coreutils for bootstrap script.
67301
67302         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
67303
67304         bootstrap: uses rsync to download the .po files
67305         * build-aux/bootstrap (po_download_command_format): New global.
67306         (download_po_files): Use rsync.
67307         (update_po_files): Don't remove .po files after download,
67308         so future rsync runs can take advantage of the copies.
67309
67310         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
67311
67312         Solve the unnecessary-.po-file-regeneration problem once and for all.
67313         * build-aux/bootstrap (download_po_files): New function, renamed from
67314         get_translations.  Now, downloads, but doesn't update LINGUAS.
67315         (update_po_files): New function.
67316
67317         bootstrap: Ignore more.
67318         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
67319         uniwidth to e.g., lib/.gitignore.
67320         (slurp): Handle the sys_stat_.h -> sys mapping, too.
67321
67322         * build-aux/bootstrap: New setting: vc_ignore.
67323         (insert_sorted_if_absent): Create $file if absent.
67324         Adapt to new, possibly empty, list: $vc_ignore.
67325
67326         bootstrap: generate more ignorable names
67327         * build-aux/bootstrap (slurp): When generating ignorable names,
67328         also map .sin to .sed, .gperf to .c, and .y to .c.
67329
67330 2007-09-03  Jim Meyering  <jim@meyering.net>
67331
67332         * build-aux/git-version-gen: New file, from coreutils.  For details, see
67333         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
67334
67335 2007-09-02  Bruno Haible  <bruno@clisp.org>
67336
67337         Fix mis-recognition of 'mcs' on QNX 6.
67338         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
67339         output contains the string "Mono".
67340         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
67341         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
67342
67343 2007-09-01  Bruno Haible  <bruno@clisp.org>
67344
67345         Fix collision between uniwidth/* and linebreak modules.
67346         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
67347         u32_width): Remove declarations.
67348         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
67349         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
67350         streq3, streq2, streq1, streq0): Remove functions.
67351         (STREQ): Remove macro.
67352         (is_cjk_encoding): Remove function.
67353         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
67354         (uc_width, u8_width, u16_width, u32_width): Remove functions.
67355         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
67356         * NEWS: Document the change.
67357
67358 2007-09-01  Bruno Haible  <bruno@clisp.org>
67359
67360         * lib/streq.h: Add double-inclusion guard.
67361
67362 2007-09-01  Karl Berry  <karl@gnu.org>
67363
67364         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
67365
67366 2007-08-28  Jim Meyering  <jim@meyering.net>
67367
67368         Rename mreadlink_with_size to areadlink_with_size.
67369         * NEWS: Document the change.
67370         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
67371         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
67372         * lib/mreadlink.h: Rename this to...
67373         * lib/areadlink.h: ...this.
67374         * modules/mreadlink-with-size: Rename this to...
67375         * modules/areadlink-with-size: ...this.
67376         * lib/canonicalize.c: Reflect the renaming.
67377         * modules/canonicalize: Likewise.
67378
67379 2007-08-26  Bruno Haible  <bruno@clisp.org>
67380
67381         * gnulib-tool (func_import): When deciding which files to remove,
67382         consider also dangling symbolic links.
67383         Reported by Eric Blake.
67384
67385 2007-08-26  Bruno Haible  <bruno@clisp.org>
67386
67387         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
67388
67389 2007-08-23  Simon Josefsson  <simon@josefsson.org>
67390
67391         * lib/readline.c: Don't include getline.h, the prototype is now
67392         found in stdio.h.
67393
67394 2007-08-23  Jim Meyering  <jim@meyering.net>
67395
67396         Getdelim touchup.
67397         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
67398         around the funlockfile call, since funlockfile never sets errno.
67399         Don't set errno upon failed realloc.
67400
67401 2007-08-22  Eric Blake  <ebb9@byu.net>
67402
67403         Getline touchups.
67404         * lib/getdelim.c (getdelim): Revert regression that required *n to
67405         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
67406         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
67407         getdelim, rather than whether implementation is missing.
67408         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
67409         * lib/stdio_.h (getline): Also declare if replacement is
67410         required.
67411         * doc/functions/getdelim.texi: New file.
67412         * doc/functions/getline.texi: Likewise.
67413         * doc/gnulib.texi (Function Substitutes): Add new files.
67414         Reported by Bruno Haible.
67415
67416 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
67417
67418         * users.txt: Add Guile.
67419
67420 2007-08-22  Eric Blake  <ebb9@byu.net>
67421
67422         * tests/test-getdelim.c (main): Use remove, not unlink.
67423         * tests/test-getline.c (main): Likewise.
67424
67425         Move getline and getdelim into stdio.h, per POSIX 200x.
67426         * modules/getline (Files): Remove getline.h.
67427         (Depends-on): Add stdio.
67428         (configure.ac): Add module indicator.
67429         * modules/getdelim (Files): Remove getdelim.h.
67430         (Depends-on): Add stdio.
67431         (configure.ac): Add module indicator.
67432         * modules/stdio (Makefile.am): Work with new indicators.
67433         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
67434         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
67435         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67436         * lib/getdelim.h: Delete.
67437         * lib/getline.h: Delete.
67438         * lib/stdio_.h (getdelim, getline): Declare.
67439         * modules/getdelim-tests: New module.
67440         * modules/getline-tests: Likewise.
67441         * tests/test-getdelim.c: New file.
67442         * tests/test-getline.c: Likewise.
67443         * NEWS: Document the change.
67444         * lib/getline.c: Update choice of header.
67445         * lib/csharpcomp.c: Likewise.
67446         * lib/getpass.c: Likewise.
67447         * lib/javacomp.c: Likewise.
67448         * lib/javaversion.c: Likewise.
67449         * lib/yesno.c: Likewise.
67450         * lib/getdelim.c: Likewise.
67451         (getdelim): Set errno on failure, and avoid memory leak.
67452
67453 2007-08-19  Bruno Haible  <bruno@clisp.org>
67454
67455         * modules/closein (Depends-on): Add freadahead.
67456         * lib/closein.c: Include freadahead.h.
67457         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
67458         is zero.
67459
67460 2007-08-19  Bruno Haible  <bruno@clisp.org>
67461
67462         * modules/freadahead-tests: New file.
67463         * tests/test-freadahead.sh: New file.
67464         * tests/test-freadahead.c: New file.
67465
67466         * modules/freadahead: New file.
67467         * lib/freadahead.h: New file.
67468         * lib/freadahead.c: New file.
67469         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
67470         fbufmode, fpurge, freadable, fwritable.
67471
67472 2007-08-19  Eric Blake  <ebb9@byu.net>
67473
67474         Test yesno in combination with closein.
67475         * lib/yesno.c (yesno): Document use of stdin.
67476         * modules/yesno-tests (Files): New module.
67477         * tests/test-yesno.c (main): New file.
67478         * tests/test-yesno.sh: Likewise.
67479
67480 2007-08-19  Bruno Haible  <bruno@clisp.org>
67481
67482         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
67483         * lib/fseeko.c (rpl_fseeko): Likewise.
67484         * lib/fseterr.c (fseterr): Likewise.
67485
67486 2007-08-19  Bruno Haible  <bruno@clisp.org>
67487
67488         * tests/test-lseek.c (main): Disable a test for BeOS.
67489         * doc/functions/lseek.texi: Document the BeOS bug.
67490
67491 2007-08-19  Bruno Haible  <bruno@clisp.org>
67492             Eric Blake  <ebb9@byu.net>
67493
67494         * lib/lseek.c: Include <sys/stat.h>.
67495         (rpl_lseek): Add workaround code also for Unix platforms.
67496         Needed for BeOS.
67497         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
67498         * doc/functions/lseek.texi: Document BeOS definiency.
67499
67500 2007-08-18  Bruno Haible  <bruno@clisp.org>
67501
67502         * modules/fstrcmp-tests: New file.
67503         * tests/test-fstrcmp.c: New file.
67504
67505 2007-08-18  Bruno Haible  <bruno@clisp.org>
67506
67507         * modules/fstrcmp: New file, from GNU gettext with modifications.
67508         * lib/fstrcmp.h: New file, from GNU gettext.
67509         * lib/fstrcmp.c: New file, from GNU gettext.
67510         * MODULES.html.sh (String handling): Add fstrcmp.
67511
67512 2007-08-18  Bruno Haible  <bruno@clisp.org>
67513
67514         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
67515         'bool'.
67516         (diag, compareseq): Remove const from the ctxt argument.
67517         (USE_HEURISTIC): Undefine at the end.
67518
67519 2007-08-18  Jim Meyering  <jim@meyering.net>
67520
67521         New file: lib/idcache.h
67522         * NEWS: Mention the addition.
67523         * modules/idcache (Files): Add lib/idcache.h
67524         * lib/idcache.c: Include "idcache.h".
67525         Don't include <sys/types.h>.
67526         Add a FIXME comment.
67527         Move file-scoped "static" declarations to the top.
67528         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
67529
67530 2007-08-17  Bruno Haible  <bruno@clisp.org>
67531         and Paul Eggert  <eggert@cs.ucla.edu>
67532
67533         * MODULES.html.sh: Add diffseq.
67534         * modules/diffseq: New file.
67535         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
67536         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
67537
67538 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67539
67540         Import changes from coreutils for bootstrap script.
67541
67542         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
67543
67544         * build-aux/bootstrap (slurp): Work even in environments where
67545         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
67546         current code does not slurp files whose names start with ".", and
67547         this looks like it might be a troublesome area.
67548
67549         2007-07-11  Jim Meyering  <jim@meyering.net>
67550
67551         If there's a GPL vN copyright comment, require that N == 3.
67552
67553         2007-07-08  Jim Meyering  <jim@meyering.net>
67554
67555         Run the coreutils-specific code only if tests/Makefile.am.in exists.
67556         * build-aux/bootstrap (mam_template): Move definition out of loop.
67557
67558         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
67559
67560         * build-aux/bootstrap (symlink_to_dir): Rename function from
67561         symlink_to_gnulib.  Add a directory parameter.  Update all
67562         callers.
67563         (cp_mark_as_generated): Also check for -- and link to -- files in
67564         gl/.
67565
67566         2007-07-08  Jim Meyering  <jim@meyering.net>
67567
67568         Adapt to deeper hierarchy in gnulib.
67569         * build-aux/bootstrap (symlink_to_dir): If the destination
67570         directory doesn't exist, create it. This is required at least for
67571         "lib/uniwidth/cjk.h".
67572
67573         2007-05-15  Jim Meyering  <jim@meyering.net>
67574
67575         * build-aux/bootstrap: Now that generated Makefile.am files
67576         are no longer under version control, they must be created at
67577         bootstrap time.
67578
67579 2007-08-14  Ben Pfaff  <blp@gnu.org>
67580
67581         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
67582
67583 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67584
67585         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
67586         given the changes below.
67587         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
67588         even on hosts that have padding bits beyond the supported 64.
67589
67590 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
67591
67592         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
67593         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
67594         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
67595         depends on it.
67596         (xstrtol_error): Remove.
67597         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
67598         but with a different signature.
67599         (ATTRIBUTE_NORETURN, __attribute__): New macros.
67600         * lib/xstrtol-error.c: Include exitfail.h.
67601         (xstrtol_fatal): New function, with a different signature from the
67602         old xstrtol_error, so that the caller need not worry about passing
67603         in an exit status, or about storage management of the option argument.
67604         (xstrtol_error): Now a static function.  Redo signature to
67605         implement xstrtol_fatal.  Output the correct number of hyphens in
67606         front of the option so that the caller need not worry about
67607         storage management.
67608         (N_): New macro.
67609         (_): Remove; not used now.
67610         * modules/xstrtol: Depend on getopt.
67611         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
67612         of old STRTOL_FATAL_ERROR macro.
67613         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
67614         of test program.
67615         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
67616         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
67617
67618 2007-08-08  Eric Blake  <ebb9@byu.net>
67619
67620         * lib/xstrtol-error.c: Add missing include.
67621
67622         Move xstrtol messages into gnulib domain, when --pobase is used.
67623         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
67624         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
67625         * modules/xstrtol (Files): Distribute new file.
67626         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
67627         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
67628         * tests/test-xstrtol.c: ...into new file.
67629         * tests/test-xstrtoul.c: Also test xstrtoul.
67630         * tests/test-xstrtoimax.c: Also test xstrtoimax.
67631         * tests/test-xstrtoumax.c: Also test xstrtoumax.
67632         * tests/test-xstrtol.sh: Drive the tests.
67633         * tests/test-xstrtoimax.sh: Likewise.
67634         * tests/test-xstrtoumax.sh: Likewise.
67635         * modules/xstrtol-tests: New module.
67636         * modules/xstrtoimax-tests: Likewise.
67637         * modules/xstrtoumax-tests: Likewise.
67638
67639 2007-08-08  Jim Meyering  <jim@meyering.net>
67640
67641         New function: mfile_name_concat.
67642         * lib/filenamecat.c (mfile_name_concat): New function, just like
67643         file_name_concat, but return NULL upon failure rather than exiting
67644         with a diagnostic.
67645         * lib/filenamecat.h: Declare it.
67646
67647 2007-08-07  Bruno Haible  <bruno@clisp.org>
67648
67649         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
67650         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
67651         warning from gcc.
67652         Reported by Eric Blake.
67653
67654 2007-08-07  Simon Josefsson  <simon@josefsson.org>
67655
67656         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
67657         * modules/crypto/arcfour (License): Likewise.
67658         * modules/crypto/des-tests (License): Likewise.
67659         * modules/crypto/gc-arctwo-tests (License): Likewise.
67660         * modules/crypto/gc-des-tests (License): Likewise.
67661         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
67662         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
67663         * modules/crypto/gc-md2-tests (License): Likewise.
67664         * modules/crypto/gc-md4-tests (License): Likewise.
67665         * modules/crypto/gc-md5-tests (License): Likewise.
67666         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
67667         * modules/crypto/gc-rijndael-tests (License): Likewise.
67668         * modules/crypto/gc-sha1-tests (License): Likewise.
67669         * modules/crypto/gc-tests (License): Likewise.
67670         * modules/crypto/hmac-md5 (License): Likewise.
67671         * modules/crypto/hmac-sha1 (License): Likewise.
67672         * modules/crypto/md2-tests (License): Likewise.
67673         * modules/crypto/md4-tests (License): Likewise.
67674         * modules/crypto/md5 (License): Likewise.
67675         * modules/crypto/rijndael (License): Likewise.
67676         * modules/crypto/sha1 (License): Likewise.
67677         * modules/memxor (License): Likewise.
67678
67679 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67680         and Bruno Haible  <bruno@clisp.org>
67681
67682         * NEWS: Describe interface changes to human, xstrtol.
67683         * lib/human.h: Include <xstrtol.h>.
67684         (human_options): Return enum strtol_error, not int.  Remove
67685         bool arg; take int * instead.
67686         * lib/human.c: Don't include "gettext.h".
67687         (_): Remove; no longer used.
67688         Don't include <xstrtol.h>, since human.h does it.
67689         (human_options): Adjust to abovementioned interface changes.
67690         Do not report error to stderr; that's now the caller's
67691         responsibility.
67692         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
67693         interface change.
67694         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
67695         Str, Argument_type_string.  All uses changed.  Put " argument"
67696         in diagnostics to make them clearer.  Change wording of suffix
67697         message for clarity.
67698         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
67699         Argument_type_string.
67700         (STRTOL_FATAL_WARN): Remove; no longer used.
67701         * modules/human (Depends-on): Remove gettext-h.
67702
67703 2007-08-06  Simon Josefsson  <simon@josefsson.org>
67704
67705         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
67706
67707 2007-07-31  Bruno Haible  <bruno@clisp.org>
67708
67709         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
67710         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
67711         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
67712
67713 2007-07-31  Bruno Haible  <bruno@clisp.org>
67714
67715         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
67716         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
67717
67718 2007-07-30  Bruno Haible  <bruno@clisp.org>
67719
67720         * modules/base64 (License): Use the synonymous term "LGPLv2+".
67721         * modules/c-ctype (License): Likewise.
67722         * modules/c-strcase (License): Likewise.
67723         * modules/check-version (License): Likewise.
67724         * modules/iconv (License): Likewise.
67725         * modules/iconv_open (License): Likewise.
67726         * modules/read-file (License): Likewise.
67727         * modules/striconv (License): Likewise.
67728         * modules/strverscmp (License): Likewise.
67729         * modules/vasprintf (License): Likewise.
67730         * modules/crypto/des (License): Likewise.
67731         * modules/crypto/gc (License): Likewise.
67732         * modules/crypto/gc-arcfour (License): Likewise.
67733         * modules/crypto/gc-arctwo (License): Likewise.
67734         * modules/crypto/gc-des (License): Likewise.
67735         * modules/crypto/gc-hmac-md5 (License): Likewise.
67736         * modules/crypto/gc-hmac-sha1 (License): Likewise.
67737         * modules/crypto/gc-md2 (License): Likewise.
67738         * modules/crypto/gc-md4 (License): Likewise.
67739         * modules/crypto/gc-md5 (License): Likewise.
67740         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
67741         * modules/crypto/gc-random (License): Likewise.
67742         * modules/crypto/gc-rijndael (License): Likewise.
67743         * modules/crypto/gc-sha1 (License): Likewise.
67744         * modules/crypto/md2 (License): Likewise.
67745         * modules/crypto/md4 (License): Likewise.
67746
67747 2007-07-30  Jim Meyering  <jim@meyering.net>
67748
67749         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
67750         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
67751         it has valid stat data.  This bug would cause du not to count the
67752         sizes of inaccessible directories.
67753         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
67754         in <http://bugzilla.redhat.com/250077>.
67755
67756 2007-07-25  Peter O'Gorman  <peter@pogma.com>
67757             Bruno Haible  <bruno@clisp.org>
67758
67759         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
67760         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
67761         #include_next, gives a diagnostic about it, but reports no error in
67762         the exit code.
67763         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
67764
67765 2007-07-24  Ben Pfaff  <blp@gnu.org>
67766
67767         Improve name: "count-one-bits" is better than "popcount".
67768         * MODULES.html.sh: Update name.
67769         * lib/popcount.h: Renamed lib/count-one-bits.h.
67770         (popcount): Renamed count_one_bits.
67771         (popcountl): Renamed count_one_bits_l.
67772         (popcountll): Renamed count_one_bits_ll.
67773         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
67774         * modules/popcount: Renamed module/count-one-bits.
67775         * modules/popcount-tests: Renamed module/count-one-bits-tests.
67776         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
67777
67778 2007-07-23  Ben Pfaff  <blp@gnu.org>
67779
67780         * lib/popcount.h (popcount32): Reduce size of constants, to allow
67781         better code generation, and add U to large constants to avoid
67782         warnings, in non-GCC case.
67783         Suggested by Bruno Haible.
67784
67785 2007-07-23  Ben Pfaff  <blp@gnu.org>
67786
67787         * lib/popcount.h: Use verify_true instead of if...abort.
67788         * modules/popcount: Depend on verify module.
67789         Suggested by Jim Meyering.
67790
67791 2007-07-23  Bruno Haible  <bruno@clisp.org>
67792
67793         * gnulib-tool (func_import): Create a .cvsignore file also when the
67794         directory is not yet in CVS but the toplevel directory is. When
67795         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
67796         Reported by Karl Berry.
67797
67798 2007-07-22  Ben Pfaff  <blp@gnu.org>
67799
67800         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
67801         case.
67802         Suggested by Eric Blake.
67803
67804 2007-07-22  Ben Pfaff  <blp@gnu.org>
67805
67806         New module: popcount.
67807         * MODULES.html.sh: Add popcount.
67808         * modules/popcount: New file.
67809         * modules/popcount-tests: New file.
67810         * tests/test-popcount.c: New file.
67811         * lib/popcount.h: New file.
67812         * m4/popcount.m4: New file.
67813
67814 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
67815
67816         * build-aux/announce-gen: Update to GPLv3.
67817
67818         * build-aux/config.guess: Update from config.
67819
67820 2007-07-21  Bruno Haible  <bruno@clisp.org>
67821
67822         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
67823         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
67824
67825 2007-07-20  Jim Meyering  <jim@meyering.net>
67826
67827         * check-module: Diagnose a self-dependency.
67828
67829 2007-07-19  Bruno Haible  <bruno@clisp.org>
67830
67831         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
67832         empty.
67833         Reported by Eric Blake.
67834
67835 2007-07-18  Bruno Haible  <bruno@clisp.org>
67836
67837         * gnulib-tool: New options --po-base, --po-domain.
67838         (func_usage): Document them.
67839         (pobase, po_domain): New variables.
67840         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
67841         DEFAULT_TEXT_DOMAIN.
67842         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
67843         (func_import): Consider pobase and po_domain. Create a po/ directory.
67844         (func_create_testdir): Set pobase and po_domain to empty.
67845         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
67846         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
67847
67848 2007-07-18  Bruno Haible  <bruno@clisp.org>
67849
67850         * gnulib-tool (func_get_automake_snippet): Synthesize also an
67851         EXTRA_DIST augmentation for files in build-aux/.
67852
67853 2007-07-16  Bruno Haible  <bruno@clisp.org>
67854
67855         * modules/lseek (License): Use the synonymous term "LGPLv2+".
67856         * modules/getdelim (License): Likewise.
67857
67858 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67859
67860         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
67861         * modules/d-type (License): Likewise.
67862         * modules/extensions (License): Likewise.
67863         * modules/fnmatch (License): Likewise.
67864         * modules/fseeko (License): Likewise.
67865         * modules/getaddrinfo (License): Likewise.
67866         * modules/getline (License): Likewise.
67867         * modules/getlogin_r (License): Likewise.
67868         * modules/getpass (License): Likewise.
67869         * modules/gettimeofday (License): Likewise.
67870         * modules/glob (License): Likewise.
67871         * modules/inet_ntop (License): Likewise.
67872         * modules/malloc (License): Likewise.
67873         * modules/malloca (License): Likewise.
67874         * modules/memmem (License): Likewise.
67875         * modules/mempcpy (License): Likewise.
67876         * modules/memset (License): Likewise.
67877         * modules/minmax (License): Likewise.
67878         * modules/mktime (License): Likewise.
67879         * modules/netinet_in (License): Likewise.
67880         * modules/pathmax (License): Likewise.
67881         * modules/poll (License): Likewise.
67882         * modules/regex (License): Likewise.
67883         * modules/snprintf (License): Likewise.
67884         * modules/stdbool (License): Likewise.
67885         * modules/stdint (License): Likewise.
67886         * modules/stdio (License): Likewise.
67887         * modules/strcase (License): Likewise.
67888         * modules/strcasestr (License): Likewise.
67889         * modules/strdup (License): Likewise.
67890         * modules/string (License): Likewise.
67891         * modules/strndup (License): Likewise.
67892         * modules/strnlen (License): Likewise.
67893         * modules/strpbrk (License): Likewise.
67894         * modules/strptime (License): Likewise.
67895         * modules/strsep (License): Likewise.
67896         * modules/sys_select (License): Likewise.
67897         * modules/sys_socket (License): Likewise.
67898         * modules/sys_stat (License): Likewise.
67899         * modules/sys_time (License): Likewise.
67900         * modules/time (License): Likewise.
67901         * modules/time_r (License): Likewise.
67902         * modules/timegm (License): Likewise.
67903         * modules/unistd (License): Likewise.
67904         * modules/vsnprintf (License): Likewise.
67905         * modules/wctype (License): Likewise.
67906
67907 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67908
67909         * modules/argz (License): LGPLv2+.
67910
67911 2007-07-15  Karl Berry  <karl@gnu.org>
67912
67913         * doc/gnulib.texi: revise node structure per new fdl.texi.
67914
67915 2007-07-14  Bruno Haible  <bruno@clisp.org>
67916
67917         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
67918         the output file.
67919         * lib/uniname/uninames.h: Regenerated.
67920
67921 2007-07-14  Karl Berry  <karl@gnu.org>
67922
67923         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
67924         omitting sectioning and index commands.
67925
67926 2007-07-13  Bruno Haible  <bruno@clisp.org>
67927
67928         New gnulib-tool option --more-symlinks.
67929         * gnulib-tool (func_usage): Document --more-symlinks.
67930         (do_copyrights): New variable.
67931         Recognize option --more-symlinks.
67932         (func_import): Don't add a copyright notice transform to
67933         sed_transform_lib_file if do_copyrights is empty.
67934
67935 2007-07-13  Bruno Haible  <bruno@clisp.org>
67936
67937         * lib/vasnprintf.c (decimal_point_char): Define also if
67938         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
67939         && !NEED_PRINTF_DIRECTIVE_A.
67940         Reported by Clemens Koller <clemens.koller@anagramm.de> via
67941         Gary V. Vaughan <gary@gnu.org>.
67942
67943 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
67944
67945         * lib/inttypes_.h: Undo previous change, since it was fixed
67946         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
67947
67948 2007-07-13  Bruno Haible  <bruno@clisp.org>
67949
67950         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
67951         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
67952
67953 2007-07-13  Jim Meyering  <jim@meyering.net>
67954
67955         df: Don't fail for Tru64's "file-on-file mount".
67956         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
67957         so we fall through and use statfs instead.  Details here:
67958         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
67959         Reported by Albert Chin.
67960
67961 2007-07-13  Bruno Haible  <bruno@clisp.org>
67962
67963         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
67964         * modules/configmake (License): Likewise.
67965         * modules/gettext (License): Likewise.
67966         * modules/gettext-h (License): Likewise.
67967         * modules/include_next (License): Likewise.
67968         * modules/link-warning (License): Likewise.
67969         * modules/localcharset (License): Likewise.
67970         * modules/localename (License): Likewise.
67971         * modules/lock (License): Likewise.
67972         * modules/relocatable-lib-lgpl (License): Likewise.
67973         * modules/size_max (License): Likewise.
67974         * modules/vasnprintf (License): Likewise.
67975         * modules/wchar (License): Likewise.
67976         * modules/xsize (License): Likewise.
67977
67978 2007-07-13  Bruno Haible  <bruno@clisp.org>
67979
67980         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
67981         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
67982
67983 2007-07-12  Bruno Haible  <bruno@clisp.org>
67984
67985         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
67986         in the modules files.
67987
67988 2007-07-11  Karl Berry  <karl@gnu.org>
67989
67990         * MODULES.html.sh (func_module): use
67991          sed -e '\|^'"${includefile}"'$|d'
67992          instead of /.../d, to avoid errors on $includefile's containing /.
67993
67994 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67995
67996         * gnulib-tool (func_import): Avoid duplication of --avoid
67997         statements
67998         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
67999         names to `_' in variable names.
68000
68001 2007-07-10  Eric Blake  <ebb9@byu.net>
68002
68003         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
68004         * NEWS: Document this change.
68005
68006 2007-07-08  Bruno Haible  <bruno@clisp.org>
68007
68008         Update to Unicode 5.0.
68009         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
68010         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
68011         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
68012         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
68013         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
68014         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
68015         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
68016         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
68017         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
68018         U+10A3F, U+1D242..U+1D244.
68019         (nonspacing_table_ind): Update.
68020         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
68021         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
68022
68023 2007-07-08  Bruno Haible  <bruno@clisp.org>
68024
68025         Update to Unicode 5.0.
68026         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
68027         code transform. Extend the name index field of unicode_name_to_code and
68028         unicode_code_to_name from 16 to 24 bits.
68029         * lib/uniname/uniname.c (unicode_character_name,
68030         unicode_name_character): Add the range 0x12xxx to the code transform.
68031         * lib/uniname/uninames.h: Regenerated.
68032         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
68033
68034 2007-07-07  Bruno Haible  <bruno@clisp.org>
68035
68036         * modules/wcwidth-tests: New file.
68037         * tests/test-wcwidth.c: New file.
68038
68039         Work around MacOS X wcwidth() bug.
68040         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
68041         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
68042         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
68043         original wcwidth in non-UTF-8 locales.
68044         * modules/wcwidth (Depends-on): Add localcharset, streq,
68045         uniwidth/width.
68046         * doc/functions/wcwidth.texi: Update.
68047
68048 2007-07-07  Bruno Haible  <bruno@clisp.org>
68049
68050         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
68051         (wcwidth): New declaration.
68052         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
68053         macros.
68054         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
68055         here. Prepare for creating <wchar.h> unconditionally.
68056         * modules/wchar (Depends-on): Add link-warning.
68057         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
68058         REPLACE_WCWIDTH, and GL_LINK_WARNING.
68059         * lib/wcwidth.h: Remove file.
68060         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
68061         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
68062         * modules/wcwidth (Files): Remove lib/wcwidth.h.
68063         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
68064         (Include): Replace wcwidth.h with <wchar.h>.
68065         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
68066         * lib/mbchar.h: Don't include wcwidth.h.
68067         * lib/mbswidth.c: Likewise.
68068         * NEWS: Mention the change.
68069
68070 2007-07-07  Bruno Haible  <bruno@clisp.org>
68071
68072         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
68073         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
68074         definition with an external declaration.
68075         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
68076         defined as a function. Remove AC_C_INLINE requirement.
68077         * modules/wcwidth (Files): Add lib/wcwidth.c.
68078         (Makefile.am): Remove redundant statement.
68079
68080 2007-07-07  Bruno Haible  <bruno@clisp.org>
68081
68082         * MODULES.html.sh (Unicode string functions): Add the new modules.
68083
68084         * tests/uniwidth/test-u32-strwidth.c: New file.
68085         * modules/uniwidth/u32-strwidth-tests: New file.
68086
68087         * lib/uniwidth/u32-strwidth.c: New file.
68088         * modules/uniwidth/u32-strwidth: New file.
68089
68090         * tests/uniwidth/test-u16-strwidth.c: New file.
68091         * modules/uniwidth/u16-strwidth-tests: New file.
68092
68093         * lib/uniwidth/u16-strwidth.c: New file.
68094         * modules/uniwidth/u16-strwidth: New file.
68095
68096         * tests/uniwidth/test-u8-strwidth.c: New file.
68097         * modules/uniwidth/u8-strwidth-tests: New file.
68098
68099         * lib/uniwidth/u8-strwidth.c: New file.
68100         * modules/uniwidth/u8-strwidth: New file.
68101
68102         * tests/uniwidth/test-u32-width.c: New file.
68103         * modules/uniwidth/u32-width-tests: New file.
68104
68105         * lib/uniwidth/u32-width.c: New file.
68106         * modules/uniwidth/u32-width: New file.
68107
68108         * tests/uniwidth/test-u16-width.c: New file.
68109         * modules/uniwidth/u16-width-tests: New file.
68110
68111         * lib/uniwidth/u16-width.c: New file.
68112         * modules/uniwidth/u16-width: New file.
68113
68114         * tests/uniwidth/test-u8-width.c: New file.
68115         * modules/uniwidth/u8-width-tests: New file.
68116
68117         * lib/uniwidth/u8-width.c: New file.
68118         * modules/uniwidth/u8-width: New file.
68119
68120         * tests/uniwidth/test-uc_width.c: New file.
68121         * modules/uniwidth/width-tests: New file.
68122
68123         * lib/uniwidth/width.c: New file, from GNU libiconv.
68124         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
68125         * modules/uniwidth/width: New file.
68126
68127         * lib/uniwidth.h: New file, from GNU libiconv.
68128         * modules/uniwidth/base: New file.
68129
68130 2007-07-07  Bruno Haible  <bruno@clisp.org>
68131
68132         * lib/uniname.h: New file, from GNU gettext.
68133         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
68134         * lib/uniname/uninames.h: New file, from GNU gettext.
68135         * lib/uniname/uniname.c: New file, from GNU gettext.
68136         * tests/uniname/test-uninames.sh: New file.
68137         * tests/uniname/test-uninames.c: New file, from GNU gettext.
68138         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
68139         * modules/uniname/base: New file.
68140         * modules/uniname/uniname: New file.
68141         * modules/uniname/uniname-tests: New file.
68142         * MODULES.html.sh (Unicode string functions): Add the new modules.
68143
68144 2007-07-06  Bruno Haible  <bruno@clisp.org>
68145
68146         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
68147
68148 2007-07-06  Bruno Haible  <bruno@clisp.org>
68149
68150         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
68151         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
68152         includes <cygwin/sys_time.h> which includes <sys/select.h> which
68153         include <sys/time.h>.
68154         Reported by Eric Blake.
68155
68156 2007-07-06  Eric Blake  <ebb9@byu.net>
68157
68158         Fix testing canonicalize on cygwin.
68159         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68160         Revert patch from 2007-06-19.
68161         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
68162         canonicalize module is also in use.
68163         * tests/test-canonicalize.c: New file.
68164         * tests/test-canonicalize.sh: Likewise.
68165         * modules/canonicalize-tests: Likewise.
68166
68167 2007-07-06  Jim Meyering  <jim@meyering.net>
68168
68169         * lib/getugroups.c (getugroups): Detect getgrent failure.
68170         Adjust comment to reflect reality: this function may return -1.
68171
68172 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
68173
68174         * build-aux/bootstrap (TP_URL,get_translations): Update to use
68175         the new TP address.
68176         (usage): Fix typo
68177         (gnulib_mk): New variable.
68178
68179 2007-07-05  Jim Meyering  <jim@meyering.net>
68180
68181         Don't let endgrent clobber errno, no matter how improbable.
68182         * lib/getugroups.c (getugroups): Save and restore errno around
68183         endgrent call.
68184
68185         Close the group DB even when failing with 2^31 or more members.
68186         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
68187
68188 2007-07-04  Jim Meyering  <jim@meyering.net>
68189
68190         * lib/getugroups.h: New file.
68191         * lib/getugroups.c: Include "getugroups.h".
68192         Remove uses of "register" keyword.
68193         Move local variable, "cp", down into scope where used.
68194         Give "username" parameter the "const" attribute.
68195         * modules/getugroups (Files): Add lib/getugroups.h
68196
68197 2007-07-04  Karl Berry  <karl@gnu.org>
68198
68199         * MODULES.html.sh (func_all_modules): Complete rename of
68200         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
68201
68202 2007-07-02  Bruno Haible  <bruno@clisp.org>
68203
68204         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
68205         mode, when inttypes.h comes from gnulib.
68206         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
68207
68208 2007-07-02  Simon Josefsson  <simon@josefsson.org>
68209
68210         * NEWS: Mention lgpl module name change.
68211
68212         * modules/lgpl-2.1: Renamed from lgpl.
68213
68214         * NEWS: Mention gpl module name change.
68215
68216         * modules/gpl-3.0: New file, based on gpl-2.0.
68217
68218         * modules/gpl-2.0: Renamed from gpl.
68219
68220         * modules/gpl: Fix filename, doc/gpl.texi is now found at
68221         doc/gpl-2.0.texi.
68222
68223 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
68224
68225         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
68226         #define __STDC_LIMIT_MACROS temporarily while including
68227         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
68228         Problem reported by Joel E. Denny in
68229         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
68230
68231 2007-07-01  Bruno Haible  <bruno@clisp.org>
68232
68233         * lib/unistdio.h: New file.
68234         * lib/unistdio/u-asnprintf.h: New file.
68235         * lib/unistdio/u-asprintf.h: New file.
68236         * lib/unistdio/u-printf-args.c: New file.
68237         * lib/unistdio/u-printf-args.h: New file.
68238         * lib/unistdio/u-printf-parse.h: New file.
68239         * lib/unistdio/u-snprintf.h: New file.
68240         * lib/unistdio/u-sprintf.h: New file.
68241         * lib/unistdio/u-vasprintf.h: New file.
68242         * lib/unistdio/u-vsnprintf.h: New file.
68243         * lib/unistdio/u-vsprintf.h: New file.
68244         * lib/unistdio/ulc-asnprintf.c: New file.
68245         * lib/unistdio/ulc-asprintf.c: New file.
68246         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
68247         * lib/unistdio/ulc-printf-parse.c: New file.
68248         * lib/unistdio/ulc-snprintf.c: New file.
68249         * lib/unistdio/ulc-sprintf.c: New file.
68250         * lib/unistdio/ulc-vasnprintf.c: New file.
68251         * lib/unistdio/ulc-vasprintf.c: New file.
68252         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
68253         * lib/unistdio/ulc-vsnprintf.c: New file.
68254         * lib/unistdio/ulc-vsprintf.c: New file.
68255         * lib/unistdio/u8-asnprintf.c: New file.
68256         * lib/unistdio/u8-asprintf.c: New file.
68257         * lib/unistdio/u8-printf-parse.c: New file.
68258         * lib/unistdio/u8-snprintf.c: New file.
68259         * lib/unistdio/u8-sprintf.c: New file.
68260         * lib/unistdio/u8-vasnprintf.c: New file.
68261         * lib/unistdio/u8-vasprintf.c: New file.
68262         * lib/unistdio/u8-vsnprintf.c: New file.
68263         * lib/unistdio/u8-vsprintf.c: New file.
68264         * lib/unistdio/u8-u8-asnprintf.c: New file.
68265         * lib/unistdio/u8-u8-asprintf.c: New file.
68266         * lib/unistdio/u8-u8-snprintf.c: New file.
68267         * lib/unistdio/u8-u8-sprintf.c: New file.
68268         * lib/unistdio/u8-u8-vasnprintf.c: New file.
68269         * lib/unistdio/u8-u8-vasprintf.c: New file.
68270         * lib/unistdio/u8-u8-vsnprintf.c: New file.
68271         * lib/unistdio/u8-u8-vsprintf.c: New file.
68272         * lib/unistdio/u16-asnprintf.c: New file.
68273         * lib/unistdio/u16-asprintf.c: New file.
68274         * lib/unistdio/u16-printf-parse.c: New file.
68275         * lib/unistdio/u16-snprintf.c: New file.
68276         * lib/unistdio/u16-sprintf.c: New file.
68277         * lib/unistdio/u16-vasnprintf.c: New file.
68278         * lib/unistdio/u16-vasprintf.c: New file.
68279         * lib/unistdio/u16-vsnprintf.c: New file.
68280         * lib/unistdio/u16-vsprintf.c: New file.
68281         * lib/unistdio/u16-u16-asnprintf.c: New file.
68282         * lib/unistdio/u16-u16-asprintf.c: New file.
68283         * lib/unistdio/u16-u16-snprintf.c: New file.
68284         * lib/unistdio/u16-u16-sprintf.c: New file.
68285         * lib/unistdio/u16-u16-vasnprintf.c: New file.
68286         * lib/unistdio/u16-u16-vasprintf.c: New file.
68287         * lib/unistdio/u16-u16-vsnprintf.c: New file.
68288         * lib/unistdio/u16-u16-vsprintf.c: New file.
68289         * lib/unistdio/u32-asnprintf.c: New file.
68290         * lib/unistdio/u32-asprintf.c: New file.
68291         * lib/unistdio/u32-printf-parse.c: New file.
68292         * lib/unistdio/u32-snprintf.c: New file.
68293         * lib/unistdio/u32-sprintf.c: New file.
68294         * lib/unistdio/u32-vasnprintf.c: New file.
68295         * lib/unistdio/u32-vasprintf.c: New file.
68296         * lib/unistdio/u32-vsnprintf.c: New file.
68297         * lib/unistdio/u32-vsprintf.c: New file.
68298         * lib/unistdio/u32-u32-asnprintf.c: New file.
68299         * lib/unistdio/u32-u32-asprintf.c: New file.
68300         * lib/unistdio/u32-u32-snprintf.c: New file.
68301         * lib/unistdio/u32-u32-sprintf.c: New file.
68302         * lib/unistdio/u32-u32-vasnprintf.c: New file.
68303         * lib/unistdio/u32-u32-vasprintf.c: New file.
68304         * lib/unistdio/u32-u32-vsnprintf.c: New file.
68305         * lib/unistdio/u32-u32-vsprintf.c: New file.
68306         * tests/unistdio/test-ulc-asnprintf1.c: New file.
68307         * tests/unistdio/test-ulc-asnprintf1.h: New file.
68308         * tests/unistdio/test-ulc-printf1.h: New file.
68309         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
68310         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
68311         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
68312         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
68313         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
68314         * tests/unistdio/test-ulc-vasprintf1.c: New file.
68315         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
68316         * tests/unistdio/test-ulc-vsprintf1.c: New file.
68317         * tests/unistdio/test-u8-asnprintf1.c: New file.
68318         * tests/unistdio/test-u8-asnprintf1.h: New file.
68319         * tests/unistdio/test-u8-printf1.h: New file.
68320         * tests/unistdio/test-u8-vasnprintf1.c: New file.
68321         * tests/unistdio/test-u8-vasnprintf2.c: New file.
68322         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
68323         * tests/unistdio/test-u8-vasnprintf3.c: New file.
68324         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
68325         * tests/unistdio/test-u8-vasprintf1.c: New file.
68326         * tests/unistdio/test-u8-vsnprintf1.c: New file.
68327         * tests/unistdio/test-u8-vsprintf1.c: New file.
68328         * tests/unistdio/test-u16-asnprintf1.c: New file.
68329         * tests/unistdio/test-u16-asnprintf1.h: New file.
68330         * tests/unistdio/test-u16-printf1.h: New file.
68331         * tests/unistdio/test-u16-vasnprintf1.c: New file.
68332         * tests/unistdio/test-u16-vasnprintf2.c: New file.
68333         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
68334         * tests/unistdio/test-u16-vasnprintf3.c: New file.
68335         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
68336         * tests/unistdio/test-u16-vasprintf1.c: New file.
68337         * tests/unistdio/test-u16-vsnprintf1.c: New file.
68338         * tests/unistdio/test-u16-vsprintf1.c: New file.
68339         * tests/unistdio/test-u32-asnprintf1.c: New file.
68340         * tests/unistdio/test-u32-asnprintf1.h: New file.
68341         * tests/unistdio/test-u32-printf1.h: New file.
68342         * tests/unistdio/test-u32-vasnprintf1.c: New file.
68343         * tests/unistdio/test-u32-vasnprintf2.c: New file.
68344         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
68345         * tests/unistdio/test-u32-vasnprintf3.c: New file.
68346         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
68347         * tests/unistdio/test-u32-vasprintf1.c: New file.
68348         * tests/unistdio/test-u32-vsnprintf1.c: New file.
68349         * tests/unistdio/test-u32-vsprintf1.c: New file.
68350         * modules/unistdio/base: New file.
68351         * modules/unistdio/u-printf-args: New file.
68352         * modules/unistdio/ulc-asnprintf: New file.
68353         * modules/unistdio/ulc-asprintf: New file.
68354         * modules/unistdio/ulc-fprintf: New file.
68355         * modules/unistdio/ulc-printf-parse: New file.
68356         * modules/unistdio/ulc-snprintf: New file.
68357         * modules/unistdio/ulc-sprintf: New file.
68358         * modules/unistdio/ulc-vasnprintf: New file.
68359         * modules/unistdio/ulc-vasprintf: New file.
68360         * modules/unistdio/ulc-vfprintf: New file.
68361         * modules/unistdio/ulc-vsnprintf: New file.
68362         * modules/unistdio/ulc-vsprintf: New file.
68363         * modules/unistdio/u8-asnprintf: New file.
68364         * modules/unistdio/u8-asprintf: New file.
68365         * modules/unistdio/u8-printf-parse: New file.
68366         * modules/unistdio/u8-snprintf: New file.
68367         * modules/unistdio/u8-sprintf: New file.
68368         * modules/unistdio/u8-vasnprintf: New file.
68369         * modules/unistdio/u8-vasprintf: New file.
68370         * modules/unistdio/u8-vsnprintf: New file.
68371         * modules/unistdio/u8-vsprintf: New file.
68372         * modules/unistdio/u8-u8-asnprintf: New file.
68373         * modules/unistdio/u8-u8-asprintf: New file.
68374         * modules/unistdio/u8-u8-snprintf: New file.
68375         * modules/unistdio/u8-u8-sprintf: New file.
68376         * modules/unistdio/u8-u8-vasnprintf: New file.
68377         * modules/unistdio/u8-u8-vasprintf: New file.
68378         * modules/unistdio/u8-u8-vsnprintf: New file.
68379         * modules/unistdio/u8-u8-vsprintf: New file.
68380         * modules/unistdio/u16-asnprintf: New file.
68381         * modules/unistdio/u16-asprintf: New file.
68382         * modules/unistdio/u16-printf-parse: New file.
68383         * modules/unistdio/u16-snprintf: New file.
68384         * modules/unistdio/u16-sprintf: New file.
68385         * modules/unistdio/u16-vasnprintf: New file.
68386         * modules/unistdio/u16-vasprintf: New file.
68387         * modules/unistdio/u16-vsnprintf: New file.
68388         * modules/unistdio/u16-vsprintf: New file.
68389         * modules/unistdio/u16-u16-asnprintf: New file.
68390         * modules/unistdio/u16-u16-asprintf: New file.
68391         * modules/unistdio/u16-u16-snprintf: New file.
68392         * modules/unistdio/u16-u16-sprintf: New file.
68393         * modules/unistdio/u16-u16-vasnprintf: New file.
68394         * modules/unistdio/u16-u16-vasprintf: New file.
68395         * modules/unistdio/u16-u16-vsnprintf: New file.
68396         * modules/unistdio/u16-u16-vsprintf: New file.
68397         * modules/unistdio/u32-asnprintf: New file.
68398         * modules/unistdio/u32-asprintf: New file.
68399         * modules/unistdio/u32-printf-parse: New file.
68400         * modules/unistdio/u32-snprintf: New file.
68401         * modules/unistdio/u32-sprintf: New file.
68402         * modules/unistdio/u32-vasnprintf: New file.
68403         * modules/unistdio/u32-vasprintf: New file.
68404         * modules/unistdio/u32-vsnprintf: New file.
68405         * modules/unistdio/u32-vsprintf: New file.
68406         * modules/unistdio/u32-u32-asnprintf: New file.
68407         * modules/unistdio/u32-u32-asprintf: New file.
68408         * modules/unistdio/u32-u32-snprintf: New file.
68409         * modules/unistdio/u32-u32-sprintf: New file.
68410         * modules/unistdio/u32-u32-vasnprintf: New file.
68411         * modules/unistdio/u32-u32-vasprintf: New file.
68412         * modules/unistdio/u32-u32-vsnprintf: New file.
68413         * modules/unistdio/u32-u32-vsprintf: New file.
68414         * modules/unistdio/ulc-asnprintf-tests: New file.
68415         * modules/unistdio/ulc-vasnprintf-tests: New file.
68416         * modules/unistdio/ulc-vasprintf-tests: New file.
68417         * modules/unistdio/ulc-vsnprintf-tests: New file.
68418         * modules/unistdio/ulc-vsprintf-tests: New file.
68419         * modules/unistdio/u8-asnprintf-tests: New file.
68420         * modules/unistdio/u8-vasnprintf-tests: New file.
68421         * modules/unistdio/u8-vasprintf-tests: New file.
68422         * modules/unistdio/u8-vsnprintf-tests: New file.
68423         * modules/unistdio/u8-vsprintf-tests: New file.
68424         * modules/unistdio/u16-asnprintf-tests: New file.
68425         * modules/unistdio/u16-vasnprintf-tests: New file.
68426         * modules/unistdio/u16-vasprintf-tests: New file.
68427         * modules/unistdio/u16-vsnprintf-tests: New file.
68428         * modules/unistdio/u16-vsprintf-tests: New file.
68429         * modules/unistdio/u32-asnprintf-tests: New file.
68430         * modules/unistdio/u32-vasnprintf-tests: New file.
68431         * modules/unistdio/u32-vasprintf-tests: New file.
68432         * modules/unistdio/u32-vsnprintf-tests: New file.
68433         * modules/unistdio/u32-vsprintf-tests: New file.
68434         * MODULES.html.sh (Unicode string functions): Add the new modules.
68435
68436 2007-07-01  Bruno Haible  <bruno@clisp.org>
68437
68438         * lib/sprintf.c (sprintf): Limit the available length estimation,
68439         to avoid address wraparound.
68440         * lib/vsprintf.c (vsprintf): Likewise.
68441         * modules/sprintf-posix (Dependencies): Add stdint.
68442         * modules/vsprintf-posix (Dependencies): Likewise.
68443
68444 2007-07-01  Bruno Haible  <bruno@clisp.org>
68445
68446         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
68447         Windows PATH as well. Conservative double-quoting. Comments.
68448
68449 2007-07-01  Bruno Haible  <bruno@clisp.org>
68450             Eric Blake  <ebb9@byu.net>
68451             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68452
68453         * gnulib-tool (self_abspathname): Fix algorithm to cope with
68454         empty components in $PATH, denoting '.'.
68455
68456 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68457
68458         * gnulib-tool: Fix indentation.
68459         (func_create_megatestdir): Likewise.
68460         Report by Bruno Haible.
68461
68462 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68463
68464         Sync from Automake.
68465         * build-aux/gnupload: Fix shell portability issues with for loops.
68466         Report by Karl Berry.
68467
68468 2007-06-29  Simon Josefsson  <simon@josefsson.org>
68469
68470         * build-aux/maint.mk (POURL): Use translationproject.org.
68471
68472 2007-06-27  Simon Josefsson  <simon@josefsson.org>
68473             Bruno Haible  <bruno@clisp.org>
68474
68475         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
68476         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
68477         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
68478         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
68479         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
68480
68481 2007-06-27  Bruno Haible  <bruno@clisp.org>
68482
68483         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
68484         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
68485
68486 2007-06-26  Karl Berry  <karl@gnu.org>
68487
68488         * MODULES.html.sh: remove xreadlink-with-size.
68489
68490 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68491
68492         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
68493         method that I hope also handles the double-include problem noted
68494         by Bruno Haible in
68495         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
68496
68497 2007-06-23  Bruno Haible  <bruno@clisp.org>
68498
68499         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68500         Don't let the 'mostlyclean' target fail if the last subdirectory could
68501         not be removed.
68502         Reported by Karl Berry.
68503
68504 2007-06-23  Bruno Haible  <bruno@clisp.org>
68505
68506         * gnulib-tool (echo): Add a speedier workaround for ksh.
68507         * tests/test-echo.sh: Likewise.
68508
68509 2007-06-23  Bruno Haible  <bruno@clisp.org>
68510
68511         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
68512         * tests/test-echo.sh: Likewise.
68513
68514 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68515
68516         * gnulib-tool (IFS): Initialize early, so we don't set it to
68517         empty later.
68518         (self_abspathname): Rewrite algorithm to set it, reindent.
68519         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
68520         (func_create_megatestdir): Merge some sed scripts.
68521
68522 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68523
68524         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
68525         exposed by Sun Studio 11 cc on Solaris 8.
68526
68527 2007-06-22  Bruno Haible  <bruno@clisp.org>
68528
68529         * gnulib-tool (echo): Ensure the echo primitive does not interpret
68530         backslashes.
68531         * tests/test-echo.sh: New file.
68532
68533 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68534
68535         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
68536         simplify `sed_replace_build_aux' scripts, they are portable but
68537         echoing them with `echo' is not.
68538         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
68539
68540 2007-06-21  Karl Berry  <karl@gnu.org>
68541
68542         * config/srclist.txt: guess we can't handle the licenses via
68543         srclist at the moment.
68544
68545 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
68546
68547         * MODULES.html.sh: Add include_next.
68548         * modules/include_next: New file.
68549
68550 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
68551
68552         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
68553         INCLUDE_NEXT.
68554         (gl_CHECK_NEXT_HEADERS): New macro.
68555         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
68556         the obsolescent gl_ABSOLUTE_HEADER.
68557         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
68558         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
68559         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
68560         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
68561         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
68562         * m4/math_h.m4 (gl_MATH_H): Likewise.
68563         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
68564         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
68565         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
68566         * m4/stdint.m4 (gl_STDINT_H): Likewise.
68567         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
68568         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
68569         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
68570         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
68571         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
68572         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
68573         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
68574         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
68575         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
68576         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
68577         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
68578         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68579         * m4/inttypes.m4 (gl_INTTYPES_H): Define
68580         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
68581         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
68582         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
68583         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
68584         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
68585         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
68586         * lib/float_.h: Likewise.
68587         * lib/inttypes_.h: Likewise.
68588         * lib/math_.h: Likewise.
68589         * lib/search_.h: Likewise.
68590         * lib/signal_.h: Likewise.
68591         * lib/stdint_.h: Likewise.
68592         * lib/stdio_.h: Likewise.
68593         * lib/stdlib_.h: Likewise.
68594         * lib/string_.h: Likewise.
68595         * lib/sys_stat_.h: Likewise.
68596         * lib/sys_time_.h: Likewise.
68597         * lib/time_.h: Likewise.
68598         * lib/unistd_.h: Likewise.
68599         * lib/wchar_.h: Likewise.
68600         * lib/wctype_.h: Likewise.
68601         * lib/dirent_.h: Likewise.
68602         * lib/iconv_.h: Likewise.
68603         * lib/locale_.h: Likewise.
68604         * lib/netinet_in_.h: Likewise.
68605         * lib/sys_select_.h: Likewise.
68606         * lib/sys_socket_.h: Likewise.
68607         * lib/sysexits_.h: Likewise.
68608         * modules/fcntl (Depends-on): Depend on include_next, not
68609         absolute_header.
68610         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
68611         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
68612         * modules/fchdir: Likewise.
68613         * modules/float: Likewise.
68614         * modules/iconv_open: Likewise.
68615         * modules/inttypes: Likewise.
68616         * modules/locale: Likewise.
68617         * modules/math: Likewise.
68618         * modules/netinet_in: Likewise.
68619         * modules/search: Likewise.
68620         * modules/signal: Likewise.
68621         * modules/stdint: Likewise.
68622         * modules/stdio: Likewise.
68623         * modules/stdlib: Likewise.
68624         * modules/string: Likewise.
68625         * modules/sys_select: Likewise.
68626         * modules/sys_socket: Likewise.
68627         * modules/sys_stat: Likewise.
68628         * modules/sys_time: Likewise.
68629         * modules/sysexits: Likewise.
68630         * modules/time: Likewise.
68631         * modules/unistd: Likewise.
68632         * modules/wchar: Likewise.
68633         * modules/wctype: Likewise.
68634         * modules/sys_stat: Change maintainer to "all".
68635         * modules/unistd: Likewise.
68636
68637 2007-06-20  Karl Berry  <karl@gnu.org>
68638
68639         * config/srclist.txt: track www changes in license files.
68640
68641 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
68642
68643         * build-aux/bootstrap: Remove stray dot.
68644         Make sure build_aux settings are honored when linking
68645         gnulib_extra_files.
68646
68647 2007-06-19  Eric Blake  <ebb9@byu.net>
68648
68649         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68650         Allow compilation on cygwin.
68651
68652 2007-06-19  Jim Meyering  <jim@meyering.net>
68653
68654         xreadlink-with-size: Remove module.  No longer used.
68655         Ex-callers now use xreadlink or mreadlink-with-size.
68656         * modules/xreadlink-with-size: Remove module.
68657         * lib/xreadlink-with-size.c: Remove file.
68658         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
68659         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
68660         just before the function definition *is* accurate.
68661
68662         Eliminate one way canonicalize_filename_mode could exit.
68663         * lib/canonicalize.c (canonicalize_filename_mode):
68664         Use mreadlink_with_size, not xreadlink_with_size.
68665
68666 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
68667
68668         Detect porting problems to FreeBSD/arm, which has time_t wider than
68669         long int.  Original problem reported for GNU diff by Xin Li in
68670         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
68671         * modules/getdate (Depends-on): Add intprops, verify.
68672         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
68673         is an integer type no wider than long int.
68674
68675 2007-06-18  Jim Meyering  <jim@meyering.net>
68676
68677         New module: mreadlink-with-size.
68678         * MODULES.html.sh: Add mreadlink-with-size.
68679         * modules/mreadlink-with-size: New module
68680         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
68681         not xreadlink-with-size.
68682         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
68683
68684 2007-06-16  Bruno Haible  <bruno@clisp.org>
68685
68686         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
68687         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
68688         Reported by Gary V. Vaughan <gary@gnu.org>.
68689
68690 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
68691
68692         Revamp lchown so that it lives in unistd.h where it belongs.
68693         * lib/lchown.h: Remove.
68694         * lib/dirchownmod.c: Don't include lib/lchown.h.
68695         * lib/fchownat.c: Likewise.
68696         * lib/openat.c: Likewise.
68697         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
68698         does not follow symlinks.
68699         (EOPNOTSUPP): Define if not defined.
68700         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
68701         is defined to 0.
68702         (lchown): New decl.
68703         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
68704         Do not check for lchown decl.
68705         Set REPLACE_LCHOWN.
68706         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
68707         REPLACE_LCHOWN.
68708         * modules/chown: Make it clear it follows symlinks.
68709         * modules/lchown: Make it clear it doesn't follow symlinks.
68710         (Files): Remove lib/lchown.h
68711         (Depends-on): Add unistd.
68712         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
68713         (Include): Include <unistd.h>, not "lchown.h".
68714         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
68715         REPLACE_LCHOWN.
68716
68717 2007-06-15  Jim Meyering  <jim@meyering.net>
68718
68719         Change license (GPL to LGPL) of fsusage and dependents.
68720         * modules/fsusage (License): Change to LGPL.
68721         * modules/full-read (License): Likewise.
68722         * modules/full-write (License): Likewise.
68723         * modules/safe-read (License): Likewise.
68724         * modules/safe-write (License): Likewise.
68725
68726 2007-06-14  Ben Pfaff  <blp@gnu.org>
68727
68728         Missing part of allocsa -> malloca transition.
68729         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
68730         gl_MALLOCA.
68731
68732 2007-06-12  Bruno Haible  <bruno@clisp.org>
68733
68734         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
68735         to ia64, x86_64, i386.
68736         Reported by Eric Blake.
68737
68738 2007-06-12  Bruno Haible  <bruno@clisp.org>
68739
68740         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
68741         cross-compiling to x86_64.
68742
68743 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
68744
68745         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
68746         glitch reported by Ralf Wildenhues in
68747         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
68748
68749         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
68750         Vin Shelton.
68751
68752 2007-06-11  Bruno Haible  <bruno@clisp.org>
68753
68754         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
68755         replacement string.
68756         Reported by Eric Blake.
68757
68758 2007-06-10  Bruno Haible  <bruno@clisp.org>
68759
68760         Prepare vasnprintf code for use with Unicode strings.
68761         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
68762         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
68763         TYPE_U32_STRING.
68764         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
68765         a_u32_string variants.
68766         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68767         * lib/printf-args.c: Don't include config.h and the specification
68768         header if PRINTF_FETCHARGS is already defined.
68769         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68770         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
68771         TYPE_U16_STRING, TYPE_U32_STRING.
68772         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
68773         u16_directive, u16_directives, u32_directive, u32_directives): New
68774         types.
68775         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
68776         New declarations.
68777         * lib/printf-parse.c: Don't include config.h and the specification
68778         header if PRINTF_PARSE is already defined. Eliminate the set of
68779         parameters for WIDE_CHAR_VERSION; the user of this file must provide
68780         them now. Include c-ctype.h.
68781         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
68782         directive and CHAR_T_ONLY_ASCII.
68783         * lib/vasnprintf.c: Don't include config.h and the specification header
68784         if VASNPRINTF is already defined.
68785         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
68786         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
68787         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
68788         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
68789         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
68790         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
68791         code accordingly.
68792         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
68793         pad_ourselves also in this case, with the 'c' and 's' directives, and
68794         with a different notion of "width".
68795         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
68796
68797 2007-06-10  Bruno Haible  <bruno@clisp.org>
68798
68799         * modules/unistr/u32-mbsnlen: New file.
68800         * lib/unistr/u32-mbsnlen.c: New file.
68801
68802         * modules/unistr/u16-mbsnlen: New file.
68803         * lib/unistr/u16-mbsnlen.c: New file.
68804
68805         * modules/unistr/u8-mbsnlen: New file.
68806         * lib/unistr/u8-mbsnlen.c: New file.
68807
68808         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
68809         declarations.
68810
68811 2007-06-10  Bruno Haible  <bruno@clisp.org>
68812
68813         * lib/string_.h (mbsnlen): New declaration.
68814         * lib/mbsnlen.c: New file.
68815         * m4/mbsnlen.m4: New file.
68816         * modules/mbsnlen: New file.
68817         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
68818         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
68819         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
68820
68821 2007-06-10  Bruno Haible  <bruno@clisp.org>
68822
68823         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
68824
68825 2007-06-10  Bruno Haible  <bruno@clisp.org>
68826
68827         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
68828         * lib/mbuiter.h: Likewise.
68829
68830 2007-06-10  Bruno Haible  <bruno@clisp.org>
68831
68832         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
68833         declaration.
68834
68835 2007-06-10  Karl Berry  <karl@gnu.org>
68836
68837         * config/srclist.txt: remove gettext entries, Bruno prefers
68838         to update individually.
68839
68840 2007-06-10  Bruno Haible  <bruno@clisp.org>
68841
68842         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
68843         'maxlen'. Ensure only length + width bytes are allocated, not
68844         length + 1 + width.
68845
68846 2007-06-09  Bruno Haible  <bruno@clisp.org>
68847
68848         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
68849         (CHAR_T): Remove macro.
68850         (VASNPRINTF): Update.
68851
68852 2007-06-09  Bruno Haible  <bruno@clisp.org>
68853
68854         * MODULES.html.sh (Unicode string functions): Add the new modules.
68855
68856         * modules/uniconv/u32-conv-to-enc: New file.
68857         * lib/uniconv/u32-conv-to-enc.c: New file.
68858         * modules/uniconv/u32-conv-to-enc-tests: New file.
68859         * tests/uniconv/test-u32-conv-to-enc.c: New file.
68860
68861         * modules/uniconv/u16-conv-to-enc: New file.
68862         * lib/uniconv/u16-conv-to-enc.c: New file.
68863         * lib/uniconv/u-conv-to-enc.h: New file.
68864         * modules/uniconv/u16-conv-to-enc-tests: New file.
68865         * tests/uniconv/test-u16-conv-to-enc.c: New file.
68866
68867         * modules/uniconv/u8-conv-to-enc: New file.
68868         * lib/uniconv/u8-conv-to-enc.c: New file.
68869         * modules/uniconv/u8-conv-to-enc-tests: New file.
68870         * tests/uniconv/test-u8-conv-to-enc.c: New file.
68871
68872         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
68873         u32_conv_to_encoding): New declarations.
68874
68875 2007-06-09  Bruno Haible  <bruno@clisp.org>
68876
68877         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
68878
68879 2007-06-09  Bruno Haible  <bruno@clisp.org>
68880
68881         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
68882         * modules/malloca: Renamed from modules/allocsa, updated.
68883         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
68884         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
68885         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
68886         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
68887         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
68888         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
68889         * modules/xmalloca: Renamed from modules/xallocsa, updated.
68890         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
68891         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
68892         * modules/c-strcasestr (Depends-on): Update.
68893         * lib/c-strcasestr.c: Update.
68894         * modules/c-strstr (Depends-on): Update.
68895         * lib/c-strstr.c: Update.
68896         * modules/canonicalize-lgpl (Depends-on): Update.
68897         * lib/canonicalize-lgpl.c: Update.
68898         * modules/clean-temp (Depends-on): Update.
68899         * lib/clean-temp.c: Update.
68900         * modules/csharpcomp (Depends-on): Update.
68901         * lib/csharpcomp.c: Update.
68902         * modules/csharpexec (Depends-on): Update.
68903         * lib/csharpexec.c: Update.
68904         * modules/javacomp (Depends-on): Update.
68905         * lib/javacomp.c: Update.
68906         * modules/javaexec (Depends-on): Update.
68907         * lib/javaexec.c: Update.
68908         * modules/mbscasestr (Depends-on): Update.
68909         * lib/mbscasestr.c: Update.
68910         * modules/mbsstr (Depends-on): Update.
68911         * lib/mbsstr.c: Update.
68912         * modules/setenv (Depends-on): Update.
68913         * lib/setenv.c: Update.
68914         * modules/strcasestr (Depends-on): Update.
68915         * lib/strcasestr.c: Update.
68916         * modules/striconveha (Depends-on): Update.
68917         * lib/striconveha.c: Update.
68918         * modules/relocatable-prog-wrapper (Files): Update.
68919         * lib/relocwrapper.c: Update.
68920         * build-aux/install-reloc: Update.
68921         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
68922
68923 2007-06-08  Bruno Haible  <bruno@clisp.org>
68924
68925         Port to uClibc.
68926         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
68927         * lib/fpurge.c (fpurge): Likewise.
68928         * lib/freading.c (freading): Likewise.
68929         * lib/fseeko.c (rpl_fseeko): Likewise.
68930         * lib/fseterr.c (fseterr): Likewise.
68931         * lib/fwriting.c (fwriting): Likewise.
68932         * tests/test-fflush.c (main): Avoid a failure on uClibc.
68933
68934 2007-06-08  Bruno Haible  <bruno@clisp.org>
68935
68936         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
68937         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
68938         * modules/gettext (Files): Add m4/intlmacosx.m4.
68939
68940 2007-06-07  Bruno Haible  <bruno@clisp.org>
68941
68942         * modules/localename-tests: New file.
68943         * tests/test-localename.c: New file.
68944
68945         New module 'localename'.
68946         * lib/localename.h: New file.
68947         * lib/localename.c: New file, from GNU gettext.
68948         * m4/localename.m4: New file.
68949         * modules/localename: New file.
68950
68951 2007-06-07  Bruno Haible  <bruno@clisp.org>
68952
68953         Work around the lack of <wchar.h> on some builds of uClibc.
68954         * doc/headers/wchar.texi: Update.
68955         * lib/wchar_.h: Include <wchar.h> only if it exists.
68956         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
68957         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
68958         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
68959         doesn't exist.
68960         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
68961         * modules/mbfile (Depends-on): Add wchar.
68962         * modules/mbiter (Depends-on): Likewise.
68963         * modules/mbuiter (Depends-on): Likewise.
68964         Reported by Simon Josefsson.
68965
68966 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
68967
68968         Work around problem reported by Steven M. Schweda in
68969         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
68970         Tru64 5.1B with the Compaq compiler environment installed declares
68971         an 'isblank' function but does not define it in the C library.
68972         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
68973         * lib/regex_internal.h (isblank): Likewise.
68974         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
68975         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
68976
68977 2007-06-05  Bruno Haible  <bruno@clisp.org>
68978
68979         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
68980         ia64.
68981         * modules/printf-safe: New file.
68982         * modules/fprintf-posix (Depends-on): Add printf-safe.
68983         * modules/printf-posix (Depends-on): Likewise.
68984         * modules/snprintf-posix (Depends-on): Likewise.
68985         * modules/sprintf-posix (Depends-on): Likewise.
68986         * modules/vasnprintf-posix (Depends-on): Likewise.
68987         * modules/vasprintf-posix (Depends-on): Likewise.
68988         * modules/vfprintf-posix (Depends-on): Likewise.
68989         * modules/vprintf-posix (Depends-on): Likewise.
68990         * modules/vsnprintf-posix (Depends-on): Likewise.
68991         * modules/vsprintf-posix (Depends-on): Likewise.
68992         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
68993         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
68994         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
68995         "no" on i386, x86_64, ia64.
68996         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
68997         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68998         on i386, x86_64, ia64.
68999         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
69000         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69001         on i386, x86_64, ia64.
69002         * tests/test-vasnprintf-posix.c: Include float.h.
69003         (LDBL80_WORDS): New macro.
69004         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69005         on i386, x86_64, ia64.
69006         * tests/test-vasprintf-posix.c: Include float.h.
69007         (LDBL80_WORDS): New macro.
69008         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69009         on i386, x86_64, ia64.
69010         * tests/test-snprintf-posix.c: Include float.h.
69011         * tests/test-sprintf-posix.c: Likewise.
69012         * tests/test-vsnprintf-posix.c: Likewise.
69013         * tests/test-vsprintf-posix.c: Likewise.
69014
69015 2007-06-05  Bruno Haible  <bruno@clisp.org>
69016
69017         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
69018         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
69019         non-IEEE numbers on i386, x86_64, ia64.
69020         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
69021         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
69022         * tests/test-isnanl.h: Include float.h.
69023         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
69024
69025 2007-06-05  Bruno Haible  <bruno@clisp.org>
69026
69027         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
69028         also the %a / %A. Handle the %a / %A code before this extra handling.
69029
69030 2007-06-05  Bruno Haible  <bruno@clisp.org>
69031
69032         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
69033         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
69034
69035 2007-06-05  Bruno Haible  <bruno@clisp.org>
69036
69037         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
69038         typo in variable name.
69039
69040 2007-06-05  Eric Blake  <ebb9@byu.net>
69041
69042         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
69043         Reported by Simon Josefsson.
69044
69045 2007-06-04  Bruno Haible  <bruno@clisp.org>
69046
69047         Avoid test failures on some PowerPC platforms.
69048         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
69049         Define differently for PowerPC.
69050         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
69051         Reported by Gary V. Vaughan <gary@gnu.org>.
69052
69053 2007-06-02  Bruno Haible  <bruno@clisp.org>
69054
69055         Fix test-stdint failure on FreeBSD/ia64.
69056         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
69057         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
69058         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
69059         * doc/headers/stdint.texi: Update.
69060
69061 2007-06-01  Bruno Haible  <bruno@clisp.org>
69062
69063         * tests/test-binary-io.c (main): Pass a third argument to open().
69064         Reported by Gary V. Vaughan <gary@gnu.org>.
69065
69066 2007-06-01  Bruno Haible  <bruno@clisp.org>
69067
69068         * doc/functions/frexpl.texi: Update for mingw.
69069
69070 2007-06-01  Bruno Haible  <bruno@clisp.org>
69071
69072         * tests/test-lseek.c (main): Disable test of errno for invalid third
69073         argument.
69074         * doc/functions/lseek.texi: Update.
69075         Reported by Gary V. Vaughan <gary@gnu.org>.
69076
69077 2007-05-28  Bruno Haible  <bruno@clisp.org>
69078
69079         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
69080
69081 2007-05-31  Eric Blake  <ebb9@byu.net>
69082
69083         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
69084         cross compiling.
69085
69086 2007-05-30  Eric Blake  <ebb9@byu.net>
69087         and Bruno Haible  <bruno@clisp.org>
69088
69089         Work around mingw test failures exposed by m4-1.4.9b.
69090         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
69091         * tests/test-unistd.c: Disable uid_t and git_t tests for the
69092         moment.
69093
69094 2007-05-30  Bruno Haible  <bruno@clisp.org>
69095
69096         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
69097         assuming that they are closed. Needed on HP-UX 11.
69098
69099 2007-05-29  Bruno Haible  <bruno@clisp.org>
69100
69101         Fix a problem with #include_next.
69102         * lib/dirent_.h: Split the double-inclusion guard.
69103         * lib/fcntl_.h: Likewise.
69104         * lib/float_.h: Likewise.
69105         * lib/iconv_.h: Likewise.
69106         * lib/inttypes_.h: Likewise.
69107         * lib/locale_.h: Likewise.
69108         * lib/math_.h: Likewise.
69109         * lib/netinet_in_.h: Likewise.
69110         * lib/search_.h: Likewise.
69111         * lib/signal_.h: Likewise.
69112         * lib/stdint_.h: Likewise.
69113         * lib/stdio_.h: Likewise.
69114         * lib/stdlib_.h: Likewise.
69115         * lib/string_.h: Likewise.
69116         * lib/sys_select_.h: Likewise.
69117         * lib/sys_socket_.h: Likewise.
69118         * lib/sys_stat_.h: Likewise.
69119         * lib/sys_time_.h: Likewise.
69120         * lib/sysexits_.h: Likewise.
69121         * lib/time_.h: Likewise.
69122         * lib/unistd_.h: Likewise.
69123         * lib/wchar_.h: Likewise.
69124         * lib/wctype_.h: Likewise.
69125
69126 2007-05-29  Bruno Haible  <bruno@clisp.org>
69127
69128         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
69129         for the moment.
69130
69131 2007-05-29  Bruno Haible  <bruno@clisp.org>
69132
69133         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
69134         invocation.
69135         Reported by Eric Blake.
69136
69137 2007-05-29  Bruno Haible  <bruno@clisp.org>
69138
69139         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
69140         compiling case.
69141
69142 2007-05-29  Eric Blake  <ebb9@byu.net>
69143             Bruno Haible  <bruno@clisp.org>
69144
69145         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
69146         cross compiles.
69147
69148 2007-05-28  Eric Blake  <ebb9@byu.net>
69149
69150         * modules/closein-tests (test_closein_LDADD): Support test on
69151         cygwin with libtool.
69152
69153 2007-05-28  Bruno Haible  <bruno@clisp.org>
69154
69155         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
69156         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
69157         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
69158         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
69159         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
69160         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
69161         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
69162         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
69163         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
69164
69165 2007-05-28  Eric Blake  <ebb9@byu.net>
69166
69167         Unconditionally include <config.h> in unit tests.
69168         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
69169         * tests/test-allocsa.c, tests/test-arcfour.c,
69170         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
69171         tests/test-array_list.c, tests/test-array_oset.c,
69172         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
69173         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
69174         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
69175         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
69176         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
69177         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
69178         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
69179         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
69180         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
69181         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
69182         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
69183         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
69184         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
69185         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
69186         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
69187         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
69188         test-md5.c, test-memmem.c, test-printf-posix.c,
69189         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
69190         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
69191         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
69192         test-strcasestr.c, test-striconv.c, test-striconveh.c,
69193         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
69194         test-vasnprintf-posix2.c, test-vasnprintf.c,
69195         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
69196         test-vfprintf-posix.c, test-vprintf-posix.c,
69197         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
69198         test-xvasprintf.c: Likewise.
69199
69200 2007-05-28  Bruno Haible  <bruno@clisp.org>
69201
69202         * gnulib-tool (func_import): Remember the --with-tests command-line
69203         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
69204         Reported by Eric Blake.
69205
69206 2007-05-28  Bruno Haible  <bruno@clisp.org>
69207
69208         * modules/ftell-tests: New file.
69209         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
69210         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
69211
69212         * lib/ftell.c: New file.
69213         * modules/ftell: New file.
69214         * m4/ftell.m4: New file.
69215         * doc/functions/ftell.texi: Update.
69216         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
69217         REPLACE_FTELL.
69218         * lib/stdio_.h (rpl_ftell): New declaration.
69219         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
69220         REPLACE_FTELL.
69221
69222 2007-05-28  Eric Blake  <ebb9@byu.net>
69223
69224         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
69225
69226 2007-05-28  Bruno Haible  <bruno@clisp.org>
69227
69228         * modules/fseek-tests: New file.
69229         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
69230         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
69231
69232         * lib/fseek.c: New file.
69233         * modules/fseek: New file.
69234         * m4/fseek.m4: New file.
69235         * doc/functions/fseek.texi: Update.
69236         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
69237         REPLACE_FSEEK.
69238         * lib/stdio_.h (rpl_fseek): New declaration.
69239         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
69240         REPLACE_FSEEK.
69241
69242 2007-05-28  Bruno Haible  <bruno@clisp.org>
69243
69244         * lib/stdio_.h (fflush): More comments.
69245
69246 2007-05-28  Bruno Haible  <bruno@clisp.org>
69247
69248         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
69249         runtime test.
69250
69251 2007-05-28  Eric Blake  <ebb9@byu.net>
69252
69253         Improve lseek module.
69254         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
69255         * lib/unistd_.h (lseek): Scale back link warning message.
69256         * tests/test-lseek.c: Beef up test.
69257         * tests/test-lseek.sh: Exercise more facets of lseek.
69258         Reported by Bruno Haible.
69259
69260 2007-05-28  Bruno Haible  <bruno@clisp.org>
69261
69262         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
69263         to define.
69264
69265 2007-05-27  Bruno Haible  <bruno@clisp.org>
69266
69267         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
69268
69269 2007-05-27  Bruno Haible  <bruno@clisp.org>
69270
69271         * modules/openmp: New file.
69272         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
69273         Noah Misch.
69274
69275 2007-05-26  Bruno Haible  <bruno@clisp.org>
69276
69277         * modules/chdir-long (Depends-on): Add fchdir.
69278         * modules/chdir-safer (Depends-on): Likewise.
69279         * modules/fts (Depends-on): Likewise.
69280         * modules/fts-lgpl (Depends-on): Likewise.
69281         * modules/openat (Depends-on): Likewise.
69282         * modules/savewd (Depends-on): Likewise.
69283
69284 2007-05-24  Eric Blake  <ebb9@byu.net>
69285
69286         Fix lseek on mingw.
69287         * modules/lseek: New module.
69288         * m4/lseek.m4: New file.
69289         * lib/lseek.c: New file.
69290         * modules/lseek-tests: New file.
69291         * tests/test-lseek.c: New file.
69292         * tests/test-lseek.sh: New file.
69293         * MODULES.html.sh: Document lseek module.
69294         * modules/fflush (Depends-on): Add lseek, fseeko.
69295         * modules/fseeko (Depends-on): Likewise.
69296         * modules/ftello (Depends-on): Likewise.
69297         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
69298         broken.
69299         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
69300         broken.
69301         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
69302         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
69303         * lib/ftello.c (rpl_ftello): Likewise.
69304         * tests/test-fseeko.c (main): Test this.
69305         * tests/test-fseeko.sh: Likewise.
69306         * tests/test-ftello.c (main): Likewise.
69307         * tests/test-ftello.sh: Likewise.
69308         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
69309         implies replacing fseek.
69310         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
69311         HAVE_FTELLO.
69312         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
69313         * modules/unistd (Makefile.am): Likewise.
69314         * lib/unistd_.h (lseek): Declare a replacement.
69315         * doc/functions/lseek.texi (lseek): Document this fix.
69316         * doc/functions/fseek.texi (fseek): Likewise.
69317         * doc/functions/ftell.texi (ftell): Likewise.
69318
69319 2007-05-24  Bruno Haible  <bruno@clisp.org>
69320
69321         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
69322         in the printed representation of a NaN.
69323         * tests/test-vasprintf-posix.c (test_function): Likewise.
69324         * tests/test-snprintf-posix.h (test_function): Likewise.
69325         * tests/test-sprintf-posix.h (test_function): Likewise.
69326         Reported by Eric Blake.
69327
69328 2007-05-23  Eric Blake  <ebb9@byu.net>
69329
69330         Fix fseeko/ftello on cygwin 1.5.24.
69331         * doc/functions/fseeko.texi (fseeko): Document the fix.
69332         * doc/functions/ftello.texi (ftello): Document the fix.
69333         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
69334         * doc/functions/stdout.text (stdout): New file.
69335         * doc/functions/stderr.text (stderr): New file.
69336         * doc/gnulib.texi (Function Substitutes): Use new files.
69337         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
69338         prior to 1.7.0.
69339         * tests/test-ftello.c (main): Likewise for ftello.
69340         * tests/test-fseeko.sh: New file.
69341         * tests/test-ftello.sh: New file.
69342         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
69343         with seekable stdin.
69344         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
69345         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
69346         (gl_REPLACE_FSEEKO): New macro.
69347         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
69348         * modules/fseeko (Files): Distribute fseeko.c.
69349         * modules/ftello (Files): Distribute ftello.c.
69350         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
69351         mode.
69352         * lib/ftello.c (rpl_ftello): New file.
69353         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
69354         fseeko, ftello.
69355         (gl_STDIN_LARGE_OFFSET): New macro.
69356         * modules/stdio (Makefile.am): Perform the replacement.
69357         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
69358
69359 2007-05-23  Bruno Haible  <bruno@clisp.org>
69360
69361         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
69362         GNULIB_POSIXCHECK is defined.
69363
69364 2007-05-21  Bruno Haible  <bruno@clisp.org>
69365
69366         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
69367         Check also the output for NaN arguments. When cross-compiling, guess
69368         no on IRIX.
69369         * lib/vasnprintf.c: Update comments.
69370         * tests/test-vasnprintf-posix.c (strisnan): New function.
69371         (test_function): Use it.
69372         * tests/test-vasprintf-posix.c (strisnan): New function.
69373         (test_function): Use it.
69374         * tests/test-snprintf-posix.h (strisnan): New function.
69375         (test_function): Use it.
69376         * tests/test-sprintf-posix.h (strisnan): New function.
69377         (test_function): Use it.
69378         Reported by Eric Blake.
69379
69380 2007-05-20  Bruno Haible  <bruno@clisp.org>
69381
69382         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
69383         numbers that fails on BeOS.
69384         * doc/functions/frexpl.texi: Update.
69385
69386 2007-05-20  Jim Meyering  <jim@meyering.net>
69387
69388         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
69389         forced upon us by glibc-2.6.
69390
69391 2007-05-20  Bruno Haible  <bruno@clisp.org>
69392
69393         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
69394         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
69395         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
69396         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
69397         NEED_PRINTF_INFINITE.
69398         (is_infinitel): New function.
69399         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
69400         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
69401         gl_PREREQ_VASNPRINTF_INFINITE.
69402         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
69403         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69404         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
69405         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
69406         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
69407         gl_PREREQ_VASNPRINTF_INFINITE.
69408         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69409         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69410         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69411         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69412         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69413         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69414         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69415         * doc/functions/fprintf.texi: Update.
69416         * doc/functions/printf.texi: Update.
69417         * doc/functions/snprintf.texi: Update.
69418         * doc/functions/sprintf.texi: Update.
69419         * doc/functions/vfprintf.texi: Update.
69420         * doc/functions/vprintf.texi: Update.
69421         * doc/functions/vsnprintf.texi: Update.
69422         * doc/functions/vsprintf.texi: Update.
69423
69424 2007-05-20  Bruno Haible  <bruno@clisp.org>
69425
69426         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
69427         was not found in libc.
69428         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
69429
69430 2007-05-20  Bruno Haible  <bruno@clisp.org>
69431
69432         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69433         printed as "-nan" instead of "nan".
69434         * tests/test-vasprintf-posix.c (test_function): Likewise.
69435         * tests/test-snprintf-posix.h (test_function): Likewise.
69436         * tests/test-sprintf-posix.h (test_function): Likewise.
69437         Needed for HP-UX 11.
69438
69439 2007-05-20  Jim Meyering  <jim@meyering.net>
69440
69441         Fix buggy test for the fchownat-deref bug.
69442         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
69443         symlink required for the run-test.  Without it, this test would
69444         always declare that fchownat doesn't work, and client code would
69445         unnecessarily use the replacement function with fixed libc.
69446         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
69447         Reported by Greg Schafer.
69448
69449 2007-05-19  Bruno Haible  <bruno@clisp.org>
69450
69451         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
69452         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
69453         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
69454         Needed for IRIX 6.5 and Solaris 2.5.1.
69455
69456 2007-05-19  Bruno Haible  <bruno@clisp.org>
69457
69458         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
69459         (test_function): Skip tests involving -0.0 on platforms where
69460         -0.0 = 0.0.
69461         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
69462         (test_function): Skip tests involving -0.0 on platforms where
69463         -0.0 = 0.0.
69464         * tests/test-snprintf-posix.h (have_minus_zero): New function.
69465         (test_function): Skip tests involving -0.0 on platforms where
69466         -0.0 = 0.0.
69467         * tests/test-sprintf-posix.h (have_minus_zero): New function.
69468         (test_function): Skip tests involving -0.0 on platforms where
69469         -0.0 = 0.0.
69470         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
69471         tests.
69472         * tests/test-printf-posix.h (test_function): Likewise.
69473         * tests/test-printf-posix.output: Remove all -0.0 related results.
69474         Needed for IRIX 6.5.
69475
69476 2007-05-19  Bruno Haible  <bruno@clisp.org>
69477
69478         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69479         printed as "nan0x7fffffff" instead of "nan".
69480         * tests/test-vasprintf-posix.c (test_function): Likewise.
69481         * tests/test-snprintf-posix.h (test_function): Likewise.
69482         * tests/test-sprintf-posix.h (test_function): Likewise.
69483         * tests/test-fprintf-posix.h (NaN): Remove macro.
69484         (test_function): Remove all NaN related tests.
69485         * tests/test-printf-posix.h (NaN): Remove macro.
69486         (test_function): Remove all NaN related tests.
69487         * tests/test-printf-posix.output: Remove all NaN related results.
69488         Needed for IRIX 6.5.
69489
69490 2007-05-19  Bruno Haible  <bruno@clisp.org>
69491
69492         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
69493         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
69494
69495 2007-05-19  Bruno Haible  <bruno@clisp.org>
69496
69497         * lib/float_.h: New file.
69498         * m4/float_h.m4: New file.
69499         * modules/float: New file.
69500         * modules/isnanl (Dependencies): Add float.
69501         * modules/isnanl-nolibm (Dependencies): Likewise.
69502         * modules/mathl (Dependencies): Likewise.
69503         * modules/printf-frexpl (Dependencies): Likewise.
69504         * modules/signbit (Dependencies): Likewise.
69505         * modules/vasnprintf (Dependencies): Likewise.
69506         * doc/headers/float.texi: Update.
69507
69508 2007-05-19  Jim Meyering  <jim@meyering.net>
69509
69510         * lib/utimens.c (gl_futimens): Rename from futimens,
69511         now that glibc-2.6 declares futimens.
69512         * lib/utimens.h: Likewise.
69513
69514 2007-05-19  Bruno Haible  <bruno@clisp.org>
69515
69516         Avoid test failures on mingw.
69517         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
69518         * tests/test-printf-posix.sh: Likewise.
69519         * tests/test-vfprintf-posix.sh: Likewise.
69520         * tests/test-vprintf-posix.sh: Likewise.
69521
69522 2007-05-19  Bruno Haible  <bruno@clisp.org>
69523
69524         Fix *printf result for NaN, Inf, -0.0 on mingw.
69525         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
69526         * lib/vasnprintf.c: Include math.h and isnan.h.
69527         (is_infinite_or_zero): New function.
69528         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
69529         values in the %f, %F, %e, %E, %g, %G directives.
69530         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
69531         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69532         gl_PRINTF_INFINITE and test its result. Invoke
69533         gl_PREREQ_VASNPRINTF_INFINITE.
69534         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69535         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69536         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69537         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69538         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69539         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69540         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69541         * doc/functions/fprintf.texi: Update.
69542         * doc/functions/printf.texi: Update.
69543         * doc/functions/snprintf.texi: Update.
69544         * doc/functions/sprintf.texi: Update.
69545         * doc/functions/vfprintf.texi: Update.
69546         * doc/functions/vprintf.texi: Update.
69547         * doc/functions/vsnprintf.texi: Update.
69548         * doc/functions/vsprintf.texi: Update.
69549
69550 2007-05-19  Bruno Haible  <bruno@clisp.org>
69551
69552         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
69553         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
69554         Instead of multiplying with 10^k, set extra_zeroes to k.
69555         (scale10_round_long_double): Remove function.
69556
69557 2007-05-18  Bruno Haible  <bruno@clisp.org>
69558
69559         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
69560         introduced on 2007-05-06.
69561
69562 2007-05-18  Bruno Haible  <bruno@clisp.org>
69563
69564         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
69565         %g directives.
69566         * tests/test-vasprintf-posix.c (test_function): Likewise.
69567         * tests/test-snprintf-posix.h (test_function): Likewise.
69568         * tests/test-sprintf-posix.h (test_function): Likewise.
69569
69570 2007-05-18  Bruno Haible  <bruno@clisp.org>
69571
69572         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
69573         (strmatch): New function.
69574         (test_function): Test the %f directive on numbers of various exponents.
69575         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
69576         (strmatch): New function.
69577         (test_function): Test the %f directive on numbers of various exponents.
69578         * tests/test-snprintf-posix.h (strmatch): New function.
69579         (test_function): Test the %f directive on numbers of various exponents.
69580         * tests/test-sprintf-posix.h (strmatch): New function.
69581         (test_function): Test the %f directive on numbers of various exponents.
69582         * tests/test-snprintf-posix.c (SIZEOF): New macro.
69583         * tests/test-sprintf-posix.c (SIZEOF): New macro.
69584         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
69585         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
69586
69587 2007-05-18  Bruno Haible  <bruno@clisp.org>
69588
69589         Add support for 'long double' number output.
69590         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
69591         * lib/vasnprintf.c: Include math.h and float+.h.
69592         (mp_limb_t): New type.
69593         (GMP_LIMB_BITS): New macro.
69594         (mp_twolimb_t): New type.
69595         (GMP_TWOLIMB_BITS): New macro.
69596         (mpn_t): New type.
69597         (multiply, divide, convert_to_decimal, decode_long_double,
69598         scale10_round_long_double, scale10_round_decimal_long_double,
69599         floorlog10l): New functions.
69600         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
69601         for the %f, %F, %e, %E, %g, %G directives.
69602         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
69603         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69604         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
69605         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
69606         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69607         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69608         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69609         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69610         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69611         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69612         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69613         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
69614         * modules/snprintf-posix (Depends-on): Likewise.
69615         * modules/sprintf-posix (Depends-on): Likewise.
69616         * modules/vasnprintf-posix (Depends-on): Likewise.
69617         * modules/vasprintf-posix (Depends-on): Likewise.
69618         * modules/vfprintf-posix (Depends-on): Likewise.
69619         * modules/vsnprintf-posix (Depends-on): Likewise.
69620         * modules/vsprintf-posix (Depends-on): Likewise.
69621         * modules/vasnprintf (Files): Add lib/float+.h.
69622         * doc/functions/fprintf.texi: Update.
69623         * doc/functions/printf.texi: Update.
69624         * doc/functions/snprintf.texi: Update.
69625         * doc/functions/sprintf.texi: Update.
69626         * doc/functions/vfprintf.texi: Update.
69627         * doc/functions/vprintf.texi: Update.
69628         * doc/functions/vsnprintf.texi: Update.
69629         * doc/functions/vsprintf.texi: Update.
69630
69631 2007-05-18  Bruno Haible  <bruno@clisp.org>
69632
69633         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
69634
69635 2007-05-18  Bruno Haible  <bruno@clisp.org>
69636
69637         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
69638         for printing 64-bit integers. Needed for mingw.
69639
69640 2007-05-18  Bruno Haible  <bruno@clisp.org>
69641
69642         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
69643         gl_FUNC_FREXPL_WORKS.
69644         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
69645
69646 2007-05-18  Bruno Haible  <bruno@clisp.org>
69647
69648         * modules/frexpl-nolibm-tests: New file.
69649
69650         * modules/frexpl-nolibm: New file.
69651         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
69652
69653 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69654
69655         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
69656         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69657         GCC 4.2, which otherwise issues a lot of warnings.
69658         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
69659         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
69660         Likewise.
69661         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
69662         * modules/iconv_open (iconv.h): Likewise.
69663         * modules/locale (locale.h): Likewise.
69664         * modules/netinet_in (netinet/in.h): Likewise.
69665         * modules/sys_select (sys_select.h): Likewise.
69666         * modules/sys_socket (sys/socket.h): Likewise.
69667         * modules/sys_stat (sys/stat.h): Likewise.
69668         * modules/sysexits (sysexits.h): Likewise.
69669         * modules/unistd (unistd.h): Likewise.
69670
69671 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69672
69673         * modules/closein-tests (Makefile.am): Distribute
69674         `test-closein.sh'.
69675
69676 2007-05-17  Bruno Haible  <bruno@clisp.org>
69677
69678         * tests/test-printf-posix.output: Renamed from
69679         tests/test-fprintf-posix.out.
69680         * modules/fprintf-posix-tests: Update.
69681         * modules/printf-posix-tests: Update.
69682         * modules/vfprintf-posix-tests: Update.
69683         * modules/vprintf-posix-tests: Update.
69684         * tests/test-fprintf-posix.sh: Update.
69685         * tests/test-printf-posix.sh: Update.
69686         * tests/test-vfprintf-posix.sh: Update.
69687         * tests/test-vprintf-posix.sh: Update.
69688         Reported by Ralf Wildenhues.
69689
69690 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69691
69692         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
69693         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69694         GCC 4.2, which otherwise issues a lot of warnings.
69695         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
69696         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
69697         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
69698         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
69699         it should no longer be needed.
69700         * lib/string_.h: Likewise.
69701         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
69702         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
69703         * modules/inttypes (inttypes.h): Likewise.
69704         * modules/math (math.h): Likewise.
69705         * modules/search (search.h): Likewise.
69706         * modules/signal (signal.h): Likewise.
69707         * modules/stdint (stdint.h): Likewise.
69708         * modules/stdio (stdio.h): Likewise.
69709         * modules/stdlib (stdlib.h): Likewise.
69710         * modules/string (string.h): Likewise.
69711         * modules/sys_time (sys/time.h): Likewise.
69712         * modules/time (time.h): Likewise.
69713         * modules/wchar (wchar.h): Likewise.
69714         * modules/wctype (wtype.h): Likewise.
69715
69716 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
69717
69718         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
69719
69720 2007-05-13  Bruno Haible  <bruno@clisp.org>
69721
69722         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
69723         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69724         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
69725         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69726         (gl_PREREQ_STRTOK_R): Don't require it here.
69727
69728 2007-05-13  Bruno Haible  <bruno@clisp.org>
69729
69730         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
69731         when used in C++ mode.
69732
69733 2007-05-12  Bruno Haible  <bruno@clisp.org>
69734
69735         * lib/linebuffer.h: Tweak doc.
69736         * lib/linebuffer.c: Likewise.
69737
69738 2007-05-12  James Youngman  <jay@gnu.org>
69739
69740         * lib/linebuffer.c (readlinebuffer_delim): New function,
69741         like readlinebuffer, but use a caller-specified delimiter.
69742         (readlinebuffer): Just call readlinebuffer_delim with '\n'
69743         as the delimiter.
69744         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
69745
69746 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
69747
69748         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
69749         * modules/openat (Files): Remove openat-die.c.
69750         (Depends-on): Add openat-die.
69751         * modules/openat-die: New module.
69752
69753 2007-05-06  Bruno Haible  <bruno@clisp.org>
69754
69755         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
69756         Update with info about Cygwin.
69757         * doc/functions/fprintf.texi: Update.
69758         * doc/functions/printf.texi: Update.
69759         * doc/functions/snprintf.texi: Update.
69760         * doc/functions/sprintf.texi: Update.
69761         * doc/functions/vfprintf.texi: Update.
69762         * doc/functions/vprintf.texi: Update.
69763         * doc/functions/vsnprintf.texi: Update.
69764         * doc/functions/vsprintf.texi: Update.
69765         Reported by Eric Blake.
69766
69767 2007-05-06  Bruno Haible  <bruno@clisp.org>
69768
69769         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
69770         padding ourselves for the floating-point directives.
69771         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
69772         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
69773         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69774         gl_PRINTF_FLAG_ZERO and test its result. Invoke
69775         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
69776         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69777         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69778         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69779         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69780         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69781         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69782         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69783         * tests/test-snprintf-posix.h (test_function): Also check the width
69784         and some flags in the %f directive.
69785         * tests/test-sprintf-posix.h (test_function): Likewise.
69786         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69787         * tests/test-vasprintf-posix.c (test_function): Likewise.
69788         * doc/functions/fprintf.texi: Update.
69789         * doc/functions/printf.texi: Update.
69790         * doc/functions/snprintf.texi: Update.
69791         * doc/functions/sprintf.texi: Update.
69792         * doc/functions/vfprintf.texi: Update.
69793         * doc/functions/vprintf.texi: Update.
69794         * doc/functions/vsnprintf.texi: Update.
69795         * doc/functions/vsprintf.texi: Update.
69796
69797 2007-05-06  Bruno Haible  <bruno@clisp.org>
69798
69799         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
69800         pass the ' flag character to sprintf or snprintf.
69801         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
69802         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
69803         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69804         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
69805         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
69806         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69807         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69808         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69809         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69810         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69811         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69812         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69813         * tests/test-snprintf-posix.h (test_function): Also check the grouping
69814         flag.
69815         * tests/test-sprintf-posix.h (test_function): Likewise.
69816         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69817         * tests/test-vasprintf-posix.c (test_function): Likewise.
69818         * doc/functions/fprintf.texi: Update.
69819         * doc/functions/printf.texi: Update.
69820         * doc/functions/snprintf.texi: Update.
69821         * doc/functions/sprintf.texi: Update.
69822         * doc/functions/vfprintf.texi: Update.
69823         * doc/functions/vprintf.texi: Update.
69824         * doc/functions/vsnprintf.texi: Update.
69825         * doc/functions/vsprintf.texi: Update.
69826
69827 2007-05-01  Bruno Haible  <bruno@clisp.org>
69828
69829         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
69830
69831 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
69832
69833         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
69834         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
69835
69836 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69837
69838         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
69839         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
69840         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
69841
69842 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
69843
69844         * lib/argp-help.c (struct hol_entry): New member `ord'.
69845         (HOL_ENTRY_PTRCMP): Use ord for comparison
69846         (hol_sort): Initialize ord.
69847
69848 2007-05-01  Bruno Haible  <bruno@clisp.org>
69849
69850         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
69851         Reported by Eric Blake.
69852         * doc/gnulib.texi (Function Substitutes): Update.
69853
69854 2007-05-01  Bruno Haible  <bruno@clisp.org>
69855
69856         * doc/functions.texi: Remove file, now redundant through
69857         doc/functions/*.texi.
69858
69859 2007-05-01  Bruno Haible  <bruno@clisp.org>
69860
69861         * modules/argp (Depends-on): Add sleep.
69862
69863 2007-05-01  Bruno Haible  <bruno@clisp.org>
69864
69865         * modules/sleep-tests: New file.
69866         * tests/test-sleep.c: New file.
69867
69868         * modules/sleep: New file.
69869         * lib/sleep.c: New file.
69870         * m4/sleep.m4: New file.
69871         * lib/unistd_.h (sleep): New declaration.
69872         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
69873         HAVE_SLEEP.
69874         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
69875         * doc/functions/sleep.texi: Document the sleep module.
69876
69877 2007-05-01  Bruno Haible  <bruno@clisp.org>
69878
69879         * lib/sigprocmask.h: Remove file.
69880         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
69881         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
69882         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
69883         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
69884         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
69885         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
69886         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
69887         HAVE_SIGSET_T as a shell variable.
69888         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
69889         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
69890         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
69891         (Depends-on): Add signal. Remove verify.
69892         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
69893         (Include): Mention <signal.h> instead of sigprocmask.h.
69894         * NEWS: Mention the change.
69895         * lib/fatal-signal.c: Don't include sigprocmask.h.
69896
69897 2007-05-01  Bruno Haible  <bruno@clisp.org>
69898
69899         * modules/signal: New file.
69900         * lib/signal_.h: New file.
69901         * m4/signal_h.m4: New file.
69902
69903 2007-05-01  Bruno Haible  <bruno@clisp.org>
69904
69905         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
69906         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
69907         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
69908         HAVE_WCTYPE_CTMP_BUG into wctype.h.
69909
69910 2007-05-01  Bruno Haible  <bruno@clisp.org>
69911
69912         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
69913         configure time.
69914         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
69915         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
69916         * modules/sys_stat (Makefile.am): Substitute their values into
69917         sys/stat.h.
69918
69919 2007-05-01  Bruno Haible  <bruno@clisp.org>
69920
69921         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
69922         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
69923         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
69924
69925 2007-05-01  Bruno Haible  <bruno@clisp.org>
69926
69927         * doc/header/assert.texi: Undo last change: don't mention the gnulib
69928         'assert' module here.
69929
69930 2007-05-01  Bruno Haible  <bruno@clisp.org>
69931
69932         * doc/functions/*.texi: New files.
69933         * doc/functions/google-ranking.txt: New file.
69934         * doc/gnulib.texi (Function Substitutes): New chapter.
69935         (ctime, inet_ntoa): Remove sections.
69936         * doc/ctime.texi: Remove file.
69937         * doc/inet_ntoa.texi: Remove file.
69938         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
69939         dependencies.
69940         (%.info): New rule, specifying a --reference-limit.
69941
69942 2007-05-01  Bruno Haible  <bruno@clisp.org>
69943
69944         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
69945
69946 2007-05-01  Bruno Haible  <bruno@clisp.org>
69947
69948         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
69949         the portability of 'mkdir' to mingw systems.
69950
69951 2007-05-01  Bruno Haible  <bruno@clisp.org>
69952
69953         * doc/headers/google-ranking.txt: New file.
69954
69955 2007-04-30  Eric Blake  <ebb9@byu.net>
69956
69957         Prefer fseeko to fseek.
69958         * modules/getpass (Depends-on): Add fseeko.
69959         * lib/getpass.c (getpass): Use fseeko, not fseek.
69960
69961 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
69962
69963         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
69964         assumes the sorting is stable, while most qsort implementations
69965         are not.  Use argument addresses to ensure they never compare as
69966         equal.
69967
69968         * tests/test-argp-2.sh (usage-indent test): Fix output
69969         (func_compare): Restore diff options
69970         * tests/test-argp.c: Restore #include "progname.h"
69971
69972 2007-04-29  Bruno Haible  <bruno@clisp.org>
69973
69974         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
69975         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69976         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
69977         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69978         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
69979         (configure.ac): Define CHECK_SNPRINTF_POSIX.
69980         (TESTS, check_PROGRAMS): Add test-snprintf.
69981         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
69982         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
69983         (TESTS, check_PROGRAMS): Add test-vsnprintf.
69984         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
69985         assertions that fail on HP-UX, OSF/1, or IRIX.
69986         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
69987
69988 2007-04-29  Bruno Haible  <bruno@clisp.org>
69989
69990         * MODULES.html.sh (posix_functions): Remove 'contents'.
69991
69992 2007-04-29  Karl Berry  <karl@gnu.org>
69993
69994         * config/srclist.txt (gendocs_template_min): new entry.
69995
69996 2007-04-29  Bruno Haible  <bruno@clisp.org>
69997
69998         Work around fpurge bug on BSD systems.
69999         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
70000         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
70001         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
70002         fpurge to rpl_fpurge if the system already has this function.
70003         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
70004         the case where the system already has this function. Correct invariants
70005         on BSD systems.
70006         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
70007         BSD systems.
70008
70009 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
70010
70011         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
70012         proposed by Sven Verdoolaege.
70013
70014         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
70015         options.
70016         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
70017         (usage and help tests): Update
70018
70019 2007-04-29  Bruno Haible  <bruno@clisp.org>
70020
70021         * tests/test-fflush.c (main): Use a file of size 17, not 10.
70022         Print more information in case of failure. Disable a test on BeOS.
70023
70024 2007-04-29  Bruno Haible  <bruno@clisp.org>
70025
70026         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
70027         This helps debugging on systems on which no gdb is available.
70028
70029 2007-04-29  Bruno Haible  <bruno@clisp.org>
70030
70031         * lib/freading.h: Improve comments.
70032         * lib/fwriting.h: Likewise.
70033         * tests/test-freading.c (main): Don't check freading immediately after
70034         repositioning. Needed for glibc.
70035
70036 2007-04-29  Bruno Haible  <bruno@clisp.org>
70037
70038         * lib/freading.c (freading): Trivial simplification.
70039
70040 2007-04-28  Bruno Haible  <bruno@clisp.org>
70041
70042         * tests/test-fwriting.c (main): Also test the interaction between
70043         fflush and fwriting.
70044         * modules/fwriting-tests (Depends-on): Add fflush.
70045
70046         * tests/test-freading.c (main): Also test the interaction between
70047         fflush and freading.
70048         * modules/freading-tests (Depends-on): Add fflush.
70049
70050 2007-04-28  Bruno Haible  <bruno@clisp.org>
70051
70052         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
70053         fseeko and ftello.
70054         Suggested by Eric Blake.
70055
70056 2007-04-28  Jim Meyering  <jim@meyering.net>
70057
70058         Avoid false-negative in gl_STDINT_H's C99 conformance test.
70059         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
70060         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
70061
70062 2007-04-27  Eric Blake  <ebb9@byu.net>
70063
70064         * doc/headers/assert.texi (assert.h): Document assert module use.
70065
70066 2007-04-27  Bruno Haible  <bruno@clisp.org>
70067
70068         * doc/headers/*.texi: New files.
70069         * doc/gnulib.texi (Header File Substitutes): New chapter.
70070         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
70071         dependencies.
70072         (standards.info ,standards.html, standards.dvi): Update dependencies.
70073         (mostlyclean, clean): New targets.
70074
70075 2007-04-27  Bruno Haible  <bruno@clisp.org>
70076
70077         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
70078         * modules/sysexits (Files, Makefile.am): Update.
70079
70080         * lib/sys_socket_.h: Renamed from lib/socket_.h.
70081         * modules/sys_socket (Files, Makefile.am): Update.
70082
70083         * lib/sys_stat_.h: Renamed from lib/stat_.h.
70084         * modules/sys_stat (Files, Makefile.am): Update.
70085
70086 2007-04-27  Eric Blake  <ebb9@byu.net>
70087
70088         * lib/freading.h: Improve comments.
70089         * lib/fwriting.h: Likewise.
70090         * lib/fflush.c: Likewise.
70091
70092         Fix closein for mingw.
70093         * modules/closein-tests: Add tests for closein.
70094         * tests/test-closein.c: New file.
70095         * tests/test-closein.sh: Likewise.
70096         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
70097         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
70098
70099 2007-04-27  Bruno Haible  <bruno@clisp.org>
70100
70101         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
70102         version is < 6.
70103         * lib/math_.h [__DECC]: Likewise.
70104         * lib/stdio_.h [__DECC]: Likewise.
70105         * lib/stdlib_.h [__DECC]: Likewise.
70106         * lib/string_.h [__DECC]: Likewise.
70107         * lib/time_.h [__DECC]: Likewise.
70108         * lib/wchar_.h [__DECC]: Likewise.
70109         * lib/wctype_.h [__DECC]: Likewise.
70110
70111 2007-04-27  Bruno Haible  <bruno@clisp.org>
70112
70113         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
70114
70115 2007-04-27  Bruno Haible  <bruno@clisp.org>
70116
70117         * lib/fflush.c: Add comments.
70118         * modules/fpurge-tests (Depends-on): Add fflush.
70119         * modules/freadable-tests (Depends-on): Likewise.
70120         * modules/fwritable-tests (Depends-on): Likewise.
70121
70122 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
70123
70124         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
70125         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
70126         Report by Bruno Haible <bruno@clisp.org>.
70127
70128 2007-04-26  Eric Blake  <ebb9@byu.net>
70129
70130         Fix fflush on mingw.
70131         * modules/fflush (Depends-on): Add freading.
70132         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
70133         but unread data.
70134
70135 2007-04-26  Eric Blake  <ebb9@byu.net>
70136         and Bruno Haible  <bruno@clisp.org>
70137
70138         Implement freading and fwriting.
70139         * lib/freading.c: New file.
70140         * lib/freading.h: Likewise.
70141         * m4/freading.m4: Likewise.
70142         * modules/freading: Likewise.
70143         * modules/freading-tests: Likewise.
70144         * tests/test-freading.c: Likewise.
70145         * lib/fwriting.c: New file.
70146         * lib/fwriting.h: Likewise.
70147         * m4/fwriting.m4: Likewise.
70148         * modules/fwriting: Likewise.
70149         * modules/fwriting-tests: Likewise.
70150         * tests/test-fwriting.c: Likewise.
70151         * MODULES.html.sh (File stream based Input/Output): Mention them.
70152
70153 2007-04-26  Bruno Haible  <bruno@clisp.org>
70154
70155         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
70156         'long' when we assume it.
70157         Suggested by Eric Blake.
70158
70159 2007-04-26  Bruno Haible  <bruno@clisp.org>
70160
70161         Ensure fseeko, ftello are declared on glibc systems.
70162         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
70163         * modules/fseeko (configure.ac-early): Likewise.
70164         * modules/ftello (configure.ac-early): Likewise.
70165         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
70166         AC_FUNC_FSEEKO for this.
70167         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
70168         (gl_CHECK_FSEEKO): Remove macro.
70169
70170 2007-04-26  Bruno Haible  <bruno@clisp.org>
70171
70172         * tests/test-fflush.c (main): Also check the ftell result after
70173         fflush and fseek/fseeko.
70174         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
70175         file descriptor position cache in the stream.
70176         * lib/fseeko.c (rpl_fseeko): Likewise.
70177
70178 2007-04-26  Bruno Haible  <bruno@clisp.org>
70179
70180         * modules/fflush-tests (Depends-on): Add fseeko.
70181
70182 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
70183             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70184
70185         * lib/argz_.h: ensure error_t definition is obtained in same
70186         mechanism system argz.h would have.
70187         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
70188         argz facilities are known bad.  Err on the side of caution if
70189         cross-compiling.
70190
70191 2007-04-25  Eric Blake  <ebb9@byu.net>
70192
70193         * lib/fpurge.c (includes): Use stdlib.h for free.
70194         * tests/test-fflush.c (main): Also test fflush-fseeko.
70195
70196 2007-04-25  Bruno Haible  <bruno@clisp.org>
70197
70198         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
70199         * lib/fseeko.c: New file.
70200         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
70201         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
70202         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
70203         gl_FUNC_FSEEKO.
70204         (gl_FUNC_FSEEKO): Invoke it.
70205         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
70206         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
70207         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
70208
70209 2007-04-25  Bruno Haible  <bruno@clisp.org>
70210
70211         * modules/fflush (Depends-on): Add ftello.
70212
70213 2007-04-25  Bruno Haible  <bruno@clisp.org>
70214
70215         * modules/ftello-tests: New file.
70216         * tests/test-ftello.c: New file.
70217
70218         * modules/ftello: New file.
70219         * m4/ftello.m4: New file.
70220         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
70221         HAVE_FTELLO.
70222         * lib/stdio_.h (ftello): New declaration.
70223         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
70224         HAVE_FTELLO.
70225
70226 2007-04-25  Bruno Haible  <bruno@clisp.org>
70227
70228         * modules/fseeko-tests: New file.
70229         * tests/test-fseeko.c: New file.
70230
70231         * modules/fseeko: New file.
70232         * m4/fseeko.m4: New file.
70233         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
70234         HAVE_FSEEKO.
70235         * lib/stdio_.h (fseeko): New declaration.
70236         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
70237         HAVE_FSEEKO.
70238
70239 2007-04-25  Bruno Haible  <bruno@clisp.org>
70240
70241         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
70242
70243 2007-04-25  Bruno Haible  <bruno@clisp.org>
70244
70245         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
70246         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
70247         * tests/test-unistd.c: Likewise.
70248         * tests/test-fcntl.c: Likewise.
70249
70250 2007-04-23  Eric Blake  <ebb9@byu.net>
70251
70252         * lib/fflush.c: Fix missing include.
70253         Reported by Bruno Haible.
70254
70255 2007-04-23  Bruno Haible  <bruno@clisp.org>
70256
70257         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
70258         Reported by Eric Blake.
70259
70260 2007-04-23  Bruno Haible  <bruno@clisp.org>
70261
70262         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
70263
70264 2007-04-23  Bruno Haible  <bruno@clisp.org>
70265
70266         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
70267
70268 2007-04-23  Bruno Haible  <bruno@clisp.org>
70269
70270         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
70271         Needed on HP-UX 11.
70272
70273 2007-04-16  Eric Blake  <ebb9@byu.net>
70274
70275         Make fflush rely on fpurge.
70276         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
70277         open coding all variants.
70278         * modules/fflush (Depends-on): Add fpurge and unistd.
70279         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
70280         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
70281
70282         Fix --with-tests compilation on cygwin.
70283         * modules/argmatch-tests (Makefile.am): List gnulib library first
70284         in LDADD.
70285         * modules/argp-tests (Makefile.am): Likewise.
70286         * modules/array-list-tests (Makefile.am): Likewise.
70287         * modules/array-oset-tests (Makefile.am): Likewise.
70288         * modules/avltree-list-tests (Makefile.am): Likewise.
70289         * modules/avltree-oset-tests (Makefile.am): Likewise.
70290         * modules/avltreehash-list-tests (Makefile.am): Likewise.
70291         * modules/carray-list-tests (Makefile.am): Likewise.
70292         * modules/dirname-tests (Makefile.am): Likewise.
70293         * modules/frexp-tests (Makefile.am): Likewise.
70294         * modules/isnanl-tests (Makefile.am): Likewise.
70295         * modules/linked-list-tests (Makefile.am): Likewise.
70296         * modules/linkedhash-list-tests (Makefile.am): Likewise.
70297         * modules/lock-tests (Makefile.am): Likewise.
70298         * modules/rbtree-list-tests (Makefile.am): Likewise.
70299         * modules/rbtree-oset-tests (Makefile.am): Likewise.
70300         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
70301         * modules/tls-tests (Makefile.am): Likewise.
70302         * modules/tsearch-tests (Makefile.am): Likewise.
70303         * modules/xvasprintf-tests (Makefile.am): Likewise.
70304
70305         Fix fpurge for cygwin.
70306         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
70307         value.
70308         * modules/fpurge-tests (Depends-on): Clean up trash.
70309
70310 2007-04-16  Simon Josefsson  <simon@josefsson.org>
70311
70312         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
70313
70314         * m4/autobuild.m4: Re-indent.
70315
70316 2007-04-13  Bruno Haible  <bruno@clisp.org>
70317
70318         * modules/fpurge-tests: New file.
70319         * tests/test-fpurge.c: New file.
70320
70321         * modules/fpurge: New file.
70322         * lib/fpurge.h: New file.
70323         * lib/fpurge.c: New file.
70324         * m4/fpurge.m4: New file.
70325
70326 2007-04-13  Bruno Haible  <bruno@clisp.org>
70327
70328         * modules/fbufmode-tests: New file.
70329         * tests/test-fbufmode.c: New file.
70330
70331         * modules/fbufmode: New file.
70332         * lib/fbufmode.h: New file.
70333         * lib/fbufmode.c: New file.
70334         * m4/fbufmode.m4: New file.
70335
70336 2007-04-13  Bruno Haible  <bruno@clisp.org>
70337
70338         * modules/fwritable-tests: New file.
70339         * tests/test-fwritable.c: New file.
70340
70341         * modules/fwritable: New file.
70342         * lib/fwritable.h: New file.
70343         * lib/fwritable.c: New file.
70344         * m4/fwritable.m4: New file.
70345
70346 2007-04-13  Bruno Haible  <bruno@clisp.org>
70347
70348         * modules/freadable-tests: New file.
70349         * tests/test-freadable.c: New file.
70350
70351         * modules/freadable: New file.
70352         * lib/freadable.h: New file.
70353         * lib/freadable.c: New file.
70354         * m4/freadable.m4: New file.
70355
70356 2007-04-13  Bruno Haible  <bruno@clisp.org>
70357
70358         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
70359         MOSTLYCLEANFILES.
70360
70361 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
70362
70363         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
70364         gzip bootstrap.conf to avoid dragging in i18n machinery.
70365         (gnulib_tool_option): Use it.
70366
70367 2007-04-13  Bruno Haible  <bruno@clisp.org>
70368
70369         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
70370         %F directives.
70371         * tests/test-vasprintf-posix.c (test_function): Likewise.
70372         * tests/test-snprintf-posix.h (test_function): Likewise.
70373         * tests/test-sprintf-posix.h (test_function): Likewise.
70374         * tests/test-fprintf-posix.h (test_function): Likewise.
70375         * tests/test-printf-posix.h (test_function): Likewise.
70376         * tests/test-fprintf-posix.out: Likewise.
70377
70378 2007-04-13  Bruno Haible  <bruno@clisp.org>
70379
70380         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
70381         * modules/tls-tests (configure.ac): Likewise.
70382         Reported by Arto C. Nirkko <anirkko@insel.ch>.
70383
70384 2007-04-13  Bruno Haible  <bruno@clisp.org>
70385
70386         * lib/tls.c (glthread_tls_get): Fix return type.
70387         Patch by Arto C. Nirkko <anirkko@insel.ch>.
70388
70389 2007-04-12  Eric Blake  <ebb9@byu.net>
70390
70391         * modules/gettime (Depends-on): Remove gettime.
70392         Reported by Dmitry V. Levin.
70393
70394 2007-04-12  Bruno Haible  <bruno@clisp.org>
70395
70396         * modules/fflush (Include): Mention <stdio.h>.
70397         * modules/strtoimax (Include): Mention <inttypes.h>.
70398         * modules/strtoumax (Include): Likewise.
70399
70400 2007-04-12  Eric Blake  <ebb9@byu.net>
70401
70402         * .cvsignore: New file.
70403         * .gitignore: Likewise.
70404
70405 2007-04-12  Bruno Haible  <bruno@clisp.org>
70406
70407         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
70408         not before, since $(LDADD) often contains libgnu.a.
70409         * modules/striconv-tests (test_striconv_LDADD): Likewise.
70410         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
70411         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
70412         Needed on Cygwin.
70413
70414 2007-04-12  Eric Blake  <ebb9@byu.net>
70415
70416         Work around glibc's failure to flush stdin on fclose.
70417         * lib/closein.c (close_stdin): Flush stdin before closing.
70418
70419         Work around glibc's failure to reset seekable stdin on exit.
70420         * modules/closein: New module.
70421         * lib/closein.c: New file.
70422         * lib/closein.h: Likewise.
70423         * m4/closein.m4: Likewise.
70424         * MODULES.html.sh (File stream based Input/Output): Document it.
70425
70426 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70427
70428         * gnulib-tool: Rename generated 'autobuild' script to
70429         'do-autobuild' in --create-megatestdir output.
70430
70431         * doc/gnulib.texi (Build robot for gnulib): Fix.
70432
70433 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70434
70435         * modules/sysexits (Depends-on): Add absolute-header.
70436
70437 2007-04-12  Eric Blake  <ebb9@byu.net>
70438
70439         No need to preserve errno on success.
70440         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
70441         Reported by Bruno Haible.
70442
70443 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70444
70445         * MODULES.html.sh (Support for maintaining and releasing
70446         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
70447
70448 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70449
70450         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
70451
70452 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70453
70454         * modules/autobuild: New module.
70455
70456         * m4/autobuild.m4: New file.
70457
70458 2007-04-11  Bruno Haible  <bruno@clisp.org>
70459
70460         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
70461         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
70462         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
70463         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
70464         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
70465         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70466         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70467         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70468         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70469         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70470         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
70471         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70472         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70473         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
70474         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70475         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70476         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
70477         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70478         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70479         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
70480         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70481         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70482         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
70483         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70484         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70485         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
70486         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70487         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70488         Reported by Eric Blake.
70489
70490 2007-04-11  Bruno Haible  <bruno@clisp.org>
70491
70492         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
70493
70494 2007-04-10  Bruno Haible  <bruno@clisp.org>
70495
70496         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
70497         for NaN and Infinity. Needed on FreeBSD 6.1.
70498         * tests/test-vasnprintf-posix.c (test_function): Undo last change
70499         regarding results for "%010a" of Infinity and NaN.
70500         * tests/test-vasprintf-posix.c (test_function): Likewise.
70501         * tests/test-snprintf-posix.h (test_function): Likewise.
70502         * tests/test-sprintf-posix.h (test_function): Likewise.
70503         * tests/test-fprintf-posix.h (test_function): Likewise.
70504         * tests/test-printf-posix.h (test_function): Likewise.
70505         * tests/test-fprintf-posix.out: Likewise.
70506
70507 2007-04-10  Bruno Haible  <bruno@clisp.org>
70508
70509         * modules/locale-tests: New file.
70510         * tests/test-locale.c: New file.
70511
70512         * modules/locale: New file.
70513         * lib/locale_.h: New file.
70514         * m4/locale_h.m4: New file.
70515
70516 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
70517             Bruno Haible  <bruno@clisp.org>
70518
70519         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
70520         be determined, test for availability of the copysignf, copysign,
70521         copysignl functions.
70522         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
70523         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
70524         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
70525
70526 2007-04-09  Eric Blake  <ebb9@byu.net>
70527
70528         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
70529         * modules/stdio (Makefile.am): Support fflush.
70530         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
70531         * modules/fflush: New file.
70532         * lib/fflush.c: Likewise.
70533         * m4/fflush.m4: Likewise.
70534         * modules/fflush-tests: New test.
70535         * tests/test-fflush.c: Likewise.
70536         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
70537
70538 2007-04-06  Bruno Haible  <bruno@clisp.org>
70539
70540         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
70541         (VASNPRINTF): Use signbit for faster determination whether to print a
70542         minus sign.
70543         * modules/vasnprintf (Files): Remove lib/float+.h.
70544         * modules/fprintf-posix (Depends-on): Add signbit.
70545         * modules/snprintf-posix (Depends-on): Likewise.
70546         * modules/sprintf-posix (Depends-on): Likewise.
70547         * modules/vasnprintf-posix (Depends-on): Likewise.
70548         * modules/vasprintf-posix (Depends-on): Likewise.
70549         * modules/vfprintf-posix (Depends-on): Likewise.
70550         * modules/vsnprintf-posix (Depends-on): Likewise.
70551         * modules/vsprintf-posix (Depends-on): Likewise.
70552
70553 2007-04-06  Bruno Haible  <bruno@clisp.org>
70554
70555         * tests/test-frexp.c (main): Test also the sign bit of zero results.
70556         * tests/test-frexpl.c (main): Likewise.
70557         * tests/test-ldexpl.c (main): Likewise.
70558         * modules/frexp-tests (Depends-on): Add signbit.
70559         * modules/frexpl-tests (Depdends-on): Likewise.
70560         * modules/ldexpl-tests (Depdends-on): Likewise.
70561
70562 2007-04-06  Bruno Haible  <bruno@clisp.org>
70563
70564         * modules/signbit-tests: New file.
70565         * tests/test-signbit.c: New file.
70566
70567         * modules/signbit: New file.
70568         * lib/signbitf.c: New file.
70569         * lib/signbitd.c: New file.
70570         * lib/signbitl.c: New file.
70571         * m4/signbit.m4: New file.
70572         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
70573         (signbit): New macro.
70574         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
70575         REPLACE_SIGNBIT.
70576         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
70577         REPLACE_FREXPL into math.h.
70578
70579 2007-04-06  Bruno Haible  <bruno@clisp.org>
70580
70581         * modules/isnanf-nolibm-tests: New file.
70582         * tests/test-isnanf.c: New file.
70583
70584         * modules/isnanf-nolibm: New file.
70585         * lib/isnanf.h: New file.
70586         * lib/isnanf.c: New file.
70587         * lib/isnan.c: Consider the USE_FLOAT macro.
70588         * m4/isnanf.m4: New file.
70589
70590 2007-04-06  Bruno Haible  <bruno@clisp.org>
70591
70592         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
70593         (Link): New section.
70594
70595         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
70596
70597 2007-04-06  Bruno Haible  <bruno@clisp.org>
70598
70599         Assume the 'long double' type.
70600         * m4/longdouble.m4: Remove file.
70601         * config/srclist.txt: Don't mention longdouble.m4.
70602         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
70603         * lib/float+.h: Likewise.
70604         * lib/frexp.c: Likewise.
70605         * lib/printf-args.h: Likewise.
70606         * lib/printf-args.c: Likewise.
70607         * lib/printf-frexp.c: Likewise.
70608         * lib/printf-parse.c: Likewise.
70609         * lib/vasnprintf.c: Likewise.
70610         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
70611         * m4/intl.m4: Likewise.
70612         * m4/isnanl.m4: Likewise.
70613         * m4/printf.m4: Likewise.
70614         * m4/printf-frexpl.m4: Likewise.
70615         * m4/vasnprintf.m4: Likewise.
70616         * modules/allocsa (Files): Remove m4/longdouble.m4.
70617         * modules/gettext (Files): Likewise.
70618         * modules/relocatable-prog-wrapper (Files): Likewise.
70619         * modules/vasnprintf (Files): Likewise.
70620         * modules/isnanl (Files): Likewise.
70621         (Include): Simplify.
70622         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
70623         (Include): Simplify.
70624         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
70625         (Include): Simplify.
70626         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
70627         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70628         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
70629         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70630         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70631         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70632         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
70633         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70634         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70635         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70636         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
70637         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70638         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
70639         * tests/test-isnanl.c: Likewise.
70640         * tests/test-snprintf-posix.h: Likewise.
70641         * tests/test-sprintf-posix.h: Likewise.
70642         * tests/test-vasnprintf-posix.c: Likewise.
70643         * tests/test-vasnprintf-posix2.c: Likewise.
70644         * tests/test-vasprintf-posix.c: Likewise.
70645
70646 2007-04-06  Bruno Haible  <bruno@clisp.org>
70647
70648         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
70649         * lib/math_.h [__DECC]: Include the overridden include file through
70650         #include_next, outside the double-inclusion guard.
70651         * lib/stdio_.h [__DECC]: Likewise.
70652         * lib/stdlib_.h [__DECC]: Likewise.
70653         * lib/string_.h [__DECC]: Likewise.
70654         * lib/time_.h [__DECC]: Likewise.
70655         * lib/wchar_.h [__DECC]: Likewise.
70656         * lib/wctype_.h [__DECC]: Likewise.
70657         * lib/inttypes_.h [__DECC]: Likewise.
70658         Reported by Albert Chin <china@thewrittenword.com> in
70659         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
70660
70661 2007-04-04  Eric Blake  <ebb9@byu.net>
70662
70663         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
70664         1.5.x.
70665
70666 2007-04-04  Bruno Haible  <bruno@clisp.org>
70667
70668         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
70669         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
70670
70671 2007-04-04  Bruno Haible  <bruno@clisp.org>
70672
70673         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
70674         results for "%010a" of Infinity and NaN.
70675         * tests/test-vasprintf-posix.c (test_function): Likewise.
70676         * tests/test-snprintf-posix.h (test_function): Likewise.
70677         * tests/test-sprintf-posix.h (test_function): Likewise.
70678         * tests/test-fprintf-posix.h (test_function): Remove these tests.
70679         * tests/test-printf-posix.h (test_function): Likewise.
70680         * tests/test-fprintf-posix.out: Update.
70681         Needed for FreeBSD 6.1.
70682
70683 2007-04-04  Bruno Haible  <bruno@clisp.org>
70684
70685         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
70686         directly used by the gnulib modules nor by gnulib-tool.
70687
70688 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
70689
70690         * DEPENDENCIES: Give overall description of version dependency
70691         desirability.  Use more-typical names for apps.
70692         Add shell, coreutils, diffutils, grep, tar, gzip.
70693
70694 2007-04-04  Simon Josefsson  <simon@josefsson.org>
70695
70696         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
70697
70698 2007-04-04  Karl Berry  <karl@gnu.org>
70699
70700         * MODULES.html.sh (func_module): missing '.
70701
70702 2007-04-03  Bruno Haible  <bruno@clisp.org>
70703
70704         * modules/argmatch-tests (Makefile.am): New variable
70705         test_argmatch_LDADD.
70706         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
70707         * modules/array-list-tests (Makefile.am): New variable
70708         test_array_list_LDADD.
70709         * modules/array-oset-tests (Makefile.am): New variable
70710         test_array_oset_LDADD.
70711         * modules/avltree-list-tests (Makefile.am): New variable
70712         test_avltree_list_LDADD.
70713         * modules/avltree-oset-tests (Makefile.am): New variable
70714         test_avltree_oset_LDADD.
70715         * modules/avltreehash-list-tests (Makefile.am): New variable
70716         test_avltreehash_list_LDADD.
70717         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
70718         test_canonicalize_lgpl_LDADD.
70719         * modules/carray-list-tests (Makefile.am): New variable
70720         test_carray_list_LDADD.
70721         * modules/dirname-tests (Makefile.am): New variable
70722         test_dirname_LDADD.
70723         * modules/linked-list-tests (Makefile.am): New variable
70724         test_linked_list_LDADD.
70725         * modules/linkedhash-list-tests (Makefile.am): New variable
70726         test_linkedhash_list_LDADD.
70727         * modules/rbtree-list-tests (Makefile.am): New variable
70728         test_rbtree_list_LDADD.
70729         * modules/rbtree-oset-tests (Makefile.am): New variable
70730         test_rbtree_oset_LDADD.
70731         * modules/rbtreehash-list-tests (Makefile.am): New variable
70732         test_rbtreehash_list_LDADD.
70733         * modules/xvasprintf-tests (Makefile.am): New variable
70734         test_xvasprintf_LDADD.
70735         Reported by Eric Blake.
70736
70737 2007-04-03  Eric Blake  <ebb9@byu.net>
70738
70739         * DEPENDENCIES: Weaken m4 requirements.
70740
70741 2007-04-03  Bruno Haible  <bruno@clisp.org>
70742
70743         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
70744         * modules/isnanl-tests (configure.ac): Likewise.
70745
70746 2007-04-03  Ben Pfaff  <blp@gnu.org>
70747
70748         * modules/iconv_open: Add $(srcdir)/ to source directory
70749         references in Makefile fragments that call gperf, to fix VPATH
70750         builds.
70751
70752 2007-04-03  Bruno Haible  <bruno@clisp.org>
70753
70754         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
70755         * lib/ldexpl.c: Undo last change.
70756
70757 2007-04-03  Bruno Haible  <bruno@clisp.org>
70758
70759         * modules/printf-frexpl (Depends-on): Undo last change.
70760         (Files): Add m4/ldexpl.m4.
70761
70762 2007-04-03  Bruno Haible  <bruno@clisp.org>
70763
70764         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
70765         * modules/isnanl (Link): New section.
70766
70767         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
70768         * modules/frexp (Link): New section.
70769
70770         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
70771         * modules/frexpl (Link): New section.
70772
70773         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
70774         * modules/ldexpl (Link): New section.
70775
70776 2007-04-03  Bruno Haible  <bruno@clisp.org>
70777
70778         * modules/TEMPLATE-EXTENDED: New file.
70779         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
70780
70781 2007-04-03  Bruno Haible  <bruno@clisp.org>
70782
70783         * DEPENDENCIES: New file.
70784         Suggested by Simon Josefsson.
70785
70786 2007-04-03  Bruno Haible  <bruno@clisp.org>
70787
70788         * doc/gnulib.texi: Escape @.
70789
70790 2007-04-03  James Youngman  <jay@gnu.org>
70791         and Paul Eggert  <eggert@cs.ucla.edu>
70792
70793         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
70794         birthtime on all systems that have birthtime, not just those which
70795         use st_birthtimensec rather than st_birthtim.  Putting zero in
70796         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
70797         that the birth time is not available for files on an NFS mount.
70798
70799 2007-04-03  Simon Josefsson  <simon@josefsson.org>
70800
70801         * modules/memxor: Move back from crypto/, suggested by Bruno.
70802         * modules/crypto/hmac-sha1: Fix memxor dependency.
70803
70804         * modules/crypto/gc: Moved from ../.
70805
70806 2007-04-02  Eric Blake  <ebb9@byu.net>
70807
70808         * lib/ldexpl.c (includes): Avoid libm.
70809
70810         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
70811
70812 2007-04-02  Bruno Haible  <bruno@clisp.org>
70813
70814         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
70815         on IRIX.
70816
70817 2007-04-02  Bruno Haible  <bruno@clisp.org>
70818
70819         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
70820         x86 or x86_64 platforms running MacOS X.
70821         Reported by Ryan Schmidt <@ryandesign.com>.
70822
70823 2007-04-02  Bruno Haible  <bruno@clisp.org>
70824
70825         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
70826         i386.
70827
70828 2007-04-01  Simon Josefsson  <simon@josefsson.org>
70829
70830         * modules/crypto/arcfour: Moved from ../.
70831         * modules/crypto/arcfour-tests: Moved from ../.
70832         * modules/crypto/arctwo: Moved from ../.
70833         * modules/crypto/arctwo-tests: Moved from ../.
70834         * modules/crypto/des: Moved from ../.
70835         * modules/crypto/des-tests: Moved from ../.
70836         * modules/crypto/gc-arcfour: Moved from ../.
70837         * modules/crypto/gc-arcfour-tests: Moved from ../.
70838         * modules/crypto/gc-arctwo: Moved from ../.
70839         * modules/crypto/gc-arctwo-tests: Moved from ../.
70840         * modules/crypto/gc-des: Moved from ../.
70841         * modules/crypto/gc-des-tests: Moved from ../.
70842         * modules/crypto/gc-hmac-md5: Moved from ../.
70843         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
70844         * modules/crypto/gc-hmac-sha1: Moved from ../.
70845         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
70846         * modules/crypto/gc-md2: Moved from ../.
70847         * modules/crypto/gc-md2-tests: Moved from ../.
70848         * modules/crypto/gc-md4: Moved from ../.
70849         * modules/crypto/gc-md4-tests: Moved from ../.
70850         * modules/crypto/gc-md5: Moved from ../.
70851         * modules/crypto/gc-md5-tests: Moved from ../.
70852         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
70853         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
70854         * modules/crypto/gc-random: Moved from ../.
70855         * modules/crypto/gc-rijndael: Moved from ../.
70856         * modules/crypto/gc-rijndael-tests: Moved from ../.
70857         * modules/crypto/gc-sha1: Moved from ../.
70858         * modules/crypto/gc-sha1-tests: Moved from ../.
70859         * modules/crypto/gc-tests: Moved from ../.
70860         * modules/crypto/hmac-md5: Moved from ../.
70861         * modules/crypto/hmac-md5-tests: Moved from ../.
70862         * modules/crypto/hmac-sha1: Moved from ../.
70863         * modules/crypto/hmac-sha1-tests: Moved from ../.
70864         * modules/crypto/md2: Moved from ../.
70865         * modules/crypto/md2-tests: Moved from ../.
70866         * modules/crypto/md4: Moved from ../.
70867         * modules/crypto/md4-tests: Moved from ../.
70868         * modules/crypto/md5: Moved from ../.
70869         * modules/crypto/md5-tests: Moved from ../.
70870         * modules/crypto/memxor: Moved from ../.
70871         * modules/crypto/rijndael: Moved from ../.
70872         * modules/crypto/rijndael-tests: Moved from ../.
70873         * modules/crypto/sha1: Moved from ../.
70874
70875 2007-03-30  James Youngman  <jay@gnu.org>
70876
70877         * tests/test-stat-time.c (prepare_test): use chmod() rather than
70878         rename() to change the ctime of a file (because ctime is unaffected
70879         by rename on jfs2 on AIX 5.1).
70880         (main): Start by doing cleanup, in case a previous run failed leaving
70881         test files behind.
70882
70883 2007-03-31  Bruno Haible  <bruno@clisp.org>
70884
70885         Support old proprietary implementations of iconv.
70886         * modules/iconv_open: New file.
70887         * lib/iconv_.h: New file.
70888         * m4/iconv_h.m4: New file.
70889         * lib/iconv_open.c: New file.
70890         * lib/iconv_open-aix.gperf: New file.
70891         * lib/iconv_open-hpux.gperf: New file.
70892         * lib/iconv_open-irix.gperf: New file.
70893         * lib/iconv_open-osf.gperf: New file.
70894         * m4/iconv_open.m4: New file.
70895         * modules/linebreak (Depends-on): Add iconv_open.
70896         * modules/striconv (Depends-on): Likewise.
70897         * modules/striconveh (Depends-on): Likewise.
70898         * modules/unicodeio (Depends-on): Likewise.
70899         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
70900         (iconv_t)(-1).
70901         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
70902         conversion if cd is (iconv_t)(-1).
70903         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
70904         is not possible.
70905
70906 2007-03-31  Bruno Haible  <bruno@clisp.org>
70907
70908         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70909         work on Solaris either. Protect also second use of "autodetect_jp".
70910
70911 2007-03-31  Bruno Haible  <bruno@clisp.org>
70912
70913         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
70914         the function is not present.
70915
70916 2007-03-31  Bruno Haible  <bruno@clisp.org>
70917
70918         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
70919         the function is not present.
70920
70921 2007-03-31  Bruno Haible  <bruno@clisp.org>
70922
70923         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
70924         a bug in HP-UX iconv_open().
70925
70926 2007-03-31  Bruno Haible  <bruno@clisp.org>
70927
70928         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
70929         (Mathematics <math.h>): New section, add fpieee.
70930         (Input/output <stdio.h>): Add fseterr.
70931         (Mathematics <math.h>): New section, add printf-frexp.
70932         (Container data structures): Add sublist.
70933         (Core language properties): Add fpucw, inline.
70934         (Functions for greatest-width integer types <inttypes.h>): Add
70935         imaxabs, imaxdiv, inttypes.
70936         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
70937         isnanl-nolibm, ldexp.
70938         (Mathematics <math.h>): New section, add printf-frexpl.
70939         (Support for systems lacking POSIX:2001): Add fprintf-posix,
70940         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
70941         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
70942         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
70943         (Unicode string functions): Add unistr/u*-mbtoucr.
70944         (Java): Add javacomp-script, javaexec-script.
70945         (C#): Add csharpcomp-script, csharpexec-script.
70946         (Support for building libraries and executables): Add havelib,
70947         relocatable-*.
70948         (Support for maintaining and releasing projects): Renamed from
70949         'Support for maintaining and release projects'. Add announce-gen.
70950
70951 2007-03-31  Bruno Haible  <bruno@clisp.org>
70952
70953         * README: Talk primarily about git.
70954         (git and CVS): Renamed from CVS.
70955         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
70956         gnulib is available through git.
70957         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
70958
70959 2007-03-30  Bruno Haible  <bruno@clisp.org>
70960
70961         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
70962         * lib/poll_.h: Likewise.
70963         * lib/stat_.h: Likewise.
70964         * lib/sys_time_.h: Likewise.
70965         * lib/sysexit_.h: Likewise.
70966         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
70967         * lib/stdbool_.h: Likewise.
70968         * lib/byteswap_.h: Add double-inclusion guard.
70969
70970 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
70971
70972         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
70973
70974 2007-03-30  Karl Berry  <karl@gnu.org>
70975
70976         * config/srclist-update: double space after USA in the license
70977         substitution, since that's how it's usually (?) written.
70978
70979 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
70980
70981         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
70982         reported by Bruno Haible.
70983
70984 2007-03-29  Bruno Haible  <bruno@clisp.org>
70985
70986         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
70987         a bug in AIX iconv().
70988
70989 2007-03-29  Bruno Haible  <bruno@clisp.org>
70990
70991         * modules/ldexpl-tests: New file.
70992         * tests/test-ldexpl.c: New file.
70993
70994 2007-03-29  Bruno Haible  <bruno@clisp.org>
70995
70996         * lib/ldexpl.c: Include fpucw.h.
70997         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
70998         multiplication.
70999         * modules/ldexpl (Depends-on): Add fpucw.
71000
71001 2007-03-29  Bruno Haible  <bruno@clisp.org>
71002
71003         * modules/ldexpl: New file.
71004         * m4/ldexpl.m4: New file.
71005         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
71006         set.
71007         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
71008         REPLACE_LDEXPL.
71009         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
71010         REPLACE_LDEXPL.
71011         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
71012         gl_FUNC_LDEXPL_WORKS.
71013         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
71014         * modules/mathl (Files): Remove lib/ldexpl.c.
71015         (Depends-on): Add ldexpl.
71016
71017 2007-03-29  Bruno Haible  <bruno@clisp.org>
71018
71019         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
71020
71021 2007-03-29  Bruno Haible  <bruno@clisp.org>
71022
71023         * tests/test-striconveh.c (main): Don't assume that a direct conversion
71024         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
71025         and possibly also HP-UX.
71026         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
71027         work on AIX, IRIX, HP-UX, OSF/1.
71028         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
71029         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
71030         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
71031         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
71032         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
71033         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
71034
71035 2007-03-29  Bruno Haible  <bruno@clisp.org>
71036
71037         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
71038
71039 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
71040
71041         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
71042         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
71043
71044 2007-03-29  Eric Blake  <ebb9@byu.net>
71045
71046         * lib/acl-internal.h: Remove redundant include.
71047         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
71048         Cygwin when a file is locked.
71049
71050 2007-03-29  Bruno Haible  <bruno@clisp.org>
71051
71052         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
71053         file.
71054         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
71055
71056 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
71057
71058         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
71059         try to remove a parent directory if the child couldn't be removed
71060         (except for the first rmdir, which could fail because the child
71061         doesn't exist).  Problem reported by Jeff Blaine in
71062         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
71063
71064 2007-03-28  Bruno Haible  <bruno@clisp.org>
71065
71066         * lib/striconveh.c (utf8conv_carefully): New function.
71067         (mem_cd_iconveh_internal): Invoke it.
71068
71069 2007-03-28  Bruno Haible  <bruno@clisp.org>
71070
71071         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
71072         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
71073         input.
71074         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
71075         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
71076         unistr/u8-uctomb.
71077
71078 2007-03-28  Bruno Haible  <bruno@clisp.org>
71079
71080         * modules/unistr/u8-mbtoucr: New file.
71081         * lib/unistr/u8-mbtoucr.c: New file.
71082         * modules/unistr/u16-mbtoucr: New file.
71083         * lib/unistr/u16-mbtoucr.c: New file.
71084         * modules/unistr/u16-mbtoucr: New file.
71085         * lib/unistr/u16-mbtoucr.c: New file.
71086         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
71087
71088 2007-03-27  Simon Josefsson  <simon@josefsson.org>
71089             Bruno Haible  <bruno@clisp.org>
71090
71091         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
71092         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
71093         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
71094
71095         * m4/stdio_h.m4: Add stubs for vasprintf too.
71096
71097         * modules/stdio: Support vasprintf in sed command.
71098
71099         * modules/vasprintf: Depend on stdio for prototypes.  Remove
71100         vasprintf.h.  Add stdio module indicator.
71101
71102         * lib/stdio_.h: Declare asprintf and vasprintf, based on
71103         vasprintf.h.
71104
71105         * lib/vasprintf.h: File removed.
71106
71107         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
71108         * lib/vasprintf.c: Ditto.
71109         * lib/xvasprintf.c: Ditto.
71110         * tests/test-vasprintf-posix.c: Ditto.
71111         * tests/test-vasprintf.c: Ditto.
71112
71113 2007-03-27  Bruno Haible  <bruno@clisp.org>
71114
71115         Make vasnprintf multithread-safe.
71116         * lib/vasnprintf.c (decimal_point_char): New function.
71117         (VASNPRINTF): Use it.
71118         Suggested by Simon Josefsson.
71119
71120 2007-03-27  Eric Blake  <ebb9@byu.net>
71121
71122         Support sub-second birthtime on cygwin.
71123         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
71124         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
71125         (get_stat_birthtime): Also work with st_birthtim.
71126
71127 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
71128
71129         * lib/stat-time.h (USE_BIRTHTIME): Remove.
71130         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
71131         (get_stat_birthtime_ns): Do not try to use "spare" fields.
71132         (get_stat_birthtime_ns): Simplify compile-time tests.
71133         (get_stat_birthtime): Change the API to look like
71134         get_stat_mtime etc., except return a negative tv_nsec on error.
71135         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
71136         Don't check for "spare" fields.
71137         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
71138         or for struct stat.st_birthtime, as these tests aren't used.
71139         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
71140
71141 2007-03-27  Bruno Haible  <bruno@clisp.org>
71142
71143         * lib/stat-time.h: Include <sys/stat.h>.
71144
71145 2007-03-27  James Youngman  <jay@gnu.org>
71146
71147         * lib/stat-time.h (get_stat_birthtime): New function for
71148           retrieving st_birthtime as provided by UFS2 (hence *BSD).
71149         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
71150           and its variants.
71151         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
71152         * modules/stat-time-test: New file.
71153         * tests/test-stat-time.c: New test, devised by Bruno Haible.
71154
71155 2007-03-26  Bruno Haible  <bruno@clisp.org>
71156
71157         Better support of signalling NaNs.
71158         * lib/atanl.c: Include isnanl.h.
71159         (atanl): Perform test for NaN at the beginning of the function and
71160         through a call to isnanl.
71161         * lib/cosl.c: Include isnanl.h.
71162         (cosl): Perform test for NaN at the beginning of the function and
71163         through a call to isnanl.
71164         * lib/ldexpl.c: Include isnanl.h.
71165         (ldexpl): Perform test for NaN through a call to isnanl.
71166         * lib/logl.c: Include isnanl.h.
71167         (logl): Perform test for NaN at the beginning of the function and
71168         through a call to isnanl.
71169         * lib/sinl.c: Include isnanl.h.
71170         (sinl): Perform test for NaN at the beginning of the function and
71171         through a call to isnanl.
71172         * lib/sqrtl.c: Include isnanl.h.
71173         (sqrtl): Perform test for NaN at the beginning of the function and
71174         through a call to isnanl.
71175         * lib/tanl.c: Include isnanl.h.
71176         (tanl): Perform test for NaN at the beginning of the function and
71177         through a call to isnanl.
71178         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
71179         * modules/mathl (Depends-on): Add isnanl.
71180
71181 2007-03-26  Eric Blake  <ebb9@byu.net>
71182
71183         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
71184         regression in logic sense of previous patch.
71185
71186 2007-03-26  Bruno Haible  <bruno@clisp.org>
71187
71188         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
71189         unportable shell command "if ! ...".
71190         Reported by Ralf Wildenhues.
71191
71192 2007-03-25  Bruno Haible  <bruno@clisp.org>
71193
71194         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
71195         <sysexits.h> file, and only add EX_CONFIG.
71196         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
71197         absolute file name and whether it is sufficient. Substitute also
71198         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
71199         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
71200         ABSOLUTE_SYSEXITS_H into sysexits.h.
71201
71202 2007-03-25  Bruno Haible  <bruno@clisp.org>
71203
71204         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
71205         hints is NULL.
71206
71207 2007-03-25  Bruno Haible  <bruno@clisp.org>
71208
71209         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
71210         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
71211
71212 2007-03-25  Bruno Haible  <bruno@clisp.org>
71213
71214         * lib/vasnprintf.c: Include langinfo.h.
71215         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
71216         multithread-safe.
71217         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
71218         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
71219         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
71220         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71221         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71222         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71223         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
71224         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
71225         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71226         Reported by Simon Josefsson.
71227
71228 2007-03-25  Bruno Haible  <bruno@clisp.org>
71229
71230         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
71231         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
71232         * modules/vasnprintf (Depends-on): Add stdint.
71233
71234 2007-03-25  Bruno Haible  <bruno@clisp.org>
71235
71236         * modules/fpieee: New file.
71237         * m4/fpieee.m4: New file.
71238         * modules/isnan-nolibm (Depends-on): Add fpieee.
71239         * modules/isnanl-nolibm (Depends-on): Add fpieee.
71240         * modules/isnanl (Depends-on): Add fpieee.
71241
71242 2007-03-25  Bruno Haible  <bruno@clisp.org>
71243
71244         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
71245
71246 2007-03-25  Bruno Haible  <bruno@clisp.org>
71247
71248         Avoid test failures on IRIX 6.5.
71249         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
71250         (main): Use it.
71251         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
71252         macros.
71253         (main): Use them.
71254
71255 2007-03-25  Bruno Haible  <bruno@clisp.org>
71256
71257         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
71258         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
71259         exists but doesn't work.
71260         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
71261         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
71262         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
71263         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
71264         math.h.
71265
71266 2007-03-25  Bruno Haible  <bruno@clisp.org>
71267
71268         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
71269         returns inf. Needed on IRIX 6.5.
71270
71271 2007-03-25  Bruno Haible  <bruno@clisp.org>
71272
71273         * tests/test-frexpl.c: Include isnanl-nolibm.h.
71274         (main): Use isnanl instead of x != x idiom.
71275         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
71276
71277         * tests/test-frexp.c: Include isnan.h.
71278         (main): Use isnan instead of x != x idiom.
71279         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
71280
71281 2007-03-25  Bruno Haible  <bruno@clisp.org>
71282
71283         * tests/test-frexp.c (NaN): New function/macro.
71284         (main): Use it instead of 0.0 / 0.0.
71285         * tests/test-isnan.c (NaN): New function/macro.
71286         (main): Use it instead of 0.0 / 0.0.
71287         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
71288         (test_function): Use it instead of 0.0 / 0.0.
71289         * tests/test-vasprintf-posix.c (NaN): New function/macro.
71290         (test_function): Use it instead of 0.0 / 0.0.
71291         * tests/test-snprintf-posix.h (NaN): New function/macro.
71292         (test_function): Use it instead of 0.0 / 0.0.
71293         * tests/test-sprintf-posix.h (NaN): New function/macro.
71294         (test_function): Use it instead of 0.0 / 0.0.
71295         * tests/test-fprintf-posix.h (NaN): New function/macro.
71296         (test_function): Use it instead of 0.0 / 0.0.
71297         * tests/test-printf-posix.h (NaN): New function/macro.
71298         (test_function): Use it instead of 0.0 / 0.0.
71299
71300         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
71301
71302 2007-03-25  Bruno Haible  <bruno@clisp.org>
71303
71304         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
71305
71306 2007-03-25  Bruno Haible  <bruno@clisp.org>
71307
71308         * lib/regexec.c (merge_state_with_log): Make static.
71309
71310 2007-03-25  Bruno Haible  <bruno@clisp.org>
71311
71312         * lib/trigl.c (kernel_rem_pio2): Make static.
71313
71314 2007-03-25  Bruno Haible  <bruno@clisp.org>
71315
71316         * lib/sincosl.c (sincosl_table): Make static.
71317
71318 2007-03-25  Bruno Haible  <bruno@clisp.org>
71319
71320         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
71321         if the compiler does not support C99.
71322
71323 2007-03-25  Bruno Haible  <bruno@clisp.org>
71324
71325         * modules/time (Makefile.am): Ensure all rule action lines start with a
71326         tab.
71327
71328 2007-03-24  Bruno Haible  <bruno@clisp.org>
71329
71330         * modules/tsearch-tests: New file.
71331         * tests/test-tsearch.sh: New file.
71332         * tests/test-tsearch.c: New file, mostly copied from glibc.
71333
71334         * modules/search-tests: New file.
71335         * tests/test-search.c: New file.
71336
71337         * modules/search: New file.
71338         * lib/search_.h: New file, incorporating lib/tsearch.h.
71339         * m4/search_h.m4: New file.
71340         * lib/tsearch.h: Remove file.
71341         * lib/tsearch.c: Include search.h instead of tsearch.h.
71342         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
71343         HAVE_TSEARCH.
71344         * modules/tsearch (Files): Remove lib/tsearch.h.
71345         (Depends-on): Add search.
71346         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
71347         (Include): Change tsearch.h into search.h.
71348
71349 2007-03-24  Bruno Haible  <bruno@clisp.org>
71350
71351         * modules/fpucw: New file.
71352         * lib/fpucw.h: New file.
71353         * lib/frexp.c: Include fpucw.h.
71354         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71355         (FUNC): Use them.
71356         * lib/printf-frexp.c: Include fpucw.h.
71357         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71358         (FUNC): Use them.
71359         * lib/vasnprintf.c: Include fpucw.h.
71360         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
71361         'long double' calculations.
71362         * tests/test-frexpl.c: Include fpucw.h.
71363         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71364         * tests/test-printf-frexpl.c: Include fpucw.h.
71365         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71366         * modules/frexpl (Depends-on): Add fpucw.
71367         * modules/printf-frexpl (Depends-on): Likewise.
71368         * modules/fprintf-posix (Depends-on): Likewise.
71369         * modules/snprintf-posix (Depends-on): Likewise.
71370         * modules/sprintf-posix (Depends-on): Likewise.
71371         * modules/vasnprintf-posix (Depends-on): Likewise.
71372         * modules/vasprintf-posix (Depends-on): Likewise.
71373         * modules/vfprintf-posix (Depends-on): Likewise.
71374         * modules/vsnprintf-posix (Depends-on): Likewise.
71375         * modules/vsprintf-posix (Depends-on): Likewise.
71376         * modules/frexpl-tests (Depends-on): Likewise.
71377         * modules/printf-frexpl-tests (Depends-on): Likewise.
71378
71379 2007-03-24  Bruno Haible  <bruno@clisp.org>
71380
71381         * lib/float+.h: New file.
71382         * lib/isnan.c: Include float+.h.
71383         (SIZE): New macro.
71384         (FUNC): Compare only SIZE bytes of the value.
71385         * lib/vasnprintf.c: Include float+.h.
71386         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
71387         SIZEOF_LDBL or SIZEOF_DBL bytes.
71388         * modules/isnan-nolibm (Files): Add lib/float+.h.
71389         * modules/isnanl-nolibm (Files): Add lib/float+.h.
71390         * modules/isnanl (Files): Add lib/float+.h.
71391         * modules/vasnprintf (Files): Add lib/float+.h.
71392
71393 2007-03-24  Bruno Haible  <bruno@clisp.org>
71394
71395         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
71396         include isnanl-nolibm.h.
71397
71398 2007-03-24  Bruno Haible  <bruno@clisp.org>
71399
71400         * tests/test-read-file.c (main): Don't produce spurious output for
71401         expected situations. Make the test fail if it encountered unexpected
71402         results.
71403
71404 2007-03-24  Bruno Haible  <bruno@clisp.org>
71405
71406         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
71407         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
71408
71409 2007-03-24  Bruno Haible  <bruno@clisp.org>
71410
71411         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
71412
71413 2007-03-24  Bruno Haible  <bruno@clisp.org>
71414
71415         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
71416         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
71417
71418         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
71419         * modules/utf8-ucs4: Turn into a symbolic link to module
71420         unistr/u8-mbtouc.
71421
71422         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
71423         utf8-ucs4-unsafe.
71424         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
71425         unistr/u8-mbtouc-unsafe.
71426
71427         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
71428         * modules/utf16-ucs4: Turn into a symbolic link to module
71429         unistr/u16-mbtouc.
71430
71431         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
71432         utf16-ucs4-unsafe.
71433         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
71434         unistr/u16-mbtouc-unsafe.
71435
71436         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
71437         * modules/ucs4-utf8: Turn into a symbolic link to module
71438         unistr/u8-ubtomb.
71439
71440         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
71441         * modules/ucs4-utf16: Turn into a symbolic link to module
71442         unistr/u16-ubtomb.
71443
71444 2007-03-24  Bruno Haible  <bruno@clisp.org>
71445
71446         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
71447         Enable the function only if HAVE_INLINE.
71448         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
71449         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71450         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
71451         Enable the function only if HAVE_INLINE.
71452         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
71453         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71454         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
71455         Enable the function only if HAVE_INLINE.
71456         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
71457         Enable the function only if HAVE_INLINE.
71458         * modules/utf8-ucs4: Update.
71459         * modules/utf8-ucs4-unsafe: Update.
71460         * modules/utf16-ucs4: Update.
71461         * modules/utf16-ucs4-unsafe: Update.
71462         * modules/ucs4-utf8: Update.
71463         * modules/ucs4-utf16: Update.
71464
71465 2007-03-24  Bruno Haible  <bruno@clisp.org>
71466
71467         * lib/utf8-ucs4.h: Remove file.
71468         * lib/utf8-ucs4-unsafe.h: Remove file.
71469         * lib/utf16-ucs4.h: Remove file.
71470         * lib/utf16-ucs4-unsafe.h: Remove file.
71471         * lib/ucs4-utf8.h: Remove file.
71472         * lib/ucs4-utf16.h: Remove file.
71473         * lib/unistr.h: Include their previous contents.
71474         * m4/utf-ucs4.m4: Remove file.
71475         * m4/ucs4-utf.m4: Remove file.
71476         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
71477         (Depends-on): Add unistr/base.
71478         (configure.ac): Remove gl_UTF_UCS4.
71479         (Makefile.am): Update.
71480         (Include): Change to unistr.h.
71481         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
71482         (Depends-on): Add unistr/base.
71483         (configure.ac): Remove gl_UTF_UCS4.
71484         (Makefile.am): Update.
71485         (Include): Change to unistr.h.
71486         * modules/utf16-ucs4 (Files): Remove lib/utf16-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/utf16-ucs4-unsafe (Files): Remove lib/utf16-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/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
71497         (Depends-on): Add unistr/base.
71498         (configure.ac): Remove gl_UCS4_UTF.
71499         (Makefile.am): Update.
71500         (Include): Change to unistr.h.
71501         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
71502         (Depends-on): Add unistr/base.
71503         (configure.ac): Remove gl_UCS4_UTF.
71504         (Makefile.am): Update.
71505         (Include): Change to unistr.h.
71506         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
71507         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
71508         utf8-ucs4-unsafe.h.
71509         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
71510         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
71511         utf16-ucs4-unsafe.h.
71512         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
71513         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
71514         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
71515         * lib/unistr/u8-strchr.c: Likewise.
71516         * lib/unistr/u8-strrchr.c: Likewise.
71517         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
71518         * lib/unistr/u16-strchr.c: Likewise.
71519         * lib/unistr/u16-strrchr.c: Likewise.
71520         * lib/striconveh.c: Update.
71521         * lib/linebreak.c: Update.
71522
71523 2007-03-24  Bruno Haible  <bruno@clisp.org>
71524
71525         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
71526         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
71527
71528 2007-03-22  Bruno Haible  <bruno@clisp.org>
71529
71530         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
71531
71532 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
71533
71534         * MODULES.html.sh (File system functions): New module write-any-file.
71535         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
71536         * m4/write-any-file.m4: New files.
71537
71538 2007-03-23  Eric Blake  <ebb9@byu.net>
71539
71540         * gnulib-tool: Rearrange space-tab sequences, since some editors
71541         like to eat them.
71542
71543 2007-03-23  Eric Blake  <ebb9@byu.net>
71544
71545         * lib/version-etc.c (version_etc_va): Update license wording to
71546         be more concise.  Recommended by Richard Stallman.
71547
71548 2007-03-22  Bruno Haible  <bruno@clisp.org>
71549
71550         * lib/poll.c (MSG_PEEK): New fallback definition.
71551
71552 2007-03-22  Bruno Haible  <bruno@clisp.org>
71553
71554         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
71555         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
71556         (main): Update.
71557         Fixes a compilation error on BeOS.
71558
71559 2007-03-22  Bruno Haible  <bruno@clisp.org>
71560
71561         * modules/frexpl-tests: New file.
71562         * tests/test-frexpl.c: New file.
71563
71564         * modules/frexpl: New file.
71565         * m4/frexpl.m4: New file.
71566         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
71567         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
71568         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
71569         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
71570         (Depends-on): Add frexpl. Remove isnanl-nolibm.
71571         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
71572
71573 2007-03-22  Bruno Haible  <bruno@clisp.org>
71574
71575         * lib/frexpl.c: Share code with lib/frexp.c.
71576         * modules/mathl (Files): Add lib/frexp.c.
71577         (Depends-on): Add isnanl-nolibm.
71578
71579 2007-03-22  Bruno Haible  <bruno@clisp.org>
71580
71581         * modules/printf-frexp (Files): Add m4/frexp.m4.
71582         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
71583         only if the found frexp function actually works.
71584
71585 2007-03-22  Bruno Haible  <bruno@clisp.org>
71586
71587         * lib/frexp.c: Remove older implementation that uses divisions.
71588
71589 2007-03-21  Bruno Haible  <bruno@clisp.org>
71590
71591         * modules/frexp-tests: New file.
71592         * tests/test-frexp.c: New file.
71593
71594         * modules/frexp: New file.
71595         * lib/frexp.c: New file.
71596         * m4/frexp.m4: New file.
71597         * lib/math_.h (frexp): New declaration.
71598         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
71599         REPLACE_FREXP.
71600         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
71601
71602 2007-03-21  Bruno Haible  <bruno@clisp.org>
71603
71604         * modules/isnanl-tests: New file.
71605         * tests/test-isnanl.c: New file.
71606
71607         * modules/isnanl: New file.
71608         * lib/isnanl.h: New file.
71609         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
71610         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
71611         gl_FUNC_ISNANL_WORKS.
71612         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
71613         New macros.
71614
71615 2007-03-21  Bruno Haible  <bruno@clisp.org>
71616
71617         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
71618         lib/isnanl.h.
71619         (Include): Update.
71620         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
71621         * lib/vasnprintf.c: Update.
71622         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
71623         tests/test-isnanl.h, remove tests/test-isnanl.c.
71624         (Makefile.am): Update.
71625         * tests/test-isnanl-nolibm.c: New file.
71626         * tests/test-isnanl.h: New file.
71627         * tests/test-isnanl.c: Remove file.
71628
71629 2007-03-21  Jim Meyering  <jim@meyering.net>
71630
71631         When trying to open ".", treat ESTALE like EACCES.
71632         * lib/savewd.c (savewd_save): Resort to forking not just upon
71633         failure with EACCES, but also when errno is ESTALE.
71634
71635 2007-03-20  Bruno Haible  <bruno@clisp.org>
71636
71637         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
71638         Needed on AIX 5.1. Reported by Matthew Woehlke.
71639
71640 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71641
71642         Suggestions by Bruno Haible:
71643         * lib/acl-internal.h: Include "gettext.h" rather than rolling
71644         our own.
71645         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
71646         * modules/acl (Depends-on): Add gettext.
71647
71648 2007-03-19  Bruno Haible  <bruno@clisp.org>
71649
71650         * modules/iconvme: Remove file.
71651         * lib/iconvme.h: Remove file.
71652         * lib/iconvme.c: Remove file.
71653         * m4/iconvme.m4: Remove file.
71654
71655 2007-03-19  Bruno Haible  <bruno@clisp.org>
71656
71657         * doc/relocatable-maint.texi: Break long shell script line.
71658         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71659
71660 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71661
71662         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
71663         handle file_has_acl.
71664         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
71665         * lib/acl.c: Move header inclusions and related macro defns into
71666         lib/acl-internal.h.
71667         (S_ISLNK): Remove defn, since that's now done for us.
71668         (file_has_acl): Move to lib/file-has-acl.c.
71669         Call acl_trivial if available.  This is the crucial part of the fix.
71670         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
71671         shared within the library.  Rewrite a bit, partly to make it compatible
71672         with the GNU coding style.
71673         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
71674         Remove unnecessary double-quotes.
71675         Don't test for acl_to_text; the build will catch that.
71676         Replace acl_entries if it doesn't exist and it is needed.
71677         Check for -lsec and acl_trivial (as used on Solaris 10).
71678         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
71679         lib/file-has-acl.c.
71680         (Depends-on): Add sys_stat, for S_ISLNK.
71681
71682 2007-03-19  Ben Pfaff  <blp@gnu.org>
71683
71684         * doc/gnulib.texi: Fix typos.
71685         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71686
71687 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71688
71689         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
71690         If size is zero here, buf must be zero.
71691
71692 2007-03-19  Simon Josefsson  <simon@josefsson.org>
71693
71694         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
71695         <bruno@clisp.org>.
71696
71697 2007-03-18  Bruno Haible  <bruno@clisp.org>
71698
71699         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
71700         Suggested by Eric Blake.
71701
71702 2007-03-18  Ben Pfaff  <blp@gnu.org>
71703
71704         * doc/relocatable.texi: Recommend using as prefix a directory
71705         that does not exist and will never be created.  Based on
71706         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
71707         and others.
71708
71709 2007-03-17  Bruno Haible  <bruno@clisp.org>
71710
71711         * lib/fchownat.c: Include lchown.h.
71712
71713 2007-03-17  Bruno Haible  <bruno@clisp.org>
71714
71715         Fix endless loop when the given allocated size was > INT_MAX.
71716         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
71717         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
71718         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
71719         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
71720         * lib/sprintf.c (sprintf): Likewise.
71721
71722 2007-03-17  Bruno Haible  <bruno@clisp.org>
71723
71724         * tests/test-argp-2.sh (func_compare): Output a context diff.
71725
71726 2007-03-17  Bruno Haible  <bruno@clisp.org>
71727
71728         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
71729         locale's decimal-point character.
71730
71731 2007-03-17  Bruno Haible  <bruno@clisp.org>
71732
71733         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
71734         before comparing it. Needed because on some platforms (e.g. x86) a
71735         'long double' occupies less bytes than sizeof (long double).
71736
71737 2007-03-17  Bruno Haible  <bruno@clisp.org>
71738
71739         * tests/test-crc.c (main): Make printf statements 64-bit clean.
71740         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
71741         * tests/test-getaddrinfo.c (simple): Likewise.
71742         * tests/test-read-file.c (main): Likewise.
71743
71744 2007-03-17  Bruno Haible  <bruno@clisp.org>
71745
71746         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
71747
71748 2007-03-17  Bruno Haible  <bruno@clisp.org>
71749
71750         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
71751         unused variable.
71752
71753 2007-03-17  Bruno Haible  <bruno@clisp.org>
71754
71755         * tests/test-c-strcasecmp.c: Include c-strcase.h.
71756         * tests/test-c-strncasecmp.c: Likewise.
71757
71758 2007-03-17  Bruno Haible  <bruno@clisp.org>
71759
71760         * modules/stdlib (Depends-on): Add unistd.
71761         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
71762         Needed for MacOS X 10.3.
71763
71764 2007-03-17  Bruno Haible  <bruno@clisp.org>
71765
71766         * lib/unistr/u-strdup.h: Include <stdlib.h>.
71767
71768 2007-03-17  Bruno Haible  <bruno@clisp.org>
71769
71770         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
71771
71772 2007-03-17  Bruno Haible  <bruno@clisp.org>
71773
71774         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
71775         to reflect files copied from gnulib (with or without modifications).
71776         Suggested by Jim Meyering.
71777
71778 2007-03-17  Eric Blake  <ebb9@byu.net>
71779
71780         * NEWS: Document stdlib change from 2007-02-18.
71781
71782 2007-03-17  Jim Meyering  <jim@meyering.net>
71783
71784         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
71785         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
71786         someone uses a name containing shell meta-characters.
71787         Reported by Alfred M. Szmidt.
71788
71789         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
71790
71791 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71792
71793         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
71794         and copy gettext configuration files only if configure.ac contains
71795         a use of AM_GNU_GETTEXT_VERSION.
71796
71797 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71798
71799         * build-aux/bootstrap (gnulib_name): New variable.
71800         (gnulib_tool_options): Use it.
71801
71802 2007-03-13  Simon Josefsson  <simon@josefsson.org>
71803
71804         * tests/test-des.c: Use new namespace.
71805
71806 2007-03-15  Bruno Haible  <bruno@clisp.org>
71807
71808         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
71809         Reported by James Youngman <jay@gnu.org>.
71810
71811 2007-03-15  Bruno Haible  <bruno@clisp.org>
71812
71813         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
71814         declared prototype. Needed with cc on OSF/1 5.1.
71815
71816 2007-03-15  Bruno Haible  <bruno@clisp.org>
71817
71818         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
71819         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
71820         (struct gl_list_implementation): Add dispose_fn argument to the
71821         'create_empty', 'create' methods.
71822         (struct gl_list_impl_base): Add field 'dispose_fn'.
71823         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
71824         argument.
71825         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
71826         dispose_fn argument.
71827         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
71828         dispose_fn on the dropped values.
71829         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
71830         dispose_fn argument.
71831         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
71832         dropped values.
71833         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
71834         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71835         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
71836         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71837         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
71838         argument.
71839         (gl_tree_list_free): Call dispose_fn on the dropped values.
71840         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
71841         the dropped values.
71842         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
71843         Add dispose_fn argument.
71844         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
71845         Call dispose_fn on the dropped values.
71846         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
71847         Add dispose_fn argument.
71848         (gl_sublist_create): Initialize the 'dispose_fn' field.
71849         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
71850         * tests/test-array_list.c (main): Update.
71851         * tests/test-carray_list.c (main): Update.
71852         * tests/test-avltree_list.c (main): Update.
71853         * tests/test-rbtree_list.c (main): Update.
71854         * tests/test-avltreehash_list.c (main): Update.
71855         * tests/test-rbtreehash_list.c (main): Update.
71856         * tests/test-linked_list.c (main): Update.
71857         * tests/test-linkedhash_list.c (main): Update.
71858         * tests/test-array_oset.c (main): Update.
71859
71860 2007-03-15  Bruno Haible  <bruno@clisp.org>
71861
71862         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
71863         (gl_oset_create_empty): Add dispose_fn argument.
71864         (struct gl_oset_implementation): Add dispose_fn argument to
71865         'create_empty' method.
71866         (struct gl_oset_impl_base): Add dispose_fn field.
71867         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
71868         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
71869         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
71870         values.
71871         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
71872         (gl_tree_oset_free): Call dispose_fn on the dropped values.
71873         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71874         dropped value.
71875         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71876         dropped value.
71877         * tests/test-array_oset.c (main): Update.
71878         * tests/test-avltree_oset.c (main): Update.
71879         * tests/test-rbtree_oset.c (main): Update.
71880         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
71881
71882 2007-03-13  Bruno Haible  <bruno@clisp.org>
71883
71884         * tests/test-stdbool.c (i): Update after last patch.
71885
71886 2007-03-12  Bruno Haible  <bruno@clisp.org>
71887
71888         * lib/quotearg.c: Include <wctype.h> early, before the definition of
71889         the iswprint macro. Needed on Solaris 2.5.1.
71890
71891 2007-03-12  Bruno Haible  <bruno@clisp.org>
71892
71893         * tests/test-printf-frexp.c (main): Declare x as volatile.
71894
71895 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71896
71897         * doc/gnulib.texi (Build robot for gnulib): New section.
71898
71899 2007-03-12  Jim Meyering  <jim@meyering.net>
71900
71901         * build-aux/bootstrap: New file.
71902         * build-aux/bootstrap.conf: New file, from coreutils.
71903
71904 2007-03-11  Bruno Haible  <bruno@clisp.org>
71905
71906         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
71907
71908 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71909
71910         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
71911         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
71912         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
71913
71914 2007-03-11  Bruno Haible  <bruno@clisp.org>
71915
71916         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
71917         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
71918
71919 2007-03-11  Bruno Haible  <bruno@clisp.org>
71920
71921         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
71922         formula. Needed for SunPRO C 5.0.
71923
71924 2007-03-11  Bruno Haible  <bruno@clisp.org>
71925
71926         * modules/long-options (Depends-on): Add getopt.
71927
71928 2007-03-11  Bruno Haible  <bruno@clisp.org>
71929
71930         * modules/modechange (Depends-on): Add stdbool.
71931
71932 2007-03-11  Bruno Haible  <bruno@clisp.org>
71933
71934         * modules/i-ring (Depends-on): Add stdbool.
71935
71936 2007-03-11  Bruno Haible  <bruno@clisp.org>
71937
71938         * modules/gc-des (Depends-on): Add stdbool.
71939
71940 2007-03-11  Bruno Haible  <bruno@clisp.org>
71941
71942         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
71943
71944 2007-03-11  Bruno Haible  <bruno@clisp.org>
71945
71946         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
71947
71948 2007-03-11  Bruno Haible  <bruno@clisp.org>
71949
71950         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
71951
71952 2007-03-11  Bruno Haible  <bruno@clisp.org>
71953
71954         * lib/vasnprintf.c (sprintf): Undefine.
71955
71956 2007-03-11  Bruno Haible  <bruno@clisp.org>
71957
71958         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
71959         initializers in SunPRO C and Compaq C compilers.
71960
71961 2007-03-11  Bruno Haible  <bruno@clisp.org>
71962
71963         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
71964         decrementing code ANSI C compliant.
71965
71966 2007-03-11  Bruno Haible  <bruno@clisp.org>
71967
71968         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
71969         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
71970
71971 2007-03-11  Bruno Haible  <bruno@clisp.org>
71972
71973         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
71974         <stdbool.h> substitute doesn't pass.
71975
71976 2007-03-11  Bruno Haible  <bruno@clisp.org>
71977
71978         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
71979
71980 2007-03-11  Bruno Haible  <bruno@clisp.org>
71981
71982         * gnulib-tool (func_create_megatestdir): Create also an autobuild
71983         script, for submission to autobuild.josefsson.org.
71984
71985 2007-03-10  Bruno Haible  <bruno@clisp.org>
71986
71987         * modules/canonicalize-lgpl-tests: New file.
71988         * tests/test-canonicalize-lgpl.sh: New file.
71989         * tests/test-canonicalize-lgpl.c: New file.
71990
71991         * modules/c-strcase-tests: New file.
71992         * tests/test-c-strcase.sh: New file.
71993         * tests/test-c-strcasecmp.c: New file.
71994         * tests/test-c-strncasecmp.c: New file.
71995
71996         * modules/atexit-tests: New file.
71997         * tests/test-atexit.sh: New file.
71998         * tests/test-atexit.c: New file.
71999
72000 2007-03-10  Bruno Haible  <bruno@clisp.org>
72001
72002         * tests/test-binary-io.sh: Use temporary filenames that are not so
72003         likely to clash with those of other tests (in a parallel make).
72004         * tests/test-binary-io.c: Likewise.
72005
72006 2007-03-10  Bruno Haible  <bruno@clisp.org>
72007
72008         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
72009         fallback; use #error instead.
72010         Suggested by Simon Josefsson.
72011
72012 2007-03-10  Bruno Haible  <bruno@clisp.org>
72013
72014         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
72015         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
72016         first and the last.
72017
72018 2007-03-10  Bruno Haible  <bruno@clisp.org>
72019
72020         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
72021
72022 2007-03-10  Bruno Haible  <bruno@clisp.org>
72023
72024         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
72025         "make distcheck".
72026         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
72027         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
72028         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
72029
72030 2007-03-10  Bruno Haible  <bruno@clisp.org>
72031
72032         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
72033         variable.
72034         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
72035         variable.
72036
72037 2007-03-09  Eric Blake  <ebb9@byu.net>
72038         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
72039
72040         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
72041         types are not being provided by gnulib.
72042         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
72043         types are supported.
72044
72045 2007-03-10  Bruno Haible  <bruno@clisp.org>
72046
72047         * lib/stdio_.h (__attribute__): New macro.
72048         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
72049         vsprintf): Specify __attribute__ __format__ for GCC.
72050         Suggested by Eric Blake.
72051
72052 2007-03-09  Bruno Haible  <bruno@clisp.org>
72053
72054         * modules/printf-posix-tests: New file.
72055         * tests/test-printf-posix.sh: New file.
72056         * tests/test-printf-posix.c: New file.
72057
72058         * modules/printf-posix: New file.
72059         * lib/printf.c: New file.
72060         * m4/printf-posix-rpl.m4: New file.
72061         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
72062         REPLACE_PRINTF.
72063         * lib/stdio_.h (printf): New declaration.
72064         (format, __format__, ____printf____, ____scanf____, ____strftime____,
72065         ____strfmon____): New macros.
72066         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
72067         REPLACE_PRINTF.
72068
72069 2007-03-09  Bruno Haible  <bruno@clisp.org>
72070
72071         * tests/test-vasnprintf-posix2.sh: New file.
72072         * tests/test-vasnprintf-posix2.c: New file.
72073         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
72074         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
72075         (Makefile.am): Activate test-vasnprintf-posix2.sh.
72076
72077         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
72078         a locale dependent decimal point, rather than always '.'.
72079
72080 2007-03-09  Eric Blake  <ebb9@byu.net>
72081
72082         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
72083         spite of platforms like Tandem/NSK that define it to -1.
72084
72085 2007-03-08  Bruno Haible  <bruno@clisp.org>
72086
72087         * modules/vprintf-posix-tests: New file.
72088         * tests/test-vprintf-posix.sh: New file.
72089         * tests/test-vprintf-posix.c: New file.
72090         * tests/test-printf-posix.h: New file.
72091
72092         * modules/vprintf-posix: New file.
72093         * lib/vprintf.c: New file.
72094         * m4/vprintf-posix.m4: New file.
72095         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
72096         REPLACE_VPRINTF.
72097         * lib/stdio_.h (vprintf): New declaration.
72098         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
72099         REPLACE_VPRINTF.
72100
72101 2007-03-08  Bruno Haible  <bruno@clisp.org>
72102
72103         * modules/fprintf-posix-tests: New file.
72104         * tests/test-fprintf-posix.sh: New file.
72105         * tests/test-fprintf-posix.c: New file.
72106
72107         * modules/fprintf-posix: New file.
72108         * lib/fprintf.c: New file.
72109         * m4/fprintf-posix.m4: New file.
72110         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
72111         REPLACE_FPRINTF.
72112         * lib/stdio_.h (fprintf): New declaration.
72113         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
72114         REPLACE_FPRINTF.
72115
72116 2007-03-08  Bruno Haible  <bruno@clisp.org>
72117
72118         * modules/vfprintf-posix-tests: New file.
72119         * tests/test-vfprintf-posix.sh: New file.
72120         * tests/test-vfprintf-posix.c: New file.
72121         * tests/test-fprintf-posix.h: New file.
72122         * tests/test-fprintf-posix.out: New file.
72123
72124         * modules/vfprintf-posix: New file.
72125         * lib/vfprintf.c: New file.
72126         * m4/vfprintf-posix.m4: New file.
72127         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
72128         REPLACE_VFPRINTF.
72129         * lib/stdio_.h (vfprintf): New declaration.
72130         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
72131         REPLACE_VFPRINTF.
72132
72133 2007-03-08  Bruno Haible  <bruno@clisp.org>
72134
72135         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
72136
72137 2007-03-08  Bruno Haible  <bruno@clisp.org>
72138
72139         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
72140         instead of 'expr' invocations.
72141         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
72142         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
72143         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
72144         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
72145         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
72146         Suggested by Paul Eggert.
72147
72148 2007-03-08  Bruno Haible  <bruno@clisp.org>
72149
72150         * modules/fseterr-tests: New file.
72151         * tests/test-fseterr.c: New file.
72152
72153         * modules/fseterr: New file.
72154         * lib/fseterr.h: New file.
72155         * lib/fseterr.c: New file.
72156
72157 2007-03-08  Bruno Haible  <bruno@clisp.org>
72158
72159         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
72160         * lib/getopt_.h: Likewise.
72161         * lib/mbswidth.h: Likewise.
72162         * lib/setenv.h: Likewise.
72163         * lib/vasnprintf.h: Likewise.
72164         * lib/vasprintf.h: Likewise.
72165         * lib/verror.h: Likewise.
72166         * lib/xsetenv.h: Likewise.
72167         * lib/xvasprintf.h: Likewise.
72168
72169 2007-03-08  Jim Meyering  <jim@meyering.net>
72170
72171         * users.txt: Add parted.
72172
72173         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
72174
72175 2007-03-07  Bruno Haible  <bruno@clisp.org>
72176
72177         * m4/printf.m4: Make the shell script snippets copy&pastable.
72178
72179 2007-03-02  Bruno Haible  <bruno@clisp.org>
72180
72181         * lib/netinet_in_.h: New file.
72182         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
72183         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
72184         * modules/netinet_in (Files): Add lib/netinet_in_.h.
72185         (Depends-on): Add absolute-header.
72186         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
72187         into netinet/in.h.
72188
72189 2007-03-03  Bruno Haible  <bruno@clisp.org>
72190
72191         * lib/sys_select_.h: New file.
72192         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
72193         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
72194         * modules/sys_select (Files): Add lib/sys_select_.h.
72195         (Depends-on): Add absolute-header.
72196         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
72197         into sys/select.h.
72198
72199 2007-03-02  Bruno Haible  <bruno@clisp.org>
72200
72201         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
72202         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
72203         values.
72204         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
72205         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
72206         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
72207         * modules/sys_socket (Depends-on): Add absolute-header.
72208         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
72209         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
72210         (Include): Remove requirement of inclusion of <sys/types.h>.
72211
72212 2007-03-02  Bruno Haible  <bruno@clisp.org>
72213
72214         * lib/byteswap_.h (bswap_32): Fix formula.
72215
72216 2007-03-06  Bruno Haible  <bruno@clisp.org>
72217
72218         * modules/sprintf-posix-tests: New file.
72219         * tests/test-sprintf-posix.c: New file.
72220
72221         * modules/sprintf-posix: New file.
72222         * lib/sprintf.c: New file.
72223         * m4/sprintf-posix.m4: New file.
72224         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
72225         REPLACE_SPRINTF.
72226         * lib/stdio_.h (sprintf): New declaration.
72227         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
72228         REPLACE_SPRINTF.
72229
72230 2007-03-06  Bruno Haible  <bruno@clisp.org>
72231
72232         * modules/vsprintf-posix-tests: New file.
72233         * tests/test-vsprintf-posix.c: New file.
72234         * tests/test-sprintf-posix.h: New file.
72235
72236         * modules/vsprintf-posix: New file.
72237         * lib/vsprintf.c: New file.
72238         * m4/vsprintf-posix.m4: New file.
72239         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
72240         REPLACE_VSPRINTF.
72241         * lib/stdio_.h (vsprintf): New declaration.
72242         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
72243         REPLACE_VSPRINTF.
72244
72245 2007-03-06  Bruno Haible  <bruno@clisp.org>
72246
72247         * modules/vsnprintf (Depend-on): Remove minmax.
72248
72249 2007-03-06  Bruno Haible  <bruno@clisp.org>
72250
72251         * modules/snprintf-posix-tests: New file.
72252         * tests/test-snprintf-posix.c: New file.
72253
72254         * modules/snprintf-posix: New file.
72255         * m4/snprintf-posix.m4: New file.
72256         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
72257         gl_FUNC_SNPRINTF.
72258         (gl_FUNC_SNPRINTF): Invoke it.
72259         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
72260         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
72261         is set.
72262         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
72263
72264 2007-03-06  Bruno Haible  <bruno@clisp.org>
72265
72266         * modules/vsnprintf-posix-tests: New file.
72267         * tests/test-vsnprintf-posix.c: New file.
72268         * tests/test-snprintf-posix.h: New file.
72269
72270         * modules/vsnprintf-posix: New file.
72271         * m4/vsnprintf-posix.m4: New file.
72272         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
72273         gl_FUNC_VSNPRINTF.
72274         (gl_FUNC_VSNPRINTF): Invoke it.
72275         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
72276         * lib/stdio_.h (vsnprintf): Define as a replacement if
72277         REPLACE_VSNPRINTF is set.
72278         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
72279
72280 2007-03-06  Bruno Haible  <bruno@clisp.org>
72281
72282         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
72283         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
72284
72285 2007-03-06  Bruno Haible  <bruno@clisp.org>
72286
72287         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
72288         (asinl): Declare also if HAVE_DECL_ASINL is set.
72289         (atanl): Declare also if HAVE_DECL_ATANL is set.
72290         (ceill): Declare also if HAVE_DECL_CEILL is set.
72291         (cosl): Declare also if HAVE_DECL_COSL is set.
72292         (expl): Declare also if HAVE_DECL_EXPL is set.
72293         (floorl): Declare also if HAVE_DECL_FLOORL is set.
72294         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
72295         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
72296         (logl): Declare also if HAVE_DECL_LOGL is set.
72297         (sinl): Declare also if HAVE_DECL_SINL is set.
72298         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
72299         (tanl): Declare also if HAVE_DECL_TANL is set.
72300         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
72301         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
72302         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
72303         declaration of frexpl, ldexpl.
72304         * modules/printf-frexpl (Depends-on): Add math.
72305         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
72306
72307 2007-03-05  Bruno Haible  <bruno@clisp.org>
72308
72309         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
72310         frexpl and ldexpl are declared.
72311         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
72312
72313 2007-03-05  Bruno Haible  <bruno@clisp.org>
72314
72315         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
72316         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
72317
72318 2007-03-05  Bruno Haible  <bruno@clisp.org>
72319
72320         * lib/stdio_.h: Include <stddef.h>.
72321
72322 2007-03-05  Bruno Haible  <bruno@clisp.org>
72323
72324         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
72325
72326 2007-03-05  Bruno Haible  <bruno@clisp.org>
72327
72328         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
72329         NetBSD 4, from Ralf Wildenhues.
72330
72331 2007-03-04  Bruno Haible  <bruno@clisp.org>
72332
72333         * lib/vasprintf.h: Update #if logic for the case when the functions
72334         exist but are overridden.
72335
72336 2007-03-04  Bruno Haible  <bruno@clisp.org>
72337
72338         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
72339         implementations: glibc-2.4 and MacOS X 10.3.
72340         * tests/test-vasnprintf-posix.c (test_function): Test also the case
72341         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
72342         * tests/test-vasprintf-posix.c (test_function): Likewise.
72343
72344 2007-03-04  Bruno Haible  <bruno@clisp.org>
72345
72346         * modules/vasprintf-posix-tests: New file.
72347         * tests/test-vasprintf-posix.c: New file.
72348
72349         * modules/vasprintf-posix: New file.
72350         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
72351         defined.
72352         * m4/vasprintf-posix.m4: New file.
72353         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
72354         gl_FUNC_VASPRINTF.
72355         (gl_FUNC_VASPRINTF): Invoke it.
72356         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
72357         here.
72358         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
72359
72360 2007-03-04  Bruno Haible  <bruno@clisp.org>
72361
72362         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
72363         REPLACE_GETTIMEOFDAY.
72364         * modules/sys_time (Makefile.am): Likewise.
72365         * m4/sys_time_h.m4: Likewise.
72366         * m4/gettimeofday.m4: Likewise.
72367
72368 2007-03-04  Bruno Haible  <bruno@clisp.org>
72369
72370         * modules/vasnprintf-posix-tests: New file.
72371         * tests/test-vasnprintf-posix.c: New file.
72372
72373         * modules/vasnprintf-posix: New file.
72374         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
72375         printf-frexpl.h.
72376         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
72377         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
72378         REPLACE_VASNPRINTF is defined.
72379         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
72380         gl_FUNC_VASNPRINTF.
72381         (gl_FUNC_VASNPRINTF): Invoke it.
72382         * m4/vasnprintf-posix.m4: New file.
72383         * m4/printf.m4: New file.
72384
72385 2007-03-04  Bruno Haible  <bruno@clisp.org>
72386
72387         Compile progreloc.c only if --enable-relocatable is specified.
72388         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
72389         if --enable-relocatable was specified.
72390         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
72391         lib_SOURCES.
72392
72393 2007-03-04  Jim Meyering  <jim@meyering.net>
72394
72395         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
72396         Use it consistently, rather than enumerating errno constants.
72397
72398 2007-03-04  Bruno Haible  <bruno@clisp.org>
72399
72400         * modules/xvasprintf-tests: New file.
72401         * tests/test-xvasprintf.c: New file.
72402
72403         * modules/vasprintf-tests: New file.
72404         * tests/test-vasprintf.c: New file.
72405
72406         * modules/vasnprintf-tests: New file.
72407         * tests/test-vasnprintf.c: New file.
72408
72409         * modules/vsnprintf-tests: New file.
72410         * tests/test-vsnprintf.c: New file.
72411
72412         * modules/snprintf-tests: New file.
72413         * tests/test-snprintf.c: New file.
72414
72415 2007-03-04  Bruno Haible  <bruno@clisp.org>
72416
72417         Compile relocatable.c only if --enable-relocatable is specified.
72418         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
72419         gl_RELOCATABLE_LIBRARY.
72420         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
72421         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
72422         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
72423         gl_RELOCATABLE_LIBRARY.
72424         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
72425         (Makefile.am): Remove lib_SOURCES.
72426         * modules/relocatable-lib-lgpl (configure.ac): Invoke
72427         gl_RELOCATABLE_LIBRARY.
72428         (Makefile.am): Remove lib_SOURCES.
72429         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
72430         always.
72431         * modules/relocatable-prog-wrapper (configure.ac): Invoke
72432         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
72433
72434 2007-03-04  Bruno Haible  <bruno@clisp.org>
72435
72436         * modules/argmatch-tests: New file.
72437         * tests/test-argmatch.c: New file.
72438
72439         * tests/test-allocsa.c (main): Halve the number of loop runs.
72440
72441         * modules/alloca-opt-tests: New file.
72442         * tests/test-alloca-opt.c: New file.
72443
72444 2007-03-04  Jim Meyering  <jim@meyering.net>
72445
72446         Work around difference between Linux ACLs and Solaris 10 ZFS.
72447         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
72448         for EINVAL.
72449
72450 2007-03-03  Bruno Haible  <bruno@clisp.org>
72451
72452         * modules/relocatable-prog (Depends-on): Add back progreloc's
72453         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
72454
72455 2007-03-03  Bruno Haible  <bruno@clisp.org>
72456
72457         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
72458         * modules/relocatable-lib: New file.
72459
72460 2007-03-03  Bruno Haible  <bruno@clisp.org>
72461
72462         * modules/relocatable-prog: Renamed from modules/relocatable.
72463         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
72464
72465 2007-03-03  Bruno Haible  <bruno@clisp.org>
72466
72467         * modules/relocatable-script (Files): Add doc/relocatable.texi,
72468         m4/relocatable-lib.m4.
72469         (Depends-on): Remove 'relocatable'.
72470         (configure.ac): Add gl_RELOCATABLE_NOP.
72471
72472 2007-03-03  Bruno Haible  <bruno@clisp.org>
72473
72474         * modules/relocatable-prog-wrapper: New file.
72475         * modules/relocatable (Depends-on): Add it. Remove all other
72476         dependencies except progname.
72477         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
72478
72479         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
72480         (gl_FUNC_STRERROR): Nop.
72481         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
72482
72483         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
72484         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
72485
72486         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
72487         (gl_FUNC_READLINK): Update.
72488
72489         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
72490
72491 2007-03-03  Bruno Haible  <bruno@clisp.org>
72492
72493         * lib/xreadlink.c: Include <unistd.h> unconditionally.
72494         * modules/xreadlink (Depends-on): Add unistd.
72495         * modules/xreadlink-with-size (Depends-on): Likewise.
72496
72497 2007-03-03  Bruno Haible  <bruno@clisp.org>
72498
72499         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
72500         extracted from gt_FUNC_SETENV.
72501         (gt_FUNC_SETENV): Remove macro.
72502         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
72503         remove gt_FUNC_SETENV.
72504
72505 2007-03-03  Bruno Haible  <bruno@clisp.org>
72506
72507         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
72508         ENABLE_RELOCATABLE here.
72509         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
72510
72511 2007-03-03  Bruno Haible  <bruno@clisp.org>
72512
72513         * modules/rbtreehash-list-tests (Depends-on): Add progname.
72514         * tests/test-rbtreehash_list.c: Include progname.h.
72515         (main): Call set_program_name.
72516
72517         * modules/rbtree-oset-tests (Depends-on): Add progname.
72518         * tests/test-rbtree_oset.c: Include progname.h.
72519         (main): Call set_program_name.
72520
72521         * modules/rbtree-list-tests (Depends-on): Add progname.
72522         * tests/test-rbtree_list.c: Include progname.h.
72523         (main): Call set_program_name.
72524
72525         * modules/linked-list-tests (Depends-on): Add progname.
72526         * tests/test-linked_list.c: Include progname.h.
72527         (main): Call set_program_name.
72528
72529 2007-03-03  Bruno Haible  <bruno@clisp.org>
72530
72531         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
72532         All uses of __restrict changed to _Restrict_.
72533         * lib/glob_.h (__restrict): Remove macro.
72534
72535 2007-03-02  Bruno Haible  <bruno@clisp.org>
72536
72537         * modules/gettext (configure.ac): Require gettext infrastructure
72538         from version 0.16.1.
72539
72540 2007-03-02  Bruno Haible  <bruno@clisp.org>
72541
72542         * modules/linkedhash-list-tests (Depends-on): Add progname.
72543         * tests/test-linkedhash_list.c: Include progname.h.
72544         (main): Call set_program_name.
72545
72546         * modules/carray-list-tests (Depends-on): Add progname.
72547         * tests/test-carray_list.c: Include progname.h.
72548         (main): Call set_program_name.
72549
72550         * modules/avltreehash-list-tests (Depends-on): Add progname.
72551         * tests/test-avltreehash_list.c: Include progname.h.
72552         (main): Call set_program_name.
72553
72554         * modules/avltree-oset-tests (Depends-on): Add progname.
72555         * tests/test-avltree_oset.c: Include progname.h.
72556         (main): Call set_program_name.
72557
72558         * modules/avltree-list-tests (Depends-on): Add progname.
72559         * tests/test-avltree_list.c: Include progname.h.
72560         (main): Call set_program_name.
72561
72562         * modules/array-oset-tests (Depends-on): Add progname.
72563         * tests/test-array_oset.c: Include progname.h.
72564         (main): Call set_program_name.
72565
72566         * modules/array-list-tests (Depends-on): Add progname.
72567         * tests/test-array_list.c: Include progname.h.
72568         (main): Call set_program_name.
72569
72570         * modules/argp-tests (Depends-on): Add progname.
72571         * tests/test-argp.c: Include argp.h first. Include progname.h.
72572         (main): Call set_program_name.
72573
72574 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
72575
72576         * doc/gnulib-tool.texi (Initial import): Reword description of
72577         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
72578         limited effect even if defined after the first system include.
72579
72580 2007-03-01  Bruno Haible  <bruno@clisp.org>
72581
72582         * build-aux/config.libpath: Update to libtool-1.5.22.
72583         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72584
72585 2007-03-01  Bruno Haible  <bruno@clisp.org>
72586
72587         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
72588         foo_CFLAGS.
72589         Reported by Ralf Wildenhues.
72590
72591 2007-03-01  Bruno Haible  <bruno@clisp.org>
72592
72593         * build-aux/install-reloc: Remove object files left over by some
72594         compilers.
72595         Reported by Ralf Wildenhues.
72596
72597 2007-03-01  Bruno Haible  <bruno@clisp.org>
72598
72599         * build-aux/install-reloc: Break long lines.
72600
72601 2007-03-01  Bruno Haible  <bruno@clisp.org>
72602
72603         * doc/relocatable.texi: Document that it may not work on OpenBSD.
72604         Reported by Ralf Wildenhues.
72605
72606 2007-03-01  Bruno Haible  <bruno@clisp.org>
72607
72608         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
72609         include ordering constraints.
72610
72611 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72612
72613         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
72614         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
72615         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
72616         as another example.
72617         * lib/time_.h: Fix misspelling.
72618         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72619         Require gl_HEADER_TIME_H_DEFAULTS.
72620         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
72621         * m4/time_r.m4 (gl_TIME_R): Likewise.
72622         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
72623
72624 2007-03-01  Bruno Haible  <bruno@clisp.org>
72625
72626         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
72627         * m4/utimens.m4 (gl_UTIMENS): Likewise.
72628
72629 2007-03-01  Jim Meyering  <jim@meyering.net>
72630
72631         * modules/xreadlink (Maintainer): Add my name.
72632         * modules/xreadlink-with-size (Depends-on): Alphabetize.
72633
72634 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
72635             Bruno Haible  <bruno@clisp.org>
72636
72637         * build-aux/install-reloc: Compile also c-ctype.c.
72638         * build-aux/relocatable.sh.in: New file.
72639         * doc/relocatable.texi: New file.
72640         * doc/relocatable-maint.texi: New file.
72641         * doc/gnulib.texi: Include relocatable-maint.texi.
72642         * lib/progreloc.c: Include unistd.h unconditionally.
72643         * lib/relocwrapper.c: Include unistd.h unconditionally.
72644         Include c-ctype.h.
72645         (add_dotbin): Use c_tolower.
72646         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
72647         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
72648         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
72649         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
72650         to m4/relocatable-lib.m4.
72651         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
72652         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
72653         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
72654         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
72655         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
72656         * modules/relocatable: New file.
72657         * modules/relocatable-lib: New file.
72658         * modules/relocatable-script: New file.
72659
72660 2007-02-28  Bruno Haible  <bruno@clisp.org>
72661
72662         Import --enable-relocatable infrastructure.
72663         * build-aux/config.libpath: New file, from GNU gettext.
72664         * build-aux/install-reloc: New file, from GNU gettext.
72665         * build-aux/reloc-ldflags: New file, from GNU gettext.
72666         * lib/relocatable.h: New file, from GNU gettext.
72667         * lib/relocatable.c: New file, from GNU gettext.
72668         * lib/relocwrapper.c: New file, from GNU gettext.
72669         * m4/relocatable.m4: New file, from GNU gettext.
72670
72671 2007-02-28  Bruno Haible  <bruno@clisp.org>
72672
72673         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
72674
72675         * modules/xreadlink: New file, from GNU gettext with modifications.
72676         * lib/xreadlink.c: New file, from GNU gettext.
72677         * lib/xreadlink.h: Add comments.
72678         (xreadlink): New declaration.
72679
72680         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
72681         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
72682         lib/xreadlink-with-size.c.
72683         (configure.ac): Remove gl_XREADLINK invocation.
72684         (Makefile.am): Augment lib_SOURCES.
72685         * m4/xreadlink.m4: Remove file.
72686         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
72687         (xreadlink_with_size): Renamed from xreadink.
72688         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
72689         * modules/canonicalize (Depends-on): Replace xreadlink with
72690         xreadlink-with-size.
72691         * lib/canonicalize.c (canonicalize_filename_mode): Update.
72692
72693 2007-02-25  Jim Meyering  <jim@meyering.net>
72694
72695         * build-aux/announce-gen: When complaining about excess arguments,
72696         list them.
72697
72698 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
72699
72700         * README: Document signed integer overflow situation more
72701         accurately.
72702
72703 2007-02-25  Bruno Haible  <bruno@clisp.org>
72704
72705         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
72706         'a' or 'A' conversion.
72707
72708 2007-02-25  Bruno Haible  <bruno@clisp.org>
72709
72710         * modules/filename: Renamed from modules/pathname.
72711         (Files): Replace lib/pathname.h with lib/filename.h. Replace
72712         lib/concatpath.c with lib/concat-filename.c.
72713         (Makefile.am): Update.
72714         (Include): Replace pathname.h with filename.h.
72715         * lib/filename.h: Renamed from lib/pathname.h.
72716         (concatenated_filename): Renamed from concatenated_pathname.
72717         * lib/concat-filename.c: Renamed from lib/concatpath.c.
72718         (concatenated_filename): Renamed from concatenated_pathname.
72719         * lib/findprog.c: Include filename.h instead of pathname.h.
72720         (find_in_path): Update.
72721         * lib/javacomp.c: Include filename.h instead of pathname.h.
72722         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
72723         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
72724         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
72725         is_oldgcj_14_13_usable, is_javac_usable): Update.
72726         * lib/javaexec.c: Include filename.h instead of pathname.h.
72727         (execute_java_class): Update.
72728         * modules/findprog: Update.
72729         * modules/javacomp: Update.
72730         * modules/javaexec: Update.
72731         * MODULES.html.sh (File system functions): Add 'filename', remove
72732         'pathname'.
72733
72734 2007-02-25  Bruno Haible  <bruno@clisp.org>
72735
72736         * modules/printf-frexpl-tests: New file.
72737         * tests/test-printf-frexpl.c: New file.
72738
72739         * modules/printf-frexpl: New file.
72740         * lib/printf-frexpl.h: New file.
72741         * lib/printf-frexpl.c: New file.
72742         * m4/printf-frexpl.m4: New file.
72743
72744 2007-02-25  Bruno Haible  <bruno@clisp.org>
72745
72746         * modules/printf-frexp-tests: New file.
72747         * tests/test-printf-frexp.c: New file.
72748
72749         * modules/printf-frexp: New file.
72750         * lib/printf-frexp.h: New file.
72751         * lib/printf-frexp.c: New file.
72752         * m4/printf-frexp.m4: New file.
72753
72754 2007-02-25  Bruno Haible  <bruno@clisp.org>
72755
72756         Assume automake >= 1.10 for the tests.
72757         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
72758         * modules/arctwo-tests: Likewise.
72759         * modules/argp-tests: Likewise.
72760         * modules/avltree-list-tests: Likewise.
72761         * modules/avltree-oset-tests: Likewise.
72762         * modules/avltreehash-list-tests: Likewise.
72763         * modules/carray-list-tests: Likewise.
72764         * modules/crc-tests: Likewise.
72765         * modules/des-tests: Likewise.
72766         * modules/gc-arcfour-tests: Likewise.
72767         * modules/gc-arctwo-tests: Likewise.
72768         * modules/gc-des-tests: Likewise.
72769         * modules/gc-hmac-md5-tests: Likewise.
72770         * modules/gc-hmac-sha1-tests: Likewise.
72771         * modules/gc-md2-tests: Likewise.
72772         * modules/gc-md4-tests: Likewise.
72773         * modules/gc-md5-tests: Likewise.
72774         * modules/gc-pbkdf2-sha1-tests: Likewise.
72775         * modules/gc-rijndael-tests: Likewise.
72776         * modules/gc-sha1-tests: Likewise.
72777         * modules/gc-tests: Likewise.
72778         * modules/getaddrinfo-tests: Likewise.
72779         * modules/hmac-md5-tests: Likewise.
72780         * modules/hmac-sha1-tests: Likewise.
72781         * modules/linked-list-tests: Likewise.
72782         * modules/linkedhash-list-tests: Likewise.
72783         * modules/lock-tests: Likewise.
72784         * modules/md2-tests: Likewise.
72785         * modules/md4-tests: Likewise.
72786         * modules/md5-tests: Likewise.
72787         * modules/rbtree-list-tests: Likewise.
72788         * modules/rbtree-oset-tests: Likewise.
72789         * modules/rbtreehash-list-tests: Likewise.
72790         * modules/read-file-tests: Likewise.
72791         * modules/rijndael-tests: Likewise.
72792         * modules/stdint-tests: Likewise.
72793         * modules/tls-tests: Likewise.
72794
72795 2007-02-24  Bruno Haible  <bruno@clisp.org>
72796
72797         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
72798         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
72799         function; instead check whether isnan with a double argument links.
72800         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
72801         function; instead check whether isnan with a 'long double' argument
72802         links.
72803         Reported by Eric Blake <ebb9@byu.net>.
72804
72805 2007-02-24  Bruno Haible  <bruno@clisp.org>
72806
72807         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
72808         defined.
72809         * lib/isnanl.c: Remove all code. Just include isnan.c.
72810         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
72811
72812 2007-02-25  Jim Meyering  <jim@meyering.net>
72813
72814         Avoid conflicting types for 'unsetenv' on FreeBSD.
72815         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
72816         conflicting with FreeBSD's (5.0 and 6.1) function declaration
72817         in stdlib.h.
72818
72819 2007-02-24  Bruno Haible  <bruno@clisp.org>
72820
72821         * modules/isnanl-nolibm-tests: New file.
72822         * tests/test-isnanl.c: New file.
72823
72824         * modules/isnanl-nolibm: New file.
72825         * lib/isnanl.h: New file.
72826         * lib/isnanl.c: New file.
72827         * m4/isnanl.m4: New file.
72828
72829 2007-02-24  Bruno Haible  <bruno@clisp.org>
72830
72831         * modules/isnan-nolibm-tests: New file.
72832         * tests/test-isnan.c: New file.
72833
72834         * modules/isnan-nolibm: New file.
72835         * lib/isnan.h: New file.
72836         * lib/isnan.c: New file.
72837         * m4/isnan.m4: New file.
72838
72839 2007-02-24  Bruno Haible  <bruno@clisp.org>
72840
72841         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
72842         assume that an exponent fits in 20 bits.
72843
72844 2007-02-24  Jim Meyering  <jim@meyering.net>
72845
72846         * m4/regex.m4: Update the description of the configure-time option,
72847         --without-included-regex, to state accurately what the defaults are,
72848         and perhaps to give people an idea why using this option is risky.
72849
72850 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72851
72852         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
72853         loops on small arguments.  This attempts to avoid the problem
72854         Bruno Haible reported for AIX 4.3.2 in
72855         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
72856
72857 2007-02-23  Bruno Haible  <bruno@clisp.org>
72858
72859         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
72860         Needed for help2man.
72861
72862 2007-02-23  Karl Berry  <karl@gnu.org>
72863
72864         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
72865         exists, foo.h should be cvs-ignored, not committed.
72866
72867 2007-02-23  Eric Blake  <ebb9@byu.net>
72868
72869         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
72870         * lib/stat-time.h (includes): Likewise.
72871         * lib/utimecmp.c (includes): Likewise.
72872         * lib/utimens.h (includes): Likewise.
72873         * lib/getdate.y (includes): Also include "timespec.h" for use
72874         internal to the module.
72875         * modules/utimens (Depends-on): Revert yesterday's patch.
72876         * modules/nanosleep (Depends-on): Add missing dependency.
72877
72878 2007-02-22  Bruno Haible  <bruno@clisp.org>
72879
72880         * lib/glob.c: Don't include getlogin_r.h.
72881
72882 2007-02-22  Jim Meyering  <jim@meyering.net>
72883
72884         * modules/utimens (Depends-on): Add timespec, required for
72885         utimens.h's inclusion of timespec.h.
72886
72887 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
72888
72889         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
72890         long unreadable paths in GNU/Linux.  Problem reported by Andreas
72891         Schwab in
72892         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
72893         I'll try to think of a better way to fix the Solaris problem.
72894
72895         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
72896         like glibc; on Solaris 10, it fails with errno == EINVAL.
72897         POSIX says the behavior is unspecified if the first argument is NULL,
72898         so play it safe and never pass NULL to the system getcwd.
72899
72900 2007-02-21  Jim Meyering  <jim@meyering.net>
72901
72902         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
72903         of gettimeofday.  It would conflict with the one now always
72904         provided via sys_time_.h.  Reported by Matthew Woehlke, as
72905         an IRIX 6.5 build failure.
72906
72907 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72908
72909         Minor fixups to port to Solaris 10 with Sun C 5.8.
72910         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
72911         * modules/getcwd (Depends-on): Add dirfd.
72912         * lib/putenv.c (putenv): #undef it.
72913         (rpl_putenv): New decl.
72914         (malloc, free): Include <stdlib.h> rather than prototyping separately.
72915
72916 2007-02-20  Bruno Haible  <bruno@clisp.org>
72917
72918         * modules/stdio-tests: New file.
72919         * tests/test-stdio.c: New file.
72920
72921         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
72922         (Depends-on): Add stdio.
72923         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72924         (Include): Use <stdio.h> instead of vsnprintf.h.
72925         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72926         HAVE_DECL_VSNPRINTF.
72927         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
72928
72929         * modules/snprintf (Files): Remove lib/snprintf.h.
72930         (Depends-on): Add stdio.
72931         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72932         (Include): Use <stdio.h> instead of snprintf.h.
72933         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72934         HAVE_DECL_SNPRINTF.
72935         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
72936         * lib/getaddrinfo.c: Likewise.
72937
72938         * modules/stdio: New file.
72939         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
72940         * lib/snprintf.h: Remove file.
72941         * lib/vsnprintf.h: Remove file.
72942         * lib/.cppi-disable: Remove snprintf.h.
72943         * m4/stdio_h.m4: New file.
72944         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
72945
72946 2007-02-20  Jim Meyering  <jim@meyering.net>
72947
72948         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
72949         used by e.g., mingw.  From Bruno Haible.
72950
72951 2007-02-19  Bruno Haible  <bruno@clisp.org>
72952
72953         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
72954         warnings.
72955         Reported by Ben Pfaff <blp@cs.stanford.edu>.
72956
72957 2007-02-19  Bruno Haible  <bruno@clisp.org>
72958
72959         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
72960         from mingw users.
72961
72962 2007-02-19  Bruno Haible  <bruno@clisp.org>
72963
72964         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
72965         warnings.
72966         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
72967
72968 2007-02-19  Jim Meyering  <jim@meyering.net>
72969
72970         Don't use FD after a successful "fdopendir (fd)".
72971         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
72972         Reset it by calling dirfd on the just-obtained DIR*.
72973
72974         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
72975         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
72976
72977 2007-02-18  Bruno Haible  <bruno@clisp.org>
72978
72979         * lib/readlink.c: Include <unistd.h>.
72980         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
72981         HAVE_READLINK.
72982         * modules/readlink (Depends-on): Add unistd.
72983         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72984         (Include): Add <unistd.h>.
72985
72986         * lib/getlogin_r.h: Remove file.
72987         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
72988         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
72989         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
72990         HAVE_DECL_GETLOGIN_R.
72991         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
72992         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72993         (Include): Use <unistd.h> instead of getlogin_r.h.
72994
72995         * lib/getcwd.h: Remove file.
72996         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
72997         * lib/xgetcwd.c: Likewise.
72998         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
72999         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
73000         * modules/getcwd (Files): Remove lib/getcwd.h.
73001         (Depends-on): Add unistd.
73002         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73003         (Include): Use <unistd.h> instad of getcwd.h.
73004
73005         * lib/ftruncate.c: Include <unistd.h> first.
73006         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
73007         Set HAVE_FTRUNCATE.
73008         * modules/ftruncate (Depends-on): Add unistd.
73009         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73010
73011         * lib/fchdir.c: Include <unistd.h> first.
73012         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
73013         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
73014         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
73015         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73016         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
73017
73018         * lib/dup2.c: Include <unistd.h> first.
73019         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
73020         HAVE_DUP2.
73021         * modules/dup2 (Depends-on): Add unistd.
73022         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73023
73024         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
73025         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
73026         REPLACE_CHOWN. Don't define chown as a macro here.
73027         * modules/chown (Depends-on): Add unistd.
73028         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73029
73030         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
73031         Add definition for GL_LINK_WARNING.
73032         (chown, dup2): New declarations.
73033         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
73034         link warning.
73035         (ftruncate): New declaration.
73036         (getcwd): New declaration, taken from old getcwd.h.
73037         (getlogin_r): New declaration, taken from old getlogin_r.h.
73038         (readlink): New declaration.
73039         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
73040         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
73041         (gl_PREREQ_UNISTD): Remove macro.
73042         (gl_UNISTD_MODULE_INDICATOR): New macro.
73043         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
73044         many new variables. Don't set UNISTD_H.
73045         * modules/unistd (Description): Change.
73046         (Depends-on): Add link-warning.
73047         (configure.ac): Update.
73048         (Makefile.am): Create unistd.h always. Substitute many new variables
73049         into it.
73050
73051 2007-02-18  Bruno Haible  <bruno@clisp.org>
73052
73053         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
73054         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
73055         HAVE_GETSUBOPT.
73056         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
73057         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
73058         * lib/getsubopt.h: Remove file.
73059         * modules/getsubopt (Files): Remove lib/getsubopt.h.
73060         (Depends-on): Add stdlib.
73061         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73062         (Includes): Use <stdlib.h> instead of getsubopt.h.
73063         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
73064         Set HAVE_GETSUBOPT.
73065         * lib/getsubopt.c: Don't include getsubopt.h.
73066
73067 2007-02-18  Bruno Haible  <bruno@clisp.org>
73068
73069         * modules/fchdir (Depends-on): Add dup2.
73070
73071 2007-02-18  Bruno Haible  <bruno@clisp.org>
73072
73073         * lib/stdlib_.h: Handle glibc's special invocation convention
73074         specially.
73075
73076 2007-02-18  Bruno Haible  <bruno@clisp.org>
73077
73078         * modules/stdlib-tests: New file.
73079         * tests/test-stdlib.c: New file.
73080
73081         * modules/mkstemp (Files): Remove lib/mkstemp.h.
73082         (Depends-on): Add stdlib.
73083         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73084         (Includes): Use <stdlib.h> instead of mkstemp.h.
73085         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
73086         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
73087         * lib/mkstemp.c: Don't include mkstemp.h.
73088         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
73089         * lib/stdlib--.h: Don't include mkstemp.h.
73090
73091         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
73092         (Depends-on): Add stdlib.
73093         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73094         (Includes): Use <stdlib.h> instead of mkdtemp.h.
73095         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
73096         HAVE_MKDTEMP.
73097         * lib/mkdtemp.c: Don't include mkdtemp.h.
73098         * lib/clean-temp.c: Don't include mkdtemp.h.
73099
73100         * modules/exit (Files): Remove lib/exit.h.
73101         (Depends-on): Add stdlib.
73102         (Makefile.am): Remove lib_SOURCES.
73103         (Include): Use <stdlib.h> instead of exit.h.
73104         * lib/argmatch.c: Don't include exit.h.
73105         * lib/execute.c: Likewise.
73106         * lib/pagealign_alloc.c: Likewise.
73107         * lib/pipe.c: Likewise.
73108         * lib/wait-process.c: Likewise.
73109         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
73110         * lib/exitfail.c: Likewise.
73111         * lib/savewd.c: Likewise.
73112         * lib/xsetenv.c: Likewise.
73113
73114         * modules/stdlib: New file.
73115         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
73116         and extra comments about mkstemp().
73117         * lib/exit.h: Remove file.
73118         * lib/mkdtemp.h: Remove file.
73119         * lib/mkstemp.h: Remove file.
73120         * m4/stdlib_h.m4: New file.
73121         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
73122
73123 2007-02-18  Bruno Haible  <bruno@clisp.org>
73124
73125         * modules/math-tests: New file.
73126         * tests/test-math.c: New file.
73127
73128         * modules/math: New file.
73129         * modules/mathl (Files): Remove lib/mathl.h.
73130         (Depends-on): Add math.
73131         (Makefile.am): Don't mention mathl.h.
73132         (Include): Use <math.h> instead of mathl.h.
73133         * lib/math_.h: New file.
73134         * lib/mathl.h: Remove file.
73135         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
73136         mathl.h.
73137         * lib/asinl.c: Likewise.
73138         * lib/atanl.c: Likewise.
73139         * lib/ceill.c: Likewise.
73140         * lib/cosl.c: Likewise.
73141         * lib/expl.c: Likewise.
73142         * lib/floorl.c: Likewise.
73143         * lib/frexpl.c: Likewise.
73144         * lib/ldexpl.c: Likewise.
73145         * lib/logl.c: Likewise.
73146         * lib/sincosl.c: Likewise.
73147         * lib/sinl.c: Likewise.
73148         * lib/sqrtl.c: Likewise.
73149         * lib/tanl.c: Likewise.
73150         * lib/trigl.c: Likewise.
73151         * m4/math_h.m4: New file.
73152         * MODULES.html.sh (Mathematics): Add math.
73153
73154 2007-02-17  Bruno Haible  <bruno@clisp.org>
73155
73156         * modules/wctype-tests: New file.
73157         * tests/test-wctype.c: New file.
73158
73159         * modules/wchar-tests: New file.
73160         * tests/test-wchar.c: New file.
73161
73162         * modules/unistd-tests: New file.
73163         * tests/test-unistd.c: New file.
73164
73165         * modules/time-tests: New file.
73166         * tests/test-time.c: New file.
73167
73168         * modules/sysexits-tests: New file.
73169         * tests/test-sysexits.c: New file.
73170
73171         * modules/sys_time-tests: New file.
73172         * tests/test-sys_time.c: New file.
73173
73174         * modules/sys_stat-tests: New file.
73175         * tests/test-sys_stat.c: New file.
73176
73177         * modules/sys_socket-tests: New file.
73178         * tests/test-sys_socket.c: New file.
73179
73180         * modules/sys_select-tests: New file.
73181         * tests/test-sys_select.c: New file.
73182
73183         * modules/string-tests: New file.
73184         * tests/test-string.c: New file.
73185
73186         * modules/stdbool-tests: New file.
73187         * tests/test-stdbool.c: New file.
73188
73189         * modules/netinet_in-tests: New file.
73190         * tests/test-netinet_in.c: New file.
73191
73192         * modules/inttypes-tests: New file.
73193         * tests/test-inttypes.c: New file.
73194
73195         * modules/fcntl-tests: New file.
73196         * tests/test-fcntl.c: New file.
73197
73198         * modules/byteswap-tests: New file.
73199         * tests/test-byteswap.c: New file.
73200
73201         * modules/arpa_inet-tests: New file.
73202         * tests/test-arpa_inet.c: New file.
73203
73204 2007-02-17  Bruno Haible  <bruno@clisp.org>
73205
73206         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
73207         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
73208         if the corresponding module is not enabled. Emit link warnings if
73209         the function is used nevertheless.
73210         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
73211         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
73212         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
73213         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
73214         * modules/inttypes (Depends-on): Add link-warning.
73215         (Makefile.am): Copy the contents of build-aux/link-warning.h into
73216         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
73217         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
73218         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
73219         * modules/imaxdiv (configure.ac): Likewise.
73220         * modules/strtoimax (configure.ac): Likewise.
73221         * modules/strtoumax (configure.ac): Likewise.
73222
73223 2007-02-17  Bruno Haible  <bruno@clisp.org>
73224
73225         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
73226         gl_STRING_MODULE_INDICATOR_DEFAULTS.
73227         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
73228         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
73229
73230 2007-02-17  Bruno Haible  <bruno@clisp.org>
73231
73232         * modules/link-warning: New file.
73233         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
73234         * lib/string_.h (GL_LINK_WARNING): Remove definition.
73235         * modules/string (Depends-on): Add link-warning.
73236         (Makefile.am): Copy the contents of build-aux/link-warning.h into
73237         string.h.
73238         * MODULES.html.sh (Support for building libraries and executables): Add
73239         link-warning.
73240
73241 2007-02-17  Bruno Haible  <bruno@clisp.org>
73242
73243         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
73244         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
73245         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
73246         long lines.
73247
73248 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
73249             Bruno Haible  <bruno@clisp.org>
73250
73251         * modules/tmpfile: New file.
73252         * lib/tmpfile.c: New file.
73253         * m4/tmpfile.m4: New file.
73254         * MODULES.html.sh (func_all_modules): New section "Input/output".
73255
73256 2007-02-15  Bruno Haible  <bruno@clisp.org>
73257
73258         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
73259         (supports_delete_on_close): New function.
73260         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
73261
73262 2007-02-14  Bruno Haible  <bruno@clisp.org>
73263
73264         * modules/mbspcasecmp-tests: New file.
73265         * tests/test-mbspcasecmp.sh: New file.
73266         * tests/test-mbspcasecmp.c: New file.
73267
73268         New module mbspcasecmp.
73269         * modules/mbspcasecmp: New file.
73270         * lib/mbspcasecmp.c: New file.
73271         * lib/string_.h (strncasecmp): Change warning message.
73272         (mbspcasecmp): New declaration.
73273         * m4/mbspcasecmp.m4: New file.
73274         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73275         GNULIB_MBSPCASECMP.
73276         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
73277         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
73278
73279 2007-02-14  Bruno Haible  <bruno@clisp.org>
73280
73281         * modules/mbsncasecmp-tests: New file.
73282         * tests/test-mbsncasecmp.sh: New file.
73283         * tests/test-mbsncasecmp.c: New file.
73284
73285         New module mbsncasecmp.
73286         * modules/mbsncasecmp: New file.
73287         * lib/mbsncasecmp.c: New file.
73288         * lib/string_.h (mbsncasecmp): New declaration.
73289         * m4/mbsncasecmp.m4: New file.
73290         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73291         GNULIB_MBSNCASECMP.
73292         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
73293         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
73294
73295 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
73296
73297         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
73298         Verify that it doesn't overlap with our flags.
73299         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
73300         do not have the desired effect in multibyte locales; instead, use
73301         mbscasecmp.
73302         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
73303         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
73304         we don't require GNU fnmatch ourselves (if our users require it, they
73305         should do so explicitly).
73306
73307         Fix regex code so it doesn't rely on strcasecmp.
73308         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
73309         Otherwise, include gnulib's langinfo.h.
73310         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
73311         undesirable behavior in non-C locales.  Instead, rely on localecharset.
73312         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
73313         * modules/regex (FILES): Remove m4/codeset.m4.
73314         (Depends-on): Add localcharset.  Remove strcase.
73315
73316 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73317
73318         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
73319         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
73320
73321 2007-02-13  Bruno Haible  <bruno@clisp.org>
73322
73323         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
73324         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73325
73326 2007-02-12  Bruno Haible  <bruno@clisp.org>
73327
73328         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73329         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
73330         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
73331         time warning rather than a link error.
73332
73333 2007-02-12  Bruno Haible  <bruno@clisp.org>
73334
73335         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
73336         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
73337         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73338
73339 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73340
73341         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
73342         args, not 2.
73343
73344 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73345
73346         New module 'time', so that apps can include <time.h> as per
73347         POSIX and GNU instead of separate include files like time_r.h
73348         and timegm.h.  This implementation tries out a simpler approach
73349         for replacing decls in standard include files (as compared to
73350         the string module), somewhat as an experiment.
73351
73352         * config/srclist.txt: Comment out mktime.c for now.
73353         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
73354         since it doesn't apply any more.  Use generic wording instead.
73355         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
73356         'time'.
73357         * lib/time_.h, m4/time_h.m4, modules/time: New files.
73358         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
73359         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
73360         Don't include <sys/types.h>; no longer needed since we assume C89.
73361         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
73362         * lib/strftime.c: Likewise.
73363         * lib/time_r.c: Likewise.
73364         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
73365         * lib/nanosleep.c: Include <time.h> first, to check interface.
73366         * lib/strptime.c: Likewise.
73367         * lib/time_r.c: Likewise.
73368         * lib/timegm.c: Likewise.
73369         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
73370         needed.
73371         * lib/timegm.c: Don't include timegm.h; no longer needed.
73372         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
73373         time.h now handles any problems in that area.
73374         (struct timespec, nanosleep): Remove; time.h now arranges for these.
73375         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
73376         that time.h defines struct timespec.
73377         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
73378         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
73379         handles that.
73380         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
73381         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
73382         needed.  Set REPLACE_LOCALTIME.
73383         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
73384         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
73385         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
73386         nanosleep; time_h.m4 now does that.  Don't require
73387         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
73388         module handles this now.
73389         * modules/getdate (Depends-on): Remove timespec.  Add time.
73390         * modules/nanosleep (Depends-on): Likewise.
73391         * modules/stat-time (Depends-on): Likewise.
73392         * modules/nanosleep (Include): Include time.h, not timespec.h.
73393         * modules/strptime (Files): Remove lib/strptime.h.
73394         (Depends-on): Add extensions, time.
73395         (Include): Include time.h, not strptime.h.
73396         * modules/time_r (Files): Remove lib/time_r.h.
73397         (Depends-on): Add time.
73398         (Include): Include time.h, not time_r.h.
73399         * modules/timegm: Likewise.
73400         * modules/timespec (Description): Now does timespec-related decls
73401         of our own, instead of struct timespec itself.
73402         (Depends-on): Add time; remove extensions.
73403         (Maintainer): Add self.
73404         * modules/utimecmp (Depends-on): Add time; remove timespec.
73405         * modules/utimens (Depends-on): Likewise.
73406         * modules/xnanosleep (Depends-on): Likewise.
73407
73408 2007-02-11  Bruno Haible  <bruno@clisp.org>
73409
73410         * lib/c-strstr.c: Include allocsa.h.
73411         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73412         * lib/c-strcasestr.c: Include allocsa.h.
73413         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73414         * lib/strcasestr.c: Include allocsa.h.
73415         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73416         * lib/mbsstr.c: Include allocsa.h.
73417         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73418         allocsa/freesa instead of malloc/free.
73419         * lib/mbscasestr.c: Include allocsa.h.
73420         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73421         allocsa/freesa instead of malloc/free.
73422         * modules/c-strstr (Depends-on): Add allocsa.
73423         * modules/c-strcasestr (Depends-on): Likewise.
73424         * modules/strcasestr (Depends-on): Likewise.
73425         * modules/mbsstr (Depends-on): Likewise.
73426         * modules/mbscasestr (Depends-on): Likewise.
73427
73428 2007-02-11  Bruno Haible  <bruno@clisp.org>
73429
73430         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
73431
73432         * modules/mbsspn-tests: New file.
73433         * tests/test-mbsspn.sh: New file.
73434         * tests/test-mbsspn.c: New file.
73435
73436 2007-02-11  Bruno Haible  <bruno@clisp.org>
73437
73438         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
73439
73440         * modules/mbspbrk-tests: New file.
73441         * tests/test-mbspbrk.sh: New file.
73442         * tests/test-mbspbrk.c: New file.
73443
73444 2007-02-11  Bruno Haible  <bruno@clisp.org>
73445
73446         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
73447         unneeded cast.
73448
73449         * modules/mbscspn-tests: New file.
73450         * tests/test-mbscspn.sh: New file.
73451         * tests/test-mbscspn.c: New file.
73452
73453 2007-02-11  Bruno Haible  <bruno@clisp.org>
73454
73455         * modules/mbscasecmp-tests: New file.
73456         * tests/test-mbscasecmp.sh: New file.
73457         * tests/test-mbscasecmp.c: New file.
73458
73459 2007-02-11  Bruno Haible  <bruno@clisp.org>
73460
73461         Ensure O(n) worst-case complexity of mbscasestr.
73462         * lib/mbscasestr.c: Include stdbool.h.
73463         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73464         functions.
73465         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
73466         the bookkeeping indicates that it's worth it.
73467         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
73468
73469         * modules/mbscasestr-tests: New file.
73470         * tests/test-mbscasestr1.c: New file.
73471         * tests/test-mbscasestr2.sh: New file.
73472         * tests/test-mbscasestr2.c: New file.
73473         * tests/test-mbscasestr3.sh: New file.
73474         * tests/test-mbscasestr3.c: New file.
73475         * tests/test-mbscasestr4.sh: New file.
73476         * tests/test-mbscasestr4.c: New file.
73477         * m4/locale-tr.m4: New file.
73478
73479 2007-02-11  Bruno Haible  <bruno@clisp.org>
73480
73481         Ensure O(n) worst-case complexity of mbsstr.
73482         * lib/mbsstr.c: Include stdbool.h.
73483         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73484         functions.
73485         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
73486         bookkeeping indicates that it's worth it.
73487         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
73488
73489         * modules/mbsstr-tests: New file.
73490         * tests/test-mbsstr1.c: New file.
73491         * tests/test-mbsstr2.sh: New file.
73492         * tests/test-mbsstr2.c: New file.
73493         * tests/test-mbsstr3.sh: New file.
73494         * tests/test-mbsstr3.c: New file.
73495         * m4/locale-fr.m4: New file.
73496
73497 2007-02-11  Bruno Haible  <bruno@clisp.org>
73498
73499         * lib/mbsrchr.c (mbsrchr): Fix bug.
73500
73501         * modules/mbsrchr-tests: New file.
73502         * tests/test-mbsrchr.sh: New file.
73503         * tests/test-mbsrchr.c: New file.
73504
73505 2007-02-11  Bruno Haible  <bruno@clisp.org>
73506
73507         * lib/mbschr.c (mbschr): Fix bug.
73508
73509         * modules/mbschr-tests: New file.
73510         * tests/test-mbschr.sh: New file.
73511         * tests/test-mbschr.c: New file.
73512         * m4/locale-zh.m4: New file.
73513
73514 2007-02-11  Bruno Haible  <bruno@clisp.org>
73515
73516         Support for copying multibyte string iterators.
73517         * lib/mbiter.h: Include <string.h>.
73518         (mbiter_multi_copy): New function.
73519         (mbi_copy): New macro.
73520         * lib/mbuiter.h: Include <string.h>.
73521         (mbuiter_multi_copy): New function.
73522         (mbui_copy): New macro.
73523
73524 2007-02-11  Bruno Haible  <bruno@clisp.org>
73525
73526         New module mbslen.
73527         * modules/mbslen: New file.
73528         * lib/mbslen.c: New file.
73529         * lib/string_.h (mbslen): New declaration.
73530         * m4/mbslen.m4: New file.
73531         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73532         GNULIB_MBSLEN.
73533         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
73534         * MODULES.html.sh (Internationalization functions): Add mbslen.
73535
73536 2007-02-11  Bruno Haible  <bruno@clisp.org>
73537
73538         Ensure O(n) worst-case complexity of strcasestr substitute.
73539         * lib/strcasestr.c: Include stdbool.h.
73540         (knuth_morris_pratt): New function.
73541         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73542         bookkeeping indicates that it's worth it.
73543         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
73544
73545         * modules/strcasestr-tests: New file.
73546         * tests/test-strcasestr.c: New file.
73547
73548 2007-02-11  Bruno Haible  <bruno@clisp.org>
73549
73550         Ensure O(n) worst-case complexity of c_strcasestr.
73551         * lib/c-strcasestr.c: Include stdbool.h, string.h.
73552         (knuth_morris_pratt): New function.
73553         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
73554         the bookkeeping indicates that it's worth it.
73555         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
73556
73557         * modules/c-strcasestr-tests: New file.
73558         * tests/test-c-strcasestr.c: New file.
73559
73560 2007-02-11  Bruno Haible  <bruno@clisp.org>
73561
73562         Ensure O(n) worst-case complexity of c_strstr.
73563         * lib/c-strstr.c: Include stdbool.h, string.h.
73564         (knuth_morris_pratt): New function.
73565         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73566         bookkeeping indicates that it's worth it.
73567         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
73568
73569         * lib/c-strstr.c: Complete rewrite for maintainability.
73570
73571         * modules/c-strstr-tests: New file.
73572         * tests/test-c-strstr.c: New file.
73573
73574 2007-02-11  Bruno Haible  <bruno@clisp.org>
73575
73576         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
73577         5.2.1 and earlier, whereby \055 was treated just like the range
73578         delimiter '-'.
73579         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
73580
73581 2007-02-08  Bruno Haible  <bruno@clisp.org>
73582
73583         * modules/regex (Depends-on): Add stdbool.
73584         Reported by Dalibor Topic <robilad@kaffe.org>.
73585
73586 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
73587
73588         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
73589         Prefer returning from main to exiting from it.
73590         Remove unnecessary parens after sizeof.
73591
73592 2007-02-05  Bruno Haible  <bruno@clisp.org>
73593
73594         New module mbssep.
73595         * modules/mbssep: New file.
73596         * lib/mbssep.c: New file.
73597         * lib/string_.h (strsep): Add a conditional link warning.
73598         (mbssep): New declaration.
73599         * m4/mbssep.m4: New file.
73600         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73601         GNULIB_MBSSEP.
73602         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
73603         * MODULES.html.sh (Internationalization functions): Add mbssep.
73604
73605 2007-02-05  Bruno Haible  <bruno@clisp.org>
73606
73607         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
73608         Optimize search in case of 1 delimiter.
73609
73610 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73611
73612         * lib/acl.h: Include sys/types.h before sys/acl.h.
73613
73614 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73615
73616         Merge upstream fix for glibc bugzilla #3957:
73617
73618         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
73619
73620         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
73621         bit for RE_HAT_LISTS_NOT_NEWLINE.
73622         (build_charclass_op): Remove bogus comment.
73623
73624 2007-02-05  Simon Josefsson  <simon@josefsson.org>
73625
73626         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
73627
73628 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73629
73630         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
73631         * lib/memmem.c [!defined _LIBC]: Include config.h.
73632
73633 2007-02-04  Bruno Haible  <bruno@clisp.org>
73634
73635         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
73636         warning message.
73637
73638 2007-02-04  Bruno Haible  <bruno@clisp.org>
73639
73640         New module mbstok_r.
73641         * modules/mbstok_r: New file.
73642         * lib/mbstok_r.c: New file.
73643         * lib/string_.h (strtok_r): Change argument names to match the
73644         comments. Add a conditional link warning.
73645         (mbstok_r): New declaration.
73646         * m4/mbstok_r.m4: New file.
73647         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73648         GNULIB_MBSTOK_R.
73649         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
73650         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
73651
73652 2007-02-04  Bruno Haible  <bruno@clisp.org>
73653
73654         New module mbsspn.
73655         * modules/mbsspn: New file.
73656         * lib/mbsspn.c: New file.
73657         * lib/string_.h (strspn): Add a conditional link warning.
73658         (mbsspn): New declaration.
73659         * m4/mbsspn.m4: New file.
73660         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73661         GNULIB_MBSSPN.
73662         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
73663         * MODULES.html.sh (Internationalization functions): Add mbsspn.
73664
73665 2007-02-04  Bruno Haible  <bruno@clisp.org>
73666
73667         New module mbspbrk.
73668         * modules/mbspbrk: New file.
73669         * lib/mbspbrk.c: New file.
73670         * lib/string_.h (strpbrk): Add a conditional link warning.
73671         (mbspbrk): New declaration.
73672         * m4/mbspbrk.m4: New file.
73673         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73674         GNULIB_MBSPBRK.
73675         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
73676         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
73677
73678 2007-02-04  Bruno Haible  <bruno@clisp.org>
73679
73680         New module mbscspn.
73681         * modules/mbscspn: New file.
73682         * lib/mbscspn.c: New file.
73683         * lib/string_.h (strcspn): Add a conditional link warning.
73684         (mbscspn): New declaration.
73685         * m4/mbscspn.m4: New file.
73686         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73687         GNULIB_MBSCSPN.
73688         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
73689         * MODULES.html.sh (Internationalization functions): Add mbscspn.
73690
73691 2007-02-04  Bruno Haible  <bruno@clisp.org>
73692
73693         New module mbscasestr, reduced goal of strcasestr.
73694         * modules/mbscasestr: New file.
73695         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
73696         (mbscasestr): Renamed from strcasestr.
73697         * lib/strcasestr.c: Don't include mbuiter.h.
73698         (strcasestr): Remove support for multibyte locales.
73699         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
73700         Change the conditional link warning.
73701         (mbscasestr): New declaration.
73702         * m4/mbscasestr.m4: New file.
73703         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
73704         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
73705         REPLACE_STRCASESTR.
73706         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
73707         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73708         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73709         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
73710         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
73711         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73712         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
73713         (Depends-on): Remove mbuiter.
73714         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
73715
73716 2007-02-04  Bruno Haible  <bruno@clisp.org>
73717
73718         Simplify handling of strncasecmp.
73719         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
73720         the conditional link warning.
73721         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73722         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
73723         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
73724         * modules/strcase (configure.ac): Don't invoke
73725         gl_STRING_MODULE_INDICATOR.
73726         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
73727
73728 2007-02-04  Bruno Haible  <bruno@clisp.org>
73729
73730         New module mbscasecmp, reduced goal of strcasecmp.
73731         * modules/mbscasecmp: New file.
73732         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
73733         (mbscasecmp): Renamed from strcasecmp.
73734         * lib/strcasecmp.c: Don't include mbuiter.h.
73735         (strcasecmp): Remove support for multibyte locales.
73736         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
73737         Change the conditional link warning.
73738         (mbscasecmp): New declaration.
73739         * m4/mbscasecmp.m4: New file.
73740         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
73741         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
73742         REPLACE_STRCASECMP.
73743         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
73744         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73745         GNULIB_MBSCASECMP.
73746         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
73747         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
73748         * modules/strcase (Files): Remove m4/mbrtowc.m4.
73749         (Depends-on): Remove mbuiter.
73750         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
73751
73752 2007-02-04  Bruno Haible  <bruno@clisp.org>
73753
73754         New module mbsstr. Remove module strstr.
73755         * modules/mbsstr: New file.
73756         * modules/strstr: Remove file.
73757         * lib/mbsstr.c: Renamed from lib/strstr.c.
73758         (mbsstr): Renamed from strstr.
73759         * lib/string_.h (strstr): Remove declaration. Change the conditional
73760         link warning.
73761         (mbsstr): New declaration.
73762         * m4/mbsstr.m4: New file.
73763         * m4/strstr.m4: Remove file.
73764         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
73765         REPLACE_STRSTR.
73766         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
73767         Don't initialize GNULIB_STRSTR.
73768         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
73769         substitute GNULIB_STRSTR and REPLACE_STRSTR.
73770         * MODULES.html.sh (Internationalization functions): Add mbsstr.
73771         (Support for systems lacking ANSI C 89): Remove strstr.
73772
73773 2007-02-04  Bruno Haible  <bruno@clisp.org>
73774
73775         New module mbsrchr.
73776         * modules/mbsrchr: New file.
73777         * lib/mbsrchr.c: New file.
73778         * lib/string_.h (strrchr): Add a conditional link warning.
73779         (mbsrchr): New declaration.
73780         * m4/mbsrchr.m4: New file.
73781         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73782         GNULIB_MBSRCHR.
73783         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
73784         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
73785
73786 2007-02-04  Bruno Haible  <bruno@clisp.org>
73787
73788         New module mbschr.
73789         * modules/mbschr: New file.
73790         * lib/mbschr.c: New file.
73791         * lib/string_.h (strchr): Add a conditional link warning.
73792         (mbschr): New declaration.
73793         * m4/mbschr.m4: New file.
73794         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73795         GNULIB_MBSCHR.
73796         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
73797         * MODULES.html.sh (Internationalization functions): Add mbschr.
73798
73799 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73800
73801         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
73802
73803         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
73804
73805 2007-02-04  Bruno Haible  <bruno@clisp.org>
73806
73807         New module description section 'configure.ac-early'.
73808         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
73809         (func_get_autoconf_early_snippet): New function.
73810         (func_import, func_create_testdir): Use it. Remove special cases for
73811         modules 'extensions' and 'lock'.
73812         * modules/extensions (configure.ac-early): Require
73813         gl_USE_SYSTEM_EXTENSIONS.
73814         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
73815
73816 2007-02-04  Bruno Haible  <bruno@clisp.org>
73817
73818         Make use of gcj-4.3's -fsource and -ftarget option.
73819         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
73820         and if so try the options -fsource and -ftarget.
73821         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
73822         source_version, ftarget_option, target_version arguments.
73823         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
73824         (is_envjavac_oldgcj_14_14_usable): Renamed from
73825         is_envjavac_gcj_14_14_usable.
73826         (is_envjavac_oldgcj_14_13_usable): Renamed from
73827         is_envjavac_gcj_14_13_usable.
73828         (is_gcj_present): Update.
73829         (is_gcj_43, is_gcj43_usable): New functions.
73830         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
73831         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
73832         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
73833         try the options -fsource and -ftarget.
73834
73835 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73836
73837         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
73838         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
73839         larger value.
73840
73841 2007-02-03  Jim Meyering  <jim@meyering.net>
73842
73843         Give tools a better chance to allocate space for very large buffers.
73844         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
73845
73846         Make pwd and readlink work also when run with an unreadable parent dir
73847         on systems with openat support.
73848         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
73849         provided getcwd function, even when we have openat support.
73850         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
73851
73852 2007-02-02  Bruno Haible  <bruno@clisp.org>
73853
73854         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73855         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
73856         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
73857         portability problems if one of these functions is only used on specific
73858         platforms.
73859         Reported by Paul Eggert.
73860
73861 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
73862
73863         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
73864         is causing more trouble than it's curing.
73865         * lib/regex_internal.h (__mempcpy): Remove.
73866         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
73867         (and make the code a tad smaller to boot).
73868         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
73869
73870 2007-02-02  Jim Meyering  <jim@meyering.net>
73871
73872         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
73873         section, not in the Makefile.am: one.
73874
73875 2007-02-02  Eric Blake  <ebb9@byu.net>
73876
73877         * lib/strchrnul.c: Always include config.h first.
73878
73879         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
73880         gnulib strstr is not necessary here.
73881
73882 2007-02-02  Simon Josefsson  <simon@josefsson.org>
73883
73884         * m4/socklen.m4: Fix typo.
73885
73886 2007-02-02  Eric Blake  <ebb9@byu.net>
73887
73888         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
73889         * modules/netinet_in (Makefile.am): Likewise.
73890
73891 2007-02-01  Bruno Haible  <bruno@clisp.org>
73892
73893         * lib/string_.h (GL_LINK_WARNING): New macro.
73894         (strcasecmp, strstr, strcasestr): If provided by the system,
73895         conditionally define as a macro that leads to a warning instead of to
73896         an error.
73897         (strncasecmp): Conditionally define as a macro that leads to a warning.
73898
73899 2007-02-01  Karl Berry  <karl@gnu.org>
73900
73901         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
73902
73903 2007-02-01  Bruno Haible  <bruno@clisp.org>
73904
73905         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
73906         renamings.
73907
73908 2007-02-01  Eric Blake  <ebb9@byu.net>
73909
73910         * modules/regex (Depends-on): Revert dependence on mempcpy.
73911         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
73912         module's definition of mempcpy.
73913         Reported by Paul Eggert.
73914
73915 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
73916
73917         * lib/string_.h: If the gnulib module XYZ is not present, undefine
73918         the symbol XYZ before redefining it.  This fixes a problem with
73919         programs that don't use XYZ, when compiled on systems that define
73920         XYZ to something else.
73921
73922 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
73923
73924         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
73925         occurs when "mkdir -m foo" creates a setgid directory that is (1)
73926         writeable to group or other and (2) is intended to have a special
73927         mode bit that is set or cleared.  In such a case, the directory
73928         should be neither group- nor other-writeable until the special
73929         mode bits are right.
73930
73931 2007-01-31  Eric Blake  <ebb9@byu.net>
73932
73933         * modules/mountlist (Depends-on): Add strstr.
73934
73935         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
73936         bug.
73937         * modules/string (Makefile.am): Remove redundant replacement.
73938         * modules/regex (Depends-on): Add mempcpy.
73939
73940 2007-01-31  Bruno Haible  <bruno@clisp.org>
73941
73942         New module description field 'Link'.
73943         * gnulib-tool (func_usage): Document --extract-link-directive.
73944         (sed_extract_prog): Recognize 'Link' directive.
73945         (func_get_link_directive): New function.
73946         (func_import): Show summary of link directives.
73947         Handle --extract-link-directive option.
73948         * modules/acl (Link): New section.
73949         * modules/clock-time (Link): New section.
73950         * modules/euidaccess (Link): New section.
73951         * modules/gettext (Link): New section.
73952         * modules/iconv (Link): New section.
73953         * modules/lock (Link): New section.
73954         * modules/nanosleep (Link): New section.
73955         * modules/readline (Link): New section.
73956
73957 2007-01-27  Bruno Haible  <bruno@clisp.org>
73958
73959         Enforce the use of gnulib modules for unportable <string.h> functions.
73960         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
73961         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
73962         (gl_HEADER_STRING_H_BODY): Require it.
73963         * lib/string_.h: If the gnulib module XYZ is not present, redefine
73964         the symbol XYZ to one that gives a link error.
73965         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
73966         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
73967         * modules/mempcpy (configure.ac): Likewise.
73968         * modules/memrchr (configure.ac): Likewise.
73969         * modules/stpcpy (configure.ac): Likewise.
73970         * modules/stpncpy (configure.ac): Likewise.
73971         * modules/strcase (configure.ac): Likewise.
73972         * modules/strcasestr (configure.ac): Likewise.
73973         * modules/strchrnul (configure.ac): Likewise.
73974         * modules/strdup (configure.ac): Likewise.
73975         * modules/strndup (configure.ac): Likewise.
73976         * modules/strnlen (configure.ac): Likewise.
73977         * modules/strpbrk (configure.ac): Likewise.
73978         * modules/strsep (configure.ac): Likewise.
73979         * modules/strstr (configure.ac): Likewise.
73980         * modules/strtok_r (configure.ac): Likewise.
73981
73982 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
73983
73984         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
73985
73986 2007-01-30  Jim Meyering  <jim@meyering.net>
73987
73988         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
73989
73990 2007-01-29  Bruno Haible  <bruno@clisp.org>
73991
73992         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
73993         * lib/execute.c: Likewise.
73994         * lib/pipe.c: Likewise.
73995         * lib/printf-args.h: Likewise.
73996         * lib/printf-args.c: Likewise.
73997         * lib/printf-parse.c: Likewise.
73998         * lib/vasnprintf.c: Likewise.
73999
74000 2007-01-29  Eric Blake  <ebb9@byu.net>
74001
74002         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
74003         declaration.
74004
74005 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
74006
74007         * lib/strptime.h (strptime): Use 'restrict' for args where
74008         POSIX requires this.
74009         * lib/strptime.c (strptime): Likewise.
74010         Change license notice from LGPL to GPL, since gnulib-tool will
74011         change this as needed.
74012         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
74013         defined.
74014         Include "strptime.h" first, to check interface.
74015         Do not #undef _LIBC and _NL_CURRENT.
74016         Do not include <stdlib.h>; no longer needed.
74017         Include "time_r.h" and declare ptime_locale_status
74018         only if _LIBC is not defined.
74019         (__P): Remove unused macro.
74020         (match_string): Bring back glibc version, but use it only if _LIBC
74021         is defined.
74022         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
74023         Remove unnecessary assertion and abort() call.
74024         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
74025         * m4/strptime.m4: Fix serial number comment.
74026         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
74027         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
74028         (Depends-on): Add time_r.
74029
74030 2007-01-29  Bruno Haible  <bruno@clisp.org>
74031
74032         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74033         strptime.
74034         * modules/strptime (Depends-on): Add stdbool.
74035         * lib/strptime.h: Include <time.h> always. Add comments.
74036
74037 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74038
74039         * modules/strptime: New file.
74040         * lib/strptime.h: New file.
74041         * lib/strptime.c: New file.
74042         * m4/strptime.m4: New file.
74043
74044 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
74045
74046         * MODULES.html.sh: New module mpsort.
74047         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
74048
74049         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
74050         a circularity problem with HP-UX ia64 reported by Bob Proulx in
74051         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
74052         All uses changed.
74053         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
74054         All uses changed.
74055         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
74056         to _Restrict_.
74057         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
74058         the parameter matches the prototype.
74059
74060 2007-01-28  Jim Meyering  <jim@meyering.net>
74061
74062         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
74063         sys/time.h here, reverting that part of the previous patch:
74064         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
74065
74066 2007-01-28  Bruno Haible  <bruno@clisp.org>
74067
74068         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
74069         value of $(SYS_TIME_H).
74070         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
74071         remove it conditionally, too. [added by Jim Meyering]
74072         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
74073         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74074         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
74075         GETTIMEOFDAY_REPLACEMENT to 1.
74076
74077 2007-01-28  Bruno Haible  <bruno@clisp.org>
74078
74079         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
74080         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
74081         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
74082         Set UNISTD_H instead of UNISTD_H2.
74083         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
74084
74085 2007-01-28  Bruno Haible  <bruno@clisp.org>
74086
74087         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
74088         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
74089
74090 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74091
74092         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
74093         (func_create_testdir): Ensure C locale for `grep' and `tr'
74094         character ranges.
74095         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
74096         ACLOCAL_AMFLAGS parsing state machine.
74097
74098 2007-01-27  Bruno Haible  <bruno@clisp.org>
74099
74100         * modules/unistr/base: Update.
74101
74102 2007-01-27  Bruno Haible  <bruno@clisp.org>
74103
74104         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
74105         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
74106         * modules/unistr/u32-mbtouc-unsafe: Renamed from
74107         modules/unistr/u32-mbtouc.
74108         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
74109         * lib/unistr.h: Update.
74110         * lib/linebreak.c: Update.
74111         * modules/unistr/u32-mbtouc: Renamed from
74112         modules/unistr/u32-mbtouc-safe.
74113         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
74114         * lib/unistr.h: Update.
74115         * lib/unistr/u32-to-u8.c: Update.
74116         * lib/unistr/u32-to-u16.c: Update.
74117
74118 2007-01-27  Bruno Haible  <bruno@clisp.org>
74119
74120         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
74121         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
74122         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
74123         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
74124         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
74125         * modules/unistr/u16-mbtouc-unsafe: Renamed from
74126         modules/unistr/u16-mbtouc.
74127         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
74128         * lib/unistr.h: Update.
74129         * lib/linebreak.c: Update.
74130         * modules/linebreak: Update.
74131         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
74132         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
74133         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
74134         * modules/unistr/u16-mbtouc: Renamed from
74135         modules/unistr/u16-mbtouc-safe.
74136         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
74137         * lib/unistr.h: Update.
74138         * lib/unistr/u16-to-u8.c: Update.
74139         * modules/unistr/u16-to-u8: Update.
74140         * lib/unistr/u16-to-u32.c: Update.
74141         * modules/unistr/u16-to-u32: Update.
74142
74143 2007-01-27  Bruno Haible  <bruno@clisp.org>
74144
74145         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
74146         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
74147         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
74148         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
74149         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
74150         * modules/unistr/u8-mbtouc-unsafe: Renamed from
74151         modules/unistr/u8-mbtouc.
74152         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
74153         * lib/unistr.h: Update.
74154         * lib/striconveh.c: Update.
74155         * modules/striconveh: Update.
74156         * lib/linebreak.c: Update.
74157         * modules/linebreak: Update.
74158         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
74159         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
74160         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
74161         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
74162         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
74163         * lib/unistr.h: Update.
74164         * lib/striconveh.c: Update.
74165         * modules/striconveh: Update.
74166         * lib/unistr/u8-to-u16.c: Update.
74167         * modules/unistr/u8-to-u16: Update.
74168         * lib/unistr/u8-to-u32.c: Update.
74169         * modules/unistr/u8-to-u32: Update.
74170
74171 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74172
74173         Sync from Libtool.
74174         * lib/argz.c: Do not include strings.h nor memory.h, include
74175         string.h unconditionally.  Patch by Simon Josefsson.
74176
74177 2007-01-27  Bruno Haible  <bruno@clisp.org>
74178
74179         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
74180         from gl_HEADER_STRING_H_BODY.
74181         (gl_HEADER_STRING_H_BODY): Require it.
74182         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
74183         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
74184         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
74185         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
74186         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
74187         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
74188         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
74189         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
74190         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
74191         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
74192         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
74193         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
74194         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
74195         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
74196         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
74197
74198 2007-01-27  Bruno Haible  <bruno@clisp.org>
74199
74200         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
74201         check_PROGRAMS into noinst_PROGRAMS.
74202         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
74203         check_PROGRAMS in this case.
74204         (func_import): Set for_test to false.
74205         (func_create_testdir): Set for_test to true.
74206
74207 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
74208             Bruno Haible  <bruno@clisp.org>
74209
74210         * modules/strcasestr (Files): Remove lib/strcasestr.h.
74211         (Depends-on): Add string.
74212         (Includes): Use <string.h> instead of strcasestr.h.
74213         * modules/string (Makefile.am): Also substitute the value of
74214         REPLACE_STRCASESTR.
74215         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
74216         assume strcasestr is declared in <string.h> not <strings.h>. Also
74217         set REPLACE_STRCASESTR.
74218         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
74219         REPLACE_STRCASESTR.
74220         * lib/strcasestr.h: Remove file.
74221         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
74222         * lib/string_.h (strcasestr): New declaration.
74223
74224 2007-01-27  Bruno Haible  <bruno@clisp.org>
74225
74226         * lib/string_.h: Use 'extern'.
74227
74228 2007-01-27  Jim Meyering  <jim@meyering.net>
74229
74230         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
74231         of set-but-not-used local, "q".
74232
74233         * lib/mempcpy.c: Include <config.h> before <string.h>.
74234         This fixes a compilation error on HP-UX, due to the system's
74235         "restrict"-using mempcpy prototype.
74236
74237 2007-01-26  Bruno Haible  <bruno@clisp.org>
74238
74239         Small optimization.
74240         * lib/javacomp.c: Include c-strstr.h.
74241          (is_envjavac_gcj): Use c_strstr instead of strstr.
74242         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
74243
74244 2007-01-26  Bruno Haible  <bruno@clisp.org>
74245
74246         * MODULES.html.sh (Unicode string functions): Add the new modules.
74247
74248         * modules/uniconv/u32-strconv-to-locale: New file.
74249         * lib/uniconv/u32-strconv-to-locale.c: New file.
74250
74251         * modules/uniconv/u16-strconv-to-locale: New file.
74252         * lib/uniconv/u16-strconv-to-locale.c: New file.
74253
74254         * modules/uniconv/u8-strconv-to-locale: New file.
74255         * lib/uniconv/u8-strconv-to-locale.c: New file.
74256
74257         * modules/uniconv/u32-strconv-from-locale: New file.
74258         * lib/uniconv/u32-strconv-from-locale.c: New file.
74259
74260         * modules/uniconv/u16-strconv-from-locale: New file.
74261         * lib/uniconv/u16-strconv-from-locale.c: New file.
74262
74263         * modules/uniconv/u8-strconv-from-locale: New file.
74264         * lib/uniconv/u8-strconv-from-locale.c: New file.
74265
74266         * modules/uniconv/u32-strconv-to-enc: New file.
74267         * lib/uniconv/u32-strconv-to-enc.c: New file.
74268         * modules/uniconv/u32-strconv-to-enc-tests: New file.
74269         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
74270
74271         * modules/uniconv/u16-strconv-to-enc: New file.
74272         * lib/uniconv/u16-strconv-to-enc.c: New file.
74273         * lib/uniconv/u-strconv-to-enc.h: New file.
74274         * modules/uniconv/u16-strconv-to-enc-tests: New file.
74275         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
74276
74277         * modules/uniconv/u8-strconv-to-enc: New file.
74278         * lib/uniconv/u8-strconv-to-enc.c: New file.
74279         * modules/uniconv/u8-strconv-to-enc-tests: New file.
74280         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
74281
74282         * modules/uniconv/u32-strconv-from-enc: New file.
74283         * lib/uniconv/u32-strconv-from-enc.c: New file.
74284         * modules/uniconv/u32-strconv-from-enc-tests: New file.
74285         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
74286
74287         * modules/uniconv/u16-strconv-from-enc: New file.
74288         * lib/uniconv/u16-strconv-from-enc.c: New file.
74289         * modules/uniconv/u16-strconv-from-enc-tests: New file.
74290         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
74291
74292         * modules/uniconv/u8-strconv-from-enc: New file.
74293         * lib/uniconv/u8-strconv-from-enc.c: New file.
74294         * lib/uniconv/u-strconv-from-enc.h: New file.
74295         * modules/uniconv/u8-strconv-from-enc-tests: New file.
74296         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
74297
74298         * modules/uniconv/u32-conv-from-enc: New file.
74299         * lib/uniconv/u32-conv-from-enc.c: New file.
74300         * modules/uniconv/u32-conv-from-enc-tests: New file.
74301         * tests/uniconv/test-u32-conv-from-enc.c: New file.
74302
74303         * modules/uniconv/u16-conv-from-enc: New file.
74304         * lib/uniconv/u16-conv-from-enc.c: New file.
74305         * lib/uniconv/u-conv-from-enc.h: New file.
74306         * modules/uniconv/u16-conv-from-enc-tests: New file.
74307         * tests/uniconv/test-u16-conv-from-enc.c: New file.
74308
74309         * modules/uniconv/u8-conv-from-enc: New file.
74310         * lib/uniconv/u8-conv-from-enc.c: New file.
74311         * modules/uniconv/u8-conv-from-enc-tests: New file.
74312         * tests/uniconv/test-u8-conv-from-enc.c: New file.
74313
74314         * modules/uniconv/base: New file.
74315         * lib/uniconv.h: New file.
74316
74317 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
74318
74319         * doc/gnulib-tool.texi (Initial import): Update to match current
74320         behavior with strdup module.
74321         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
74322         * lib/memmem.h: Remove; all uses removed.  This is now done
74323         by <string.h>.
74324         * lib/mempcpy.h: Likewise.
74325         * lib/memrchr.h: Likewise.
74326         * lib/stpcpy.h: Likewise.
74327         * lib/stpncpy.h: Likewise.
74328         * lib/strcase.h: Likewise.
74329         * lib/strchrnul.h: Likewise.
74330         * lib/strdup.h: Likewise.
74331         * lib/strndup.h: Likewise.
74332         * lib/strnlen.h: Likewise.
74333         * lib/strpbrk.h: Likewise.
74334         * lib/strsep.h: Likewise.
74335         * lib/strstr.h: Likewise.
74336         * lib/strtok_r.h: Likewise.
74337         * lib/string_.h: New file.
74338         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
74339         Rely on <string.h> instead.
74340         * lib/canon-host.c: Likewise.
74341         * lib/chdir-long.c: Likewise.
74342         * lib/concatpath.c: Likewise.
74343         * lib/exclude.c: Likewise.
74344         * lib/fchdir.c: Likewise.
74345         * lib/getaddrinfo.c: Likewise.
74346         * lib/getcwd.c: Likewise.
74347         * lib/getsubopt.c: Likewise.
74348         * lib/glob.c: Likewise.
74349         * lib/hard-locale.c: Likewise.
74350         * lib/iconvme.c: Likewise.
74351         * lib/javacomp.c: Likewise.
74352         * lib/mempcpy.c: Likewise.
74353         * lib/memrchr.c: Likewise.
74354         * lib/regex_internal.h: Likewise.
74355         * lib/stpncpy.c: Likewise.
74356         * lib/strcasecmp.c: Likewise.
74357         * lib/strchrnul.c: Likewise.
74358         * lib/strdup.c: Likewise.
74359         * lib/striconv.c: Likewise.
74360         * lib/striconveh.c: Likewise.
74361         * lib/striconveha.c: Likewise.
74362         * lib/strncasecmp.c: Likewise.
74363         * lib/strndup.c: Likewise.
74364         * lib/strnlen.c: Likewise.
74365         * lib/strsep.c: Likewise.
74366         * lib/strstr.c: Likewise.
74367         * lib/strtok_r.c: Likewise.
74368         * lib/userspec.c: Likewise.
74369         * lib/w32spawn.h: Likewise.
74370         * lib/xstrndup.c: Likewise.
74371         * lib/mountlist.c (strstr): Remove decl.
74372         * m4/string_h.m4: New file.
74373         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
74374         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
74375         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
74376         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
74377         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
74378         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
74379         Set REPLACE_STRCASECMP if necessary.
74380         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
74381         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
74382         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
74383         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
74384         HAVE_DECL_STRDUP if necessary.
74385         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
74386         since gl_FUNC_STRNDUP does that now.
74387         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
74388         Check for decl here...
74389         (gl_PREREQ_STRNLEN): ... not here.
74390         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
74391         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
74392         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
74393         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
74394         necessary.
74395         * modules/string: New file.
74396         * modules/memmem (Files): Remove special-purpose include file.
74397         (Depends-on): Add string.
74398         (Include): Include <string.h>, not the removed file.
74399         * modules/mempcpy: Likewise.
74400         * modules/memrchr: Likewise.
74401         * modules/stpcpy: Likewise.
74402         * modules/stpncpy: Likewise.
74403         * modules/strcase: Likewise.
74404         * modules/strchrnul: Likewise.
74405         * modules/strdup: Likewise.
74406         * modules/strndup: Likewise.
74407         * modules/strnlen: Likewise.
74408         * modules/strpbrk: Likewise.
74409         * modules/strsep: Likewise.
74410         * modules/strstr: Likewise.
74411         * modules/strtok_r: Likewise.
74412         * tests/test-dirname.c: Don't include "strdup.h", since
74413         <string.h> now suffices.
74414         * tests/test-memmem.c: Don't include "memmem.h", since
74415         <string.h> now suffices.
74416
74417 2007-01-25  Bruno Haible  <bruno@clisp.org>
74418
74419         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
74420         *resultp is 0.
74421
74422         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
74423         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
74424         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
74425         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
74426
74427         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
74428         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
74429         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
74430         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
74431         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
74432         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
74433
74434 2007-01-24  Bruno Haible  <bruno@clisp.org>
74435
74436         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
74437         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
74438         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
74439         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
74440         gl_FUNC_FTS_CORE.
74441         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
74442         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
74443         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74444         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
74445         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
74446         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
74447         gl_FUNC_FCHOWNAT.
74448         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
74449         gl_FUNC_STRFTIME.
74450         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
74451         Reported by Ralf Wildenhues.
74452
74453 2007-01-24  Bruno Haible  <bruno@clisp.org>
74454
74455         Drop AC_REQUIRE calls that are redundant with the module dependencies.
74456         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
74457         gl_GETADDRINFO.
74458         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
74459         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
74460         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
74461
74462 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
74463
74464         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
74465         Don't use 'exit'; just return from 'main'.
74466         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
74467
74468         * lib/fnmatch_.h: Readjust white space and comments to match
74469         glibc, to avoid spurious diffs.
74470
74471 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74472
74473         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
74474         2004-12-01 change by Jakub Jelinek, since this code won't compile
74475         if !LIBC.  Problem reported by Bob Proulx.
74476
74477 2007-01-23  Bruno Haible  <bruno@clisp.org>
74478
74479         * lib/striconveh.c: Include c-strcaseeq.h.
74480         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
74481         * modules/striconveh (Depends-on): Add c-strcaseeq.
74482
74483 2007-01-23  Bruno Haible  <bruno@clisp.org>
74484
74485         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
74486
74487         * modules/c-strcaseeq: New file.
74488         * lib/c-strcaseeq.h: New file.
74489
74490         * modules/streq: New file.
74491         * lib/streq.h: New file.
74492
74493 2007-01-23  Bruno Haible  <bruno@clisp.org>
74494
74495         * modules/striconveha-tests: New file.
74496         * tests/test-striconveha.c: New file.
74497
74498         * lib/striconveha.h: Include <stdbool.h>.
74499         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
74500         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
74501         (mem_iconveha_notranslit): Renamed from mem_iconveha.
74502         (mem_iconveha): New function.
74503         (str_iconveha_notranslit): Renamed from str_iconveha.
74504         (str_iconveha): New function.
74505         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
74506         c-strcase.
74507
74508 2007-01-23  Bruno Haible  <bruno@clisp.org>
74509
74510         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
74511         encodings without forgiving before trying any encoding with handler.
74512         (str_iconveha): Try all encodings without forgiving before trying any
74513         encoding with handler.
74514
74515 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74516
74517         Import the following changes from libc.
74518
74519         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74520
74521         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
74522
74523         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
74524
74525         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
74526         normal_bracket label.
74527
74528         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
74529
74530         [BZ #361]
74531         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
74532         to normal_bracket after fetching the next character.
74533
74534 2007-01-22  Bruno Haible  <bruno@clisp.org>
74535
74536         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
74537         argument.
74538         * lib/striconveh.c (iconv_carefully_1): New function.
74539         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
74540         argument.
74541         (str_cd_iconveh): Update.
74542         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
74543         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
74544         * tests/test-striconveh.c (MAGIC): New macro.
74545         (new_offsets): New function.
74546         (main): Test call with and without offsets.
74547
74548 2007-01-22  Bruno Haible  <bruno@clisp.org>
74549
74550         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
74551         * modules/sys_select (Makefile.am): Likewise.
74552         * modules/sys_socket (Makefile.am): Likewise.
74553         * modules/sys_time (Makefile.am): Likewise.
74554
74555 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
74556
74557         * modules/gettimeofday (License): Change from GPL to LGPL, since
74558         gettimeofday is a library function.
74559
74560 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74561
74562         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
74563
74564 2007-01-21  Bruno Haible  <bruno@clisp.org>
74565
74566         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
74567
74568 2007-01-21  Bruno Haible  <bruno@clisp.org>
74569
74570         * modules/striconveha: New file.
74571         * lib/striconveha.h: New file.
74572         * lib/striconveha.c: New file.
74573         * MODULES.html.sh (Internationalization functions): Add striconveha.
74574         * lib/striconv.c (str_iconv): Optimize the case of an empty input
74575         string.
74576         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
74577
74578 2007-01-21  Bruno Haible  <bruno@clisp.org>
74579
74580         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
74581         * lib/striconveh.c (str_iconveh): Likewise.
74582
74583 2007-01-21  Bruno Haible  <bruno@clisp.org>
74584
74585         * lib/striconveh.h (mem_iconveh): New declaration.
74586         * lib/striconveh.c (mem_iconveh): New function.
74587         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
74588
74589 2007-01-21  Bruno Haible  <bruno@clisp.org>
74590
74591         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
74592
74593         * lib/striconveh.h (mem_cd_iconveh): Change specification.
74594         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
74595         original result buffer.
74596         (str_cd_iconveh): Update.
74597         * tests/test-striconveh.c (main): Update.
74598
74599         * lib/striconv.h (mem_cd_iconv): Change specification.
74600         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
74601         result buffer.
74602         (str_cd_iconv): Update.
74603         * tests/test-striconv.c (main): Update.
74604
74605 2007-01-21  Bruno Haible  <bruno@clisp.org>
74606
74607         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
74608
74609 2007-01-20  Jim Meyering  <jim@meyering.net>
74610
74611         * lib/userspec.c (parse_with_separator): If a user or group string
74612         starts with "+", skip the corresponding name-to-ID look-up, since
74613         such a look-up must fail: user and group names may not include "+".
74614
74615 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
74616
74617         * lib/poll.c: Include sys/time.h and time.h unconditionally,
74618         since we now assume the sys_time module.
74619         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
74620         check for sys/time.h; no longer needed.
74621         * modules/poll (Depends-on): Depend on sys_time.
74622
74623 2007-01-18  Bruno Haible  <bruno@clisp.org>
74624
74625         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
74626         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74627
74628         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
74629         gettimeofday.
74630
74631         * tests/test-gettimeofday.c: Include <time.h>.
74632         (dummy): Remove variable.
74633
74634         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
74635         gl_HEADER_SYS_TIME_H.
74636         (gl_HEADER_SYS_TIME_H): New macro.
74637
74638         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
74639         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74640         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
74641         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
74642         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74643         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
74644         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
74645         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74646         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
74647         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
74648         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74649
74650         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
74651         last change; it caused a compilation error when cross-compiling to
74652         Cygwin.
74653
74654 2007-01-18  Jim Meyering  <jim@meyering.net>
74655
74656         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
74657         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
74658         than the race-prone "test -d sys || mkdir sys".
74659         (configure.ac): Use AC_PROG_MKDIR_P.
74660         * modules/sys_select: Likewise.
74661         * modules/sys_socket: Likewise.
74662         * modules/sys_time: Likewise.
74663
74664 2007-01-18  Eric Blake  <ebb9@byu.net>
74665
74666         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
74667         replace gettimeofday.
74668         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
74669         name, to avoid infinite recursion.
74670
74671 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
74672
74673         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
74674         module sys_time.
74675         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
74676         assume timespec.h defines struct timeval.
74677         * lib/settime.c: Likewise.
74678         * lib/utimens.c: Likewise.
74679         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
74680         since we now assume the gettimeofday module.
74681         * lib/tempname.c (__gen_tempname): Likewise.
74682         * lib/gettimeofday.h: Remove.
74683         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
74684         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
74685         Include <time.h>, for 'time()'.
74686         (localtime_buffer_addr): Also use this workaround if
74687         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
74688         to simplify the uses.  All uses changed.
74689         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
74690         that #undef is inside {}, and 'const' follows type name consistently.
74691         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
74692         (gettimeofday): Do not use the maximum possible value for
74693         tv->tv_usec, since that might break usages other than ls.c.
74694         Instead, we'll leave ls.c alone.  This undoes today's patch
74695         by Bruno.  Add a compile-time warning for 1s-clock resolution;
74696         we've never observed the problem but might as well keep the
74697         canary.
74698         * lib/nanosleep.c: Include timespec.h first, for interface check.
74699         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
74700         now assume the sys_time module.
74701         * lib/tempname.c: Likewise.
74702         * lib/timespec.h: Likewise.
74703         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
74704         needed.
74705         * lib/strftime.c: Likewise.
74706         * lib/timespec.h: Likewise.
74707         * lib/posixtm.c: Include posixtm.h first, for interface check.
74708         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
74709         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
74710         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
74711         * lib/sys_time_.h: New file.
74712         * lib/timespec.h (struct timespec): Use long int, not long.
74713         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74714         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
74715         Remove obsolescent call to AC_HEADER_TIME.
74716         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
74717         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74718         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74719         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
74720         Likewise.
74721         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
74722         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
74723         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
74724         into the sys_time module.  Check for gettimeofday just once.
74725         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
74726         for gettimeofday signature to just check the signature.  Merely
74727         compile it, since linking doesn't test signature.  Improve test for
74728         whether gettimeofday.o is actually needed.
74729         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
74730         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
74731         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
74732         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74733         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
74734         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
74735         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
74736         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
74737         than worrying about sys/time.h.
74738         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
74739         Don't bother worrying about TIME_WITH_SYS_TIME.
74740         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
74741         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
74742         * m4/sys_time_h.m4: New file.
74743         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
74744         Don't include sys/time.h.  Return from main rather than exiting.
74745         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
74746         all uses changed.
74747         * modules/gethrxtime (Depends-on): Add sys_time.
74748         * modules/gettime (Depends-on): Likewise.
74749         * modules/gettimeofday (Depends-on): Likewise.
74750         * modules/nanosleep (Depends-on): Likewise.
74751         * modules/settime (Depends-on): Likewise.
74752         * modules/tempname (Depends-on): Likewise.
74753         * modules/utimens (Depends-on): Likewise.
74754         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
74755         (Include): Change back to <sys/time.h>.
74756         (Maintainer): Add self.
74757         * modules/sys_time: New file.
74758         * modules/tempname (Depends-on): Add gettimeofday.
74759         * tests/test-gettimeofday.c: Include <sys/time.h>
74760         rather than gettimeofday.h.
74761
74762 2007-01-17  Bruno Haible  <bruno@clisp.org>
74763
74764         * gnulib-tool (func_get_license): Revert last patch. Instead, let
74765         the license default to GPL.
74766         (func_create_testdir): Don't complain if a module is LGPL and its
74767         tests module depends on GPLed modules.
74768
74769 2007-01-17  Bruno Haible  <bruno@clisp.org>
74770
74771         * lib/gettimeofday.c (gettimeofday): Add code for the case
74772         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
74773         maximum possible value for tv->tv_usec, rather than the minimum one.
74774
74775 2005-10-08  Martin Lambers  <marlam@marlam.de>
74776 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74777 2007-01-16  Bruno Haible  <bruno@clisp.org>
74778
74779         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
74780         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
74781         gl_FUNC_GETTIMEOFDAY.
74782         (Include): Add gettimeofday.h.
74783         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
74784         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
74785         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
74786         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
74787         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
74788         * lib/gettimeofday.h: New file.
74789         * lib/gettimeofday.c: Include <sys/timeb.h>.
74790         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
74791         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74792         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
74793         fall back on time().
74794
74795         * tests/test-gettimeofday.c: New file.
74796         * modules/gettimeofday-tests: New file.
74797
74798 2007-01-16  Eric Blake  <ebb9@byu.net>
74799
74800         * modules/fnmatch (Depends-on): Depend on wchar.
74801         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
74802         * m4/fnmatch.m4: Likewise.
74803         * modules/mbchar (Makefile.am): Assume <wchar.h>.
74804         * m4/mbchar.m4: Likewise.
74805         * modules/mbswidth (Depends-on): Depend on wchar.
74806         * lib/mbswidth.c: Assume <wchar.h>.
74807         * m4/mbswidth.m4: Likewise.
74808         * modules/quotearg (Depends-on): Depend on wchar.
74809         * lib/quotearg.c: Assume <wchar.h>.
74810         * m4/quotearg.m4: Likewise.
74811         * modules/regex (Depends-on): Depend on wchar.
74812         * lib/regex_internal.h: Assume <wchar.h>.
74813         * m4/regex.m4: Likewise.
74814         * modules/stdint (Depends-on): Depend on wchar.
74815         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
74816         * m4/stdint.m4: Likewise.
74817         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
74818         * modules/strftime (Depends-on): Depend on wchar.
74819         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
74820         * modules/strtol (Depends-on): Depend on wchar.
74821         * lib/strtol.c: Assume <wchar.h>.
74822         * modules/wcwidth (Depends-on): Depend on wchar.
74823         * lib/wcwidth.h: Assume <wchar.h>.
74824         * m4/wcwidth.m4: Likewise.
74825
74826 2007-01-16  Bruno Haible  <bruno@clisp.org>
74827
74828         * modules/csharpexec-script: New, created from...
74829         * modules/csharpexec: ... this.
74830
74831 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
74832
74833         * modules/javaexec-script: New, created from...
74834         * modules/javaexec: ... this.
74835
74836 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74837
74838         * modules/poll (Dependencies): Add sys_select.
74839
74840 2007-01-15  Jim Meyering  <jim@meyering.net>
74841
74842         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
74843         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
74844         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
74845         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
74846
74847 2007-01-15  Bruno Haible  <bruno@clisp.org>
74848
74849         * modules/striconveh: New file.
74850         * lib/striconveh.h: New file.
74851         * lib/striconveh.c: New file.
74852         * MODULES.html.sh (Internationalization functions): Add striconveh.
74853
74854         * modules/striconveh-tests: New file.
74855         * tests/test-striconveh.c: New file.
74856
74857 2007-01-15  Bruno Haible  <bruno@clisp.org>
74858
74859         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
74860         not from GNU libiconv or GNU libc.
74861
74862 2007-01-15  Bruno Haible  <bruno@clisp.org>
74863
74864         * doc/gnulib-intro.texi (Copyright): Explain the different license
74865         terms for module descriptions, autoconf macros, tests, documentation.
74866
74867 2007-01-14  Bruno Haible  <bruno@clisp.org>
74868
74869         * modules/striconv-tests: New file.
74870         * tests/test-striconv.c: New file.
74871
74872 2007-01-14  Bruno Haible  <bruno@clisp.org>
74873
74874         * modules/iconv-tests: New file.
74875         * tests/test-iconv.c: New file.
74876
74877 2007-01-14  Bruno Haible  <bruno@clisp.org>
74878
74879         * gnulib-tool (func_get_license): For test modules, use the license of
74880         the main module.
74881
74882 2007-01-14  Bruno Haible  <bruno@clisp.org>
74883
74884         * modules/iconv (Include): Clarify that <iconv.h> can only be included
74885         if iconv is found to exist.
74886
74887 2007-01-14  Bruno Haible  <bruno@clisp.org>
74888
74889         * modules/c-ctype-tests: New file.
74890         * tests/test-c-ctype.c: New file.
74891
74892 2007-01-14  Bruno Haible  <bruno@clisp.org>
74893
74894         * modules/binary-io-tests: New file.
74895         * tests/test-binary-io.sh: New file.
74896         * tests/test-binary-io.c: New file.
74897
74898 2007-01-14  Bruno Haible  <bruno@clisp.org>
74899
74900         * modules/array-oset-tests: New file.
74901         * tests/test-array_oset.c: New file.
74902
74903 2007-01-14  Bruno Haible  <bruno@clisp.org>
74904
74905         * modules/array-list-tests: New file.
74906         * tests/test-array_list.c: New file.
74907
74908 2007-01-14  Bruno Haible  <bruno@clisp.org>
74909
74910         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
74911         and make.
74912         Reported by Simon Josefsson in
74913         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
74914
74915 2007-01-14  Bruno Haible  <bruno@clisp.org>
74916
74917         * modules/allocsa-tests: New file.
74918         * tests/test-allocsa.c: New file.
74919
74920 2007-01-14  Bruno Haible  <bruno@clisp.org>
74921
74922         * modules/fchdir (Depends-on): Add absolute-header.
74923         * modules/unistd (Depends-on): Likewise.
74924
74925 2006-12-30  Bruno Haible  <bruno@clisp.org>
74926
74927         * modules/fchdir: New file.
74928         * modules/unistd (Files): Add lib/unistd_.h.
74929         (Makefile.am): Generate unistd.h from unistd_.h.
74930         * lib/fchdir.c: New file.
74931         * lib/dirent_.h: New file.
74932         * lib/unistd_.h: New file.
74933         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
74934         * m4/fchdir.m4: New file.
74935         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
74936         (gl_HEADER_UNISTD): Invoke it.
74937         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
74938         function.
74939         * lib/backupfile.c (opendir, closedir): Undefine.
74940         * lib/chown.c (open, close): Undefine.
74941         * lib/clean-temp.c (open, close): Undefine.
74942         * lib/copy-file.c (open, close): Undefine.
74943         * lib/execute.c (open, close): Undefine.
74944         * lib/fsusage.c (open, close): Undefine.
74945         * lib/gc-gnulib.c (open, close): Undefine.
74946         * lib/getcwd.c (opendir, closedir): Undefine.
74947         * lib/glob.c (opendir, closedir): Undefine.
74948         * lib/javacomp.c (open, close): Undefine.
74949         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
74950         * lib/openat-proc.c (open, close): Undefine.
74951         * lib/pagealign_alloc.c (open, close): Undefine.
74952         * lib/pipe.c (open, close): Undefine.
74953         * lib/progreloc.c (open, close): Undefine.
74954         * lib/savedir.c (opendir, closedir): Undefine.
74955         * lib/utime.c (open, close): Undefine.
74956         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
74957
74958 2007-01-10  Bruno Haible  <bruno@clisp.org>
74959
74960         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
74961
74962 2007-01-12  Eric Blake  <ebb9@byu.net>
74963
74964         Provide a robust <wchar.h>.  Further simplifications are now
74965         possible in other modules, but not included here.
74966         * modules/wchar: New module.
74967         * m4/wchar.m4: New file.
74968         * lib/wchar_.h: Likewise.
74969         * modules/mbchar (Depends-on): Depend on wchar, as the first use
74970         of the new module.
74971         * MODULES.html.sh (Extended multibyte and wide character utilities):
74972         New section.
74973
74974 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
74975
74976         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
74977         to a reasonable default for memory allocation.
74978         (xreadlink): Don't allocate a huge buffer, to work around a buggy
74979         file system that reports garbage st_size values for symlinks.
74980         Problem reported by Liyang Hu.
74981
74982 2007-01-11  Simon Josefsson  <simon@josefsson.org>
74983
74984         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
74985         Emacs .#* auto-save files).
74986
74987 2007-01-11  Bruno Haible  <bruno@clisp.org>
74988
74989         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
74990         directory.
74991
74992 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
74993
74994         Use @...@ consistently in lib/wctype_.h.
74995         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
74996         on it being set to 1 or 0.
74997         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
74998         go back to AC_SUBSTing it.
74999         * modules/wctype (Makefile.am): Undo previous change.
75000
75001 2007-01-10  Eric Blake  <ebb9@byu.net>
75002
75003         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
75004         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
75005         * modules/wctype (Makefile.am): Likewise.
75006         Reported by Chris McGuire.
75007
75008 2007-01-10  Jim Meyering  <jim@meyering.net>
75009
75010         fts.c: a small readability/maintainability improvement
75011         * lib/fts.c (fts_read): Make this code slightly more readable and
75012         maintainable by hoisting the "sp->fts_cur = p" assignments to
75013         immediately follow the statements that set P.  Derived from
75014         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
75015
75016 2007-01-10  Eric Blake  <ebb9@byu.net>
75017
75018         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
75019         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
75020         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75021         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
75022         Reported by Chris McGuire.
75023
75024 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75025
75026         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
75027         in sed script.
75028
75029 2007-01-09  Bruno Haible  <bruno@clisp.org>
75030
75031         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
75032         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
75033         variables.
75034         (func_module): Use them.
75035
75036 2007-01-09  Bruno Haible  <bruno@clisp.org>
75037
75038         * modules/unistr/base: New file.
75039         * lib/unistr.h: New file.
75040
75041         * modules/unistr/u8-to-u16: New file.
75042         * lib/unistr/u8-to-u16.c: New file.
75043
75044         * modules/unistr/u8-to-u32: New file.
75045         * lib/unistr/u8-to-u32.c: New file.
75046
75047         * modules/unistr/u16-to-u8: New file.
75048         * lib/unistr/u16-to-u8.c: New file.
75049
75050         * modules/unistr/u16-to-u32: New file.
75051         * lib/unistr/u16-to-u32.c: New file.
75052
75053         * modules/unistr/u32-to-u8: New file.
75054         * lib/unistr/u32-to-u8.c: New file.
75055
75056         * modules/unistr/u32-to-u16: New file.
75057         * lib/unistr/u32-to-u16.c: New file.
75058
75059         * modules/unistr/u8-check: New file.
75060         * modules/unistr/u16-check: New file.
75061         * modules/unistr/u32-check: New file.
75062         * lib/unistr/u8-check.c: New file.
75063         * lib/unistr/u16-check.c: New file.
75064         * lib/unistr/u32-check.c: New file.
75065
75066         * modules/unistr/u8-chr: New file.
75067         * modules/unistr/u16-chr: New file.
75068         * modules/unistr/u32-chr: New file.
75069         * lib/unistr/u8-chr.c: New file.
75070         * lib/unistr/u16-chr.c: New file.
75071         * lib/unistr/u32-chr.c: New file.
75072
75073         * modules/unistr/u8-cmp: New file.
75074         * modules/unistr/u16-cmp: New file.
75075         * modules/unistr/u32-cmp: New file.
75076         * lib/unistr/u8-cmp.c: New file.
75077         * lib/unistr/u16-cmp.c: New file.
75078         * lib/unistr/u32-cmp.c: New file.
75079
75080         * modules/unistr/u8-cpy: New file.
75081         * modules/unistr/u16-cpy: New file.
75082         * modules/unistr/u32-cpy: New file.
75083         * lib/unistr/u8-cpy.c: New file.
75084         * lib/unistr/u16-cpy.c: New file.
75085         * lib/unistr/u32-cpy.c: New file.
75086         * lib/unistr/u-cpy.h: New file.
75087
75088         * modules/unistr/u8-cpy-alloc: New file.
75089         * modules/unistr/u16-cpy-alloc: New file.
75090         * modules/unistr/u32-cpy-alloc: New file.
75091         * lib/unistr/u8-cpy-alloc.c: New file.
75092         * lib/unistr/u16-cpy-alloc.c: New file.
75093         * lib/unistr/u32-cpy-alloc.c: New file.
75094         * lib/unistr/u-cpy-alloc.h: New file.
75095
75096         * modules/unistr/u8-endswith: New file.
75097         * modules/unistr/u16-endswith: New file.
75098         * modules/unistr/u32-endswith: New file.
75099         * lib/unistr/u8-endswith.c: New file.
75100         * lib/unistr/u16-endswith.c: New file.
75101         * lib/unistr/u32-endswith.c: New file.
75102         * lib/unistr/u-endswith.h: New file.
75103
75104         * modules/unistr/u8-mblen: New file.
75105         * modules/unistr/u16-mblen: New file.
75106         * modules/unistr/u32-mblen: New file.
75107         * lib/unistr/u8-mblen.c: New file.
75108         * lib/unistr/u16-mblen.c: New file.
75109         * lib/unistr/u32-mblen.c: New file.
75110
75111         * modules/unistr/u8-mbtouc: New file.
75112         * modules/unistr/u16-mbtouc: New file.
75113         * modules/unistr/u32-mbtouc: New file.
75114         * lib/unistr/u8-mbtouc.c: New file.
75115         * lib/unistr/u16-mbtouc.c: New file.
75116         * lib/unistr/u32-mbtouc.c: New file.
75117
75118         * modules/unistr/u8-mbtouc-safe: New file.
75119         * modules/unistr/u16-mbtouc-safe: New file.
75120         * modules/unistr/u32-mbtouc-safe: New file.
75121         * lib/unistr/u8-mbtouc-safe.c: New file.
75122         * lib/unistr/u16-mbtouc-safe.c: New file.
75123         * lib/unistr/u32-mbtouc-safe.c: New file.
75124
75125         * modules/unistr/u8-move: New file.
75126         * modules/unistr/u16-move: New file.
75127         * modules/unistr/u32-move: New file.
75128         * lib/unistr/u8-move.c: New file.
75129         * lib/unistr/u16-move.c: New file.
75130         * lib/unistr/u32-move.c: New file.
75131         * lib/unistr/u-move.h: New file.
75132
75133         * modules/unistr/u8-next: New file.
75134         * modules/unistr/u16-next: New file.
75135         * modules/unistr/u32-next: New file.
75136         * lib/unistr/u8-next.c: New file.
75137         * lib/unistr/u16-next.c: New file.
75138         * lib/unistr/u32-next.c: New file.
75139
75140         * modules/unistr/u8-prev: New file.
75141         * modules/unistr/u16-prev: New file.
75142         * modules/unistr/u32-prev: New file.
75143         * lib/unistr/u8-prev.c: New file.
75144         * lib/unistr/u16-prev.c: New file.
75145         * lib/unistr/u32-prev.c: New file.
75146
75147         * modules/unistr/u8-set: New file.
75148         * modules/unistr/u16-set: New file.
75149         * modules/unistr/u32-set: New file.
75150         * lib/unistr/u8-set.c: New file.
75151         * lib/unistr/u16-set.c: New file.
75152         * lib/unistr/u32-set.c: New file.
75153         * lib/unistr/u-set.h: New file.
75154
75155         * modules/unistr/u8-startswith: New file.
75156         * modules/unistr/u16-startswith: New file.
75157         * modules/unistr/u32-startswith: New file.
75158         * lib/unistr/u8-startswith.c: New file.
75159         * lib/unistr/u16-startswith.c: New file.
75160         * lib/unistr/u32-startswith.c: New file.
75161         * lib/unistr/u-startswith.h: New file.
75162
75163         * modules/unistr/u8-stpcpy: New file.
75164         * modules/unistr/u16-stpcpy: New file.
75165         * modules/unistr/u32-stpcpy: New file.
75166         * lib/unistr/u8-stpcpy.c: New file.
75167         * lib/unistr/u16-stpcpy.c: New file.
75168         * lib/unistr/u32-stpcpy.c: New file.
75169         * lib/unistr/u-stpcpy.h: New file.
75170
75171         * modules/unistr/u8-stpncpy: New file.
75172         * modules/unistr/u16-stpncpy: New file.
75173         * modules/unistr/u32-stpncpy: New file.
75174         * lib/unistr/u8-stpncpy.c: New file.
75175         * lib/unistr/u16-stpncpy.c: New file.
75176         * lib/unistr/u32-stpncpy.c: New file.
75177         * lib/unistr/u-stpncpy.h: New file.
75178
75179         * modules/unistr/u8-strcat: New file.
75180         * modules/unistr/u16-strcat: New file.
75181         * modules/unistr/u32-strcat: New file.
75182         * lib/unistr/u8-strcat.c: New file.
75183         * lib/unistr/u16-strcat.c: New file.
75184         * lib/unistr/u32-strcat.c: New file.
75185         * lib/unistr/u-strcat.h: New file.
75186
75187         * modules/unistr/u8-strchr: New file.
75188         * modules/unistr/u16-strchr: New file.
75189         * modules/unistr/u32-strchr: New file.
75190         * lib/unistr/u8-strchr.c: New file.
75191         * lib/unistr/u16-strchr.c: New file.
75192         * lib/unistr/u32-strchr.c: New file.
75193
75194         * modules/unistr/u8-strcmp: New file.
75195         * modules/unistr/u16-strcmp: New file.
75196         * modules/unistr/u32-strcmp: New file.
75197         * lib/unistr/u8-strcmp.c: New file.
75198         * lib/unistr/u16-strcmp.c: New file.
75199         * lib/unistr/u32-strcmp.c: New file.
75200
75201         * modules/unistr/u8-strcpy: New file.
75202         * modules/unistr/u16-strcpy: New file.
75203         * modules/unistr/u32-strcpy: New file.
75204         * lib/unistr/u8-strcpy.c: New file.
75205         * lib/unistr/u16-strcpy.c: New file.
75206         * lib/unistr/u32-strcpy.c: New file.
75207         * lib/unistr/u-strcpy.h: New file.
75208
75209         * modules/unistr/u8-strcspn: New file.
75210         * modules/unistr/u16-strcspn: New file.
75211         * modules/unistr/u32-strcspn: New file.
75212         * lib/unistr/u8-strcspn.c: New file.
75213         * lib/unistr/u16-strcspn.c: New file.
75214         * lib/unistr/u32-strcspn.c: New file.
75215         * lib/unistr/u-strcspn.h: New file.
75216
75217         * modules/unistr/u8-strdup: New file.
75218         * modules/unistr/u16-strdup: New file.
75219         * modules/unistr/u32-strdup: New file.
75220         * lib/unistr/u8-strdup.c: New file.
75221         * lib/unistr/u16-strdup.c: New file.
75222         * lib/unistr/u32-strdup.c: New file.
75223         * lib/unistr/u-strdup.h: New file.
75224
75225         * modules/unistr/u8-strlen: New file.
75226         * modules/unistr/u16-strlen: New file.
75227         * modules/unistr/u32-strlen: New file.
75228         * lib/unistr/u8-strlen.c: New file.
75229         * lib/unistr/u16-strlen.c: New file.
75230         * lib/unistr/u32-strlen.c: New file.
75231         * lib/unistr/u-strlen.h: New file.
75232
75233         * modules/unistr/u8-strmblen: New file.
75234         * modules/unistr/u16-strmblen: New file.
75235         * modules/unistr/u32-strmblen: New file.
75236         * lib/unistr/u8-strmblen.c: New file.
75237         * lib/unistr/u16-strmblen.c: New file.
75238         * lib/unistr/u32-strmblen.c: New file.
75239
75240         * modules/unistr/u8-strmbtouc: New file.
75241         * modules/unistr/u16-strmbtouc: New file.
75242         * modules/unistr/u32-strmbtouc: New file.
75243         * lib/unistr/u8-strmbtouc.c: New file.
75244         * lib/unistr/u16-strmbtouc.c: New file.
75245         * lib/unistr/u32-strmbtouc.c: New file.
75246
75247         * modules/unistr/u8-strncat: New file.
75248         * modules/unistr/u16-strncat: New file.
75249         * modules/unistr/u32-strncat: New file.
75250         * lib/unistr/u8-strncat.c: New file.
75251         * lib/unistr/u16-strncat.c: New file.
75252         * lib/unistr/u32-strncat.c: New file.
75253         * lib/unistr/u-strncat.h: New file.
75254
75255         * modules/unistr/u8-strncmp: New file.
75256         * modules/unistr/u16-strncmp: New file.
75257         * modules/unistr/u32-strncmp: New file.
75258         * lib/unistr/u8-strncmp.c: New file.
75259         * lib/unistr/u16-strncmp.c: New file.
75260         * lib/unistr/u32-strncmp.c: New file.
75261
75262         * modules/unistr/u8-strncpy: New file.
75263         * modules/unistr/u16-strncpy: New file.
75264         * modules/unistr/u32-strncpy: New file.
75265         * lib/unistr/u8-strncpy.c: New file.
75266         * lib/unistr/u16-strncpy.c: New file.
75267         * lib/unistr/u32-strncpy.c: New file.
75268         * lib/unistr/u-strncpy.h: New file.
75269
75270         * modules/unistr/u8-strnlen: New file.
75271         * modules/unistr/u16-strnlen: New file.
75272         * modules/unistr/u32-strnlen: New file.
75273         * lib/unistr/u8-strnlen.c: New file.
75274         * lib/unistr/u16-strnlen.c: New file.
75275         * lib/unistr/u32-strnlen.c: New file.
75276         * lib/unistr/u-strnlen.h: New file.
75277
75278         * modules/unistr/u8-strpbrk: New file.
75279         * modules/unistr/u16-strpbrk: New file.
75280         * modules/unistr/u32-strpbrk: New file.
75281         * lib/unistr/u8-strpbrk.c: New file.
75282         * lib/unistr/u16-strpbrk.c: New file.
75283         * lib/unistr/u32-strpbrk.c: New file.
75284         * lib/unistr/u-strpbrk.h: New file.
75285
75286         * modules/unistr/u8-strrchr: New file.
75287         * modules/unistr/u16-strrchr: New file.
75288         * modules/unistr/u32-strrchr: New file.
75289         * lib/unistr/u8-strrchr.c: New file.
75290         * lib/unistr/u16-strrchr.c: New file.
75291         * lib/unistr/u32-strrchr.c: New file.
75292
75293         * modules/unistr/u8-strspn: New file.
75294         * modules/unistr/u16-strspn: New file.
75295         * modules/unistr/u32-strspn: New file.
75296         * lib/unistr/u8-strspn.c: New file.
75297         * lib/unistr/u16-strspn.c: New file.
75298         * lib/unistr/u32-strspn.c: New file.
75299         * lib/unistr/u-strspn.h: New file.
75300
75301         * modules/unistr/u8-strstr: New file.
75302         * modules/unistr/u16-strstr: New file.
75303         * modules/unistr/u32-strstr: New file.
75304         * lib/unistr/u8-strstr.c: New file.
75305         * lib/unistr/u16-strstr.c: New file.
75306         * lib/unistr/u32-strstr.c: New file.
75307         * lib/unistr/u-strstr.h: New file.
75308
75309         * modules/unistr/u8-strtok: New file.
75310         * modules/unistr/u16-strtok: New file.
75311         * modules/unistr/u32-strtok: New file.
75312         * lib/unistr/u8-strtok.c: New file.
75313         * lib/unistr/u16-strtok.c: New file.
75314         * lib/unistr/u32-strtok.c: New file.
75315         * lib/unistr/u-strtok.h: New file.
75316
75317         * modules/unistr/u8-uctomb: New file.
75318         * modules/unistr/u16-uctomb: New file.
75319         * modules/unistr/u32-uctomb: New file.
75320         * lib/unistr/u8-uctomb.c: New file.
75321         * lib/unistr/u16-uctomb.c: New file.
75322         * lib/unistr/u32-uctomb.c: New file.
75323
75324         * MODULES.html.sh (Unicode string functions): Add the new modules.
75325
75326 2007-01-08  Bruno Haible  <bruno@clisp.org>
75327
75328         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
75329         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
75330         subdirectories.
75331
75332 2007-01-08  Karl Berry  <karl@gnu.org>
75333
75334         * doc/error.texi: mention that main() fns must set program_name
75335         when progname is used.
75336
75337 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
75338
75339         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
75340         WCTYPE_H is empty, for the benefit of builds from non-distclean
75341         directories.  Problem reported by Eric Blake in
75342         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
75343
75344 2007-01-08  Bruno Haible  <bruno@clisp.org>
75345
75346         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
75347         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
75348         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
75349         PROVIDE_CANONICALIZE_FILENAME_MODE.
75350         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
75351
75352 2007-01-08  Bruno Haible  <bruno@clisp.org>
75353
75354         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
75355         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
75356         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
75357         * lib/fts.c: Likewise.
75358         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
75359
75360 2006-12-25  Bruno Haible  <bruno@clisp.org>
75361
75362         * modules/utf8-ucs4-safe: New file.
75363         * lib/utf8-ucs4-safe.h: New file.
75364         * lib/unistr/utf8-ucs4-safe.c: New file.
75365
75366         * modules/utf16-ucs4-safe: New file.
75367         * lib/utf16-ucs4-safe.h: New file.
75368         * lib/unistr/utf16-ucs4-safe.c: New file.
75369
75370         * MODULES.html.sh (Unicode string functions): Add the new modules.
75371
75372 2007-01-08  Bruno Haible  <bruno@clisp.org>
75373
75374         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
75375         (Depends-on): Add unitypes.
75376         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75377         (u8_mbtouc_aux): Move out to separate file.
75378         (u8_mbtouc): Use ucs4_t, uint8_t types.
75379         * lib/unistr/utf8-ucs4.c: New file.
75380
75381         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
75382         (Depends-on): Add unitypes.
75383         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75384         (u16_mbtouc_aux): Move out to separate file.
75385         (u16_mbtouc): Use ucs4_t, uint16_t types.
75386         * lib/unistr/utf16-ucs4.c: New file.
75387
75388         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
75389         (Depends-on): Add unitypes.
75390         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
75391         (u8_uctomb_aux): Move out to separate file.
75392         (u8_uctomb): Use ucs4_t, uint8_t types.
75393         * lib/unistr/ucs4-utf8.c: New file.
75394
75395         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
75396         (Depends-on): Add unitypes.
75397         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
75398         (u16_uctomb_aux): Move out to separate file.
75399         (u16_uctomb): Use ucs4_t, uint16_t types.
75400         * lib/unistr/ucs4-utf16.c: New file.
75401
75402 2006-12-25  Bruno Haible  <bruno@clisp.org>
75403
75404         * modules/unitypes: New file.
75405         * lib/unitypes.h: New file.
75406         * MODULES.html.sh (func_all_modules): New section "Unicode string
75407         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
75408         this section. Add unitypes.
75409
75410 2007-01-08  Bruno Haible  <bruno@clisp.org>
75411
75412         Avoid variable names that conflict with those from libtool.
75413         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
75414         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
75415         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
75416         library_names_spec to acl_library_names_spec, hardcode_* to
75417         acl_hardcode_*.
75418         Reported by Ralf Wildenhues.
75419
75420 2007-01-08  Bruno Haible  <bruno@clisp.org>
75421
75422         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
75423         definition.
75424         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
75425         definition.
75426         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
75427         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
75428         definition.
75429         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
75430         definition.
75431         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
75432         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
75433         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
75434         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
75435         definition.
75436         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
75437         definition.
75438         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
75439         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
75440         GC_USE_<algorithm>.
75441         * lib/gc-libgcrypt.c: Likewise.
75442         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
75443         * modules/gc-arctwo (configure.ac): Likewise.
75444         * modules/gc-des (configure.ac): Likewise.
75445         * modules/gc-hmac-md5 (configure.ac): Likewise.
75446         * modules/gc-hmac-sha1 (configure.ac): Likewise.
75447         * modules/gc-md2 (configure.ac): Likewise.
75448         * modules/gc-md4 (configure.ac): Likewise.
75449         * modules/gc-md5 (configure.ac): Likewise.
75450         * modules/gc-random (configure.ac): Likewise.
75451         * modules/gc-rijndael (configure.ac): Likewise.
75452         * modules/gc-sha1 (configure.ac): Likewise.
75453
75454 2007-01-08  Bruno Haible  <bruno@clisp.org>
75455
75456         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
75457         macro definition.
75458         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
75459         definition.
75460         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
75461         definition.
75462         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
75463         * modules/fcntl-safer (configure.ac): Likewise.
75464         * modules/fopen-safer (configure.ac): Likewise.
75465         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
75466         GNULIB_FWRITEERROR macro definition.
75467
75468 2007-01-08  Bruno Haible  <bruno@clisp.org>
75469
75470         * m4/gnulib-common.m4: New file.
75471         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
75472         (func_get_filelist): Add m4/gnulib-common.m4.
75473
75474 2007-01-08  Bruno Haible  <bruno@clisp.org>
75475
75476         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
75477         command.
75478
75479 2007-01-08  Jim Meyering  <jim@meyering.net>
75480
75481         Use a more robust test for a "can't happen" condition.
75482         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
75483         narrowed the st_size value.  Presuming the "can't happen" condition
75484         is true, that narrowing could conceivably convert an invalid st_size
75485         value into a valid one.  Instead, use a change based on Matthew
75486         Woehlke's original patch.
75487
75488         Slight readability improvement: use an assert-like macro
75489         in place of literal "abort ()" uses.
75490         * lib/fts.c (fts_assert): Define.
75491         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
75492         Use this macro instead of a bare 'abort'.
75493
75494 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
75495
75496         Don't worry about using IRIX 5.3's wctype.h broken definitions;
75497         simply work around them.
75498         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
75499         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
75500         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
75501         declaring.
75502         Don't bother to define as macros, since the standard doesn't require it.
75503         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
75504         longer worry about IRIX 5.3.
75505         (HAVE_WCTYPE_CTMP_BUG): Remove.
75506
75507 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75508
75509         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
75510         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
75511         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
75512         Problems reported by Georg Schwarz for IRIX 5.3.
75513
75514         * gnulib-tool (autoconf_minversion): Take the maximum version number
75515         found, not the minimum.  Problem reported by James Youngman.
75516
75517 2007-01-03  Karl Berry  <karl@gnu.org>
75518
75519         * doc/error.texi: new file, explaining interaction with progname.
75520         * doc/gnulib.texi: include it.  Update copyright.
75521
75522 2007-01-03  Simon Josefsson  <simon@josefsson.org>
75523
75524         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
75525         AC_CANONICAL_HOST, to improve autobuild outputs.
75526
75527 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
75528             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
75529
75530         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
75531         sockets, server sockets, and other file descriptors.  Count errors
75532         to compute the return value.  Reorder the code a bit to be easier
75533         to follow.  Don't set event bits that were not requested (except
75534         POLLERR and POLLHUP).
75535
75536 2007-01-01  Bruno Haible  <bruno@clisp.org>
75537
75538         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
75539
75540 2007-01-03  Jim Meyering  <jim@meyering.net>
75541
75542         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
75543
75544 2007-01-02  Bruno Haible  <bruno@clisp.org>
75545
75546         * modules/settime (Include): Require timespec.h.
75547         * modules/nanosleep (Include): Likewise.
75548
75549 2007-01-01  Bruno Haible  <bruno@clisp.org>
75550
75551         * gnulib-tool (func_emit_copyright_notice): Bump year.
75552         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
75553
75554 2007-01-01  Bruno Haible  <bruno@clisp.org>
75555
75556         Improve support for OpenBSD.
75557         * build-aux/config.rpath (libname_spec): Export.
75558         (library_names_spec): New variable. Export.
75559         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
75560         library_names_spec from the config.rpath output. Locate shared library
75561         through the name pattern in library_names_spec.
75562
75563 2007-01-01  Eric Blake  <ebb9@byu.net>
75564
75565         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
75566
75567 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
75568
75569         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
75570         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
75571         assume the C locale, and avoid an "eval" that could cause trouble.
75572         Problem with SORT reported by Bob Proulx.
75573
75574         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
75575         Define.  Trivial patch from Henning Nielsen Lund, originally
75576         sent to bug-grep@gnu.org today.
75577
75578 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
75579
75580         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
75581         struct stat.  Problem reported by Henning Nielsen Lund.
75582         * lib/acl.c: Include acl.h first, to check interface.  Don't
75583         bother to include sys/types.h and sys/stat.h again.
75584
75585 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
75586
75587         Import the following change from libc; problem reported by
75588         Sven Verdoolaege.
75589
75590         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
75591
75592         [BZ #1373]
75593         * lib/argp.h: Remove __NTH for __argp_usage inline function.
75594
75595 2006-12-28  Jim Meyering  <jim@meyering.net>
75596
75597         * build-aux/announce-gen: Do not assume that the package
75598         builds any of tar.gz, tar.bz2, and .xdelta files.
75599         Suggestion from Simon Josefsson.
75600
75601 2006-12-28  Simon Josefsson  <simon@josefsson.org>
75602
75603         * modules/announce-gen: New file.
75604
75605 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
75606
75607         * lib/mbchar.h: Just include <wctype.h>; the wctype module
75608         handles its gotchas now.
75609         * lib/mbswidth.c: Likewise.
75610         * lib/wcwidth.h: Likewise.
75611         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
75612         and iswcntrl; the wctype module does this stuff now.
75613         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75614         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75615         * modules/mbchar (Depends-on): Add wctype.
75616         * modules/mbswidth (Depends-on): Likewise.
75617         * modules/wcwidth (Depends-on): Likewise.
75618
75619 2006-12-27  Eric Blake  <ebb9@byu.net>
75620
75621         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
75622         module uses more than what <wctype.h> is required to provide.
75623
75624 2006-12-26  Eric Blake  <ebb9@byu.net>
75625
75626         * gnulib-tool (sed_extract_prog): Avoid space-tab.
75627
75628 2006-12-26  Eric Blake  <ebb9@byu.net>
75629
75630         * modules/absolute-header: New module.
75631         * modules/fcntl (Depends-on): Depend on it.
75632         * modules/inttypes (Depends-on): Likewise.
75633         * modules/stdint (Depends-on): Likewise.
75634         * modules/sys_stat (Depends-on): Likewise.
75635         * modules/wctype (Depends-on): Likewise.
75636         * MODULES.html.sh (Support for building libraries and
75637         executables): Document it.
75638
75639 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
75640
75641         * gnulib-tool (SED): Remove, undoing previous change.
75642         The problem was that it broke coreutils on Solaris, because
75643         "sed --posix" leaked into a makefile.
75644         (sed): New alias, if 'alias' and GNU sed.
75645
75646 2006-12-24  Jim Meyering  <jim@meyering.net>
75647
75648         Work around an fchownat bug in glibc-2.4:
75649         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
75650         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
75651         in spite of the -P option.
75652         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
75653         New macros.
75654         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
75655         * modules/openat (Files): Add lib/fchownat.c.
75656         * lib/openat.c (fchownat): Don't define here.  Move to...
75657         * lib/fchownat.c: ...this new file.
75658
75659 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75660
75661         Fix bug reported by Bruno Haible in
75662         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
75663         where quotearg.c didn't compile on Mac OS X 10.2 because it
75664         lacks <wchar.h> and wint_t.
75665         * lib/wctype_.h (__wctype_wint_t): New type.
75666         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
75667         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
75668         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
75669         Arg is now of type __wctype_wint_t, not wint_t.
75670         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
75671         substitute HAVE_WINT_T.
75672         * modules/wctype (Files): Add m4/wint_t.m4.
75673         (wctype.h): Substitute HAVE_WINT_T.
75674
75675 2006-12-23  Bruno Haible  <bruno@clisp.org>
75676
75677         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
75678
75679 2006-12-23  Bruno Haible  <bruno@clisp.org>
75680
75681         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
75682         S_ISLNK.
75683         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
75684         mingw.
75685
75686 2006-12-22  Bruno Haible  <bruno@clisp.org>
75687
75688         * lib/copy-file.c: Include acl.h.
75689         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
75690         Close the file descriptors only after being done with copy_acl.
75691         * modules/copy-file (Depends-on): Add acl.
75692
75693 2006-12-22  Bruno Haible  <bruno@clisp.org>
75694
75695         * gnulib-tool (SED): New variable.
75696         Use $SED instead of sed everywhere.
75697
75698 2006-12-22  Bruno Haible  <bruno@clisp.org>
75699
75700         * modules/no-c++: New file.
75701         * m4/no-c++.m4: New file.
75702         * MODULES.html.sh (Support for building libraries and executables):
75703         Add no-c++.
75704
75705 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
75706
75707         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75708         Include <limits.h>, and use its INT_MAX to rewrite the
75709         j loop so that it does not overflow 'int'.  Problem reported by
75710         Ralf Wildenhues in
75711         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
75712         Play it safe by shifting left by 1 rather than multiplying by 2,
75713         as GCC is less likely to optimize this away when the value
75714         is signed (when it assumes overflow leads to undefined behavior).
75715         Also, don't assume time_t uses two's complement.
75716
75717 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
75718
75719         * MODULES.html.sh: New module wctype.
75720         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
75721         * lib/fnmatch.c: Don't bother to include <wchar.h> before
75722         <wctype.h>, since the new wctype module should fix this.
75723         * lib/quotearg.c: Include <wctype.h> unconditionally, since
75724         the wctype module should arrange for it.
75725         * lib/regex_internal.h: Likewise.
75726         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
75727         since the wctype module should handle this now.
75728         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
75729         * modules/fnmatch (Depends-on): Add wctype.
75730         * modules/quotearg (Depends-on): Likewise.
75731         * modules/regex (Depends-on): Likewise.
75732
75733 2006-12-19  Bruno Haible  <bruno@clisp.org>
75734
75735         * lib/strdup.h [C++]: Wrap definitions in extern "C".
75736         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
75737
75738 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75739
75740         * modules/savewd (Depends-on): Fix dependency on fcntl.
75741
75742 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75743
75744         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
75745         conforms to C99, rather than relying on the user's environment
75746         setting of STDINT_H.
75747
75748 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75749         and Eric Blake  <ebb9@byu.net>
75750
75751         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
75752         This is more consistent with the other defines here.
75753         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
75754         Port to z/OS.  Problem reported by Paul Gilmartin.
75755         Change local vars to use gl_ prefix rather than ac_.
75756         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
75757         with other defines.
75758         * modules/double-slash-root: New module.
75759         * modules/dirname (Files): Remove m4/double-slash-root.m4.
75760         (Depends-on): Add double-slash-root.
75761         * MODULES.html.sh (File system functions): Mention new module.
75762
75763 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
75764
75765         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
75766         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
75767         This is for the benefit of gzip, which doesn't do i18n.
75768
75769 2006-12-12  Jim Meyering  <jim@meyering.net>
75770
75771         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
75772         Reported by Andreas Schwab <schwab@suse.de>.
75773
75774 2006-12-12  Bruno Haible  <bruno@clisp.org>
75775
75776         Merge these changes.
75777         2006-09-05  Bruno Haible  <bruno@clisp.org>
75778         * lib/iconvme.c (iconv_string): No need to save and restore errno when
75779         iconv_alloc succeeded.
75780         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
75781         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
75782         test for " && dest " at the end - dest is always != NULL there. Call
75783         iconv with 4xNULL arguments initially, to reset the state. Call iconv
75784         with 2xNULL arguments, also to flush the state storage. Handle the
75785         IRIX iconv behaviour. Realloc the final result, to throw away unused
75786         memory.
75787
75788 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
75789
75790         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
75791         and fchmodat unconditionally, since glibc 2.4 has them.
75792         Problem reported by Arkadiusz Miskiewicz.
75793
75794 2006-12-10  Bruno Haible  <bruno@clisp.org>
75795
75796         * gnulib-tool (func_import): Show the include files only for those
75797         modules that are copied and specified.
75798         Reported by Karl Berry.
75799
75800 2006-12-08  Jim Meyering  <jim@meyering.net>
75801
75802         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
75803         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
75804
75805         * build-aux/announce-gen: Add two new options, both optional:
75806         --bootstrap-tools=TOOL_LIST
75807               a comma-separated list of tools, e.g.,
75808               autoconf,automake,bison,gnulib
75809         --gnulib-snapshot-date=DATE
75810               if gnulib is in the bootstrap tool list,
75811               then report this as the snapshot date.
75812               If not specified, use the current date/time.
75813               If you specify a date here, be sure it's UTC.
75814
75815 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75816
75817         * tests/test-argp-2.sh: Fix test to match actual output.
75818         (func_compare): Fix sed script to be portable.
75819
75820 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
75821
75822         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
75823         workaround for this case.  It is not autoconfigured now; offhand
75824         it's hard to see how to autoconfigure it.
75825
75826 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
75827
75828         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
75829         a directory that is about to be chowned.  Such a directory's
75830         initial file permissions should permit the owner only and this
75831         should not be changed until after the chown, since the group and
75832         other bits would be incorrect if they granted permission before
75833         the chown.
75834
75835         Fix porting problem for iswctype reported by Georg Schwarz in:
75836         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
75837         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
75838         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
75839         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
75840         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
75841
75842 2006-12-03  Jim Meyering  <jim@meyering.net>
75843
75844         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
75845         p->fts_statp may not yet be defined.
75846         (fts_read): Instead, set it in the caller, once p->fts_statp is
75847         sure to be defined, and corresponds to a top-level directory.
75848         This bug made du -x fail.  Here's the coreutils test case:
75849         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
75850         Reported by Mike Frysinger.
75851
75852 2006-12-01  Jim Meyering  <jim@meyering.net>
75853
75854         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
75855         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
75856         Reported by Simon Josefsson.
75857
75858 2006-11-30  Jim Meyering  <jim@meyering.net>
75859
75860         * m4/warning.m4: Use the all-permissive copyright notice
75861         recommended by RMS (rather than LGPL).
75862         * m4/vararrays.m4: Likewise.
75863         * m4/flexmember.m4: Likewise.
75864
75865 2006-11-29  Bruno Haible  <bruno@clisp.org>
75866
75867         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75868         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
75869         using +=.
75870         Reported by Simon Josefsson <simon@josefsson.org>.
75871
75872 2006-11-28  James Youngman <jay@gnu.org>
75873
75874         * README: Advise users that they might find the bug-gnulib@gnu.org
75875         and autotools-announce@gnu.org mailing lists useful.
75876
75877 2006-11-28  Bruno Haible  <bruno@clisp.org>
75878
75879         * m4/ptrdiff_max.m4: Remove file.
75880
75881 2006-11-21  Bruno Haible  <bruno@clisp.org>
75882
75883         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
75884         _AC_COMPUTE_INT.
75885         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75886         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
75887         _AC_COMPUTE_INT.
75888         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75889         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
75890         _AC_COMPUTE_INT.
75891         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75892
75893 2006-11-28  Jim Meyering  <jim@meyering.net>
75894
75895         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
75896         warning from "gcc -Wshadow" about shadowing the builtin.
75897
75898 2006-11-27  Bruno Haible  <bruno@clisp.org>
75899
75900         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
75901         _AC_COMPUTE_INT.
75902         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75903
75904 2006-11-27  Bruno Haible  <bruno@clisp.org>
75905             Paul Eggert  <eggert@cs.ucla.edu>
75906
75907         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
75908
75909 2006-11-26  Bruno Haible  <bruno@clisp.org>
75910
75911         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75912         noinst_LTLIBRARIES.
75913
75914 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
75915             Bruno Haible  <bruno@clisp.org>
75916
75917         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
75918         if compiling with "gcc -ansi".
75919
75920 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
75921
75922         Fix some incompatibilities with gcc -ansi -pedantic.
75923         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
75924         if compiling pedantically with GCC, unless it's C99 or later.
75925         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
75926         it mishandles gcc -ansi -pedantic as well.
75927         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
75928         if gcc -pedantic.
75929         * lib/regexec.c (check_node_accept_bytes): Don't use auto
75930         initializers for struct if -pedantic, unless it's C99 or later.
75931
75932 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
75933
75934         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
75935         Don't close an fd more than once. Identical atimes indicate
75936         success, not failure.
75937
75938 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
75939
75940         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
75941
75942 2006-11-23  Jim Meyering  <jim@meyering.net>
75943
75944         * build-aux/announce-gen: New file.  From coreutils.
75945
75946 2006-11-22  Jim Meyering  <jim@meyering.net>
75947
75948         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
75949         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
75950         (fts_read): Use a temporary to narrow the overused st_size member
75951         before using it in a switch statement.  Reported by Matthew Woehlke.
75952
75953         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
75954         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
75955
75956 2006-11-20  Bruno Haible  <bruno@clisp.org>
75957
75958         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
75959         changequote instead of pairs of brackets.
75960         Reported by Andreas Schwab <schwab@suse.de>.
75961
75962 2006-11-21  Jim Meyering  <jim@meyering.net>
75963
75964         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
75965         so as to remain compatible with older compilers.
75966         Patch from Michael Deutschmann.
75967
75968 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75969
75970         * MODULES.html.sh (File system functions): Add openat.
75971
75972         * lib/openat.h (rpl_fstatat): New macro, if
75973         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
75974         (fstatat): Define to rpl_fstatat under the same conditions,
75975         unless COMPILING_FSTATAT.
75976         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
75977         seems to have the bug.
75978         * lib/fstatat.c: New file.
75979         * modules/openat (Files): Add it.
75980
75981 2006-11-20  Bruno Haible  <bruno@clisp.org>
75982
75983         * Makefile: New file.
75984
75985 2006-11-20  Jim Meyering  <jim@meyering.net>
75986
75987         The beginnings of syntax-related checks for gnulib.
75988         * lib/Makefile: New file.
75989         * lib/t-idcache: New script.  Ensure that the two halves of
75990         idcache.c stay in sync.
75991
75992         * lib/idcache.c: Adjust comments in user- and group- portions to
75993         be more accurate, and to be consistent with one another.
75994
75995 2006-11-20  Jim Meyering  <jim@meyering.net>
75996
75997         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
75998         continue using the flexible array member (thus, this module performs
75999         half as many malloc calls), with the addition that...
76000         (getgroup, getuser): Consistently record a non-match via an empty
76001         "name" string, and map an empty string match to a NULL return value.
76002         * modules/idcache (Depends-on): Re-add flexmember.
76003
76004         * lib/idcache.c (getuser): Remove all uses of the register keyword.
76005         (getuidbyname, getgroup, getgidbyname): Likewise.
76006
76007         Use cleaner syntax: NULL rather than 0.
76008         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
76009
76010 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
76011
76012         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
76013         It mishandled the case where the group was missing.
76014         Problem reported by Greg Schafer.
76015         * modules/idcache: Likewise.
76016
76017 2006-11-18  Jim Meyering  <jim@meyering.net>
76018
76019         * check-module (%exempt_header): Add exception for some
76020         conditionally-included headers.
76021
76022         * modules/i-ring (Depends-on): Add verify.
76023         (License): Change to LGPL.
76024
76025 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
76026
76027         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
76028         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
76029         and inttostr.h.  Use snprintf rather than uinttostr, so that
76030         LGPLed code doesn't depend on GPLed.
76031
76032 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
76033
76034         * modules/inline (License): Change from GPL to LGPL.
76035
76036 2006-11-17  Jim Meyering  <jim@meyering.net>
76037
76038         * modules/d-type (License): Switch to LGPL.
76039
76040 2006-11-15  Bruno Haible  <bruno@clisp.org>
76041
76042         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
76043
76044 2006-11-15  Eric Blake  <ebb9@byu.net>
76045
76046         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
76047         the module dependency.
76048
76049 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76050             Bruno Haible  <bruno@clisp.org>
76051
76052         * gnulib-tool (func_create_testdir): Add license consistency check.
76053
76054 2006-11-15  Eric Blake  <ebb9@byu.net>
76055
76056         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
76057         random "(cached)" in configure output.
76058
76059 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76060
76061         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
76062         test for conforming inttypes.h is both announced and cached.
76063
76064         * MODULES.html.sh (seen_modules, seen_files): New variables.
76065         (func_module): Rewrite to use a few less gnulib-tool and sed
76066         invocations.  Avoid a couple of quadratic algorithms for ...
76067         (missed_modules, missed_files): ... these, with ...
76068         (func_append, func_tmpdir): ... these new functions, from
76069         gnulib-tool.  Analogously, install traps for cleanup.
76070
76071         * tests/test-gc.c (main): Remove unused variables.
76072         * tests/test-read-file.c: Include stdlib.h, for 'free'.
76073
76074 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
76075
76076         * modules/inttostr (License): Change to LGPL.
76077
76078 2006-11-14  Eric Blake  <ebb9@byu.net>
76079
76080         * modules/tempname (License): Change to LGPL.
76081
76082 2006-11-14  Eric Blake  <ebb9@byu.net>
76083
76084         * doc/functions.texi (Function Portability): *printf functions on
76085         Cygwin now understand all POSIX size specifiers.
76086
76087 2006-11-14  Bruno Haible  <bruno@clisp.org>
76088
76089         * modules/c-ctype (License): Change to LGPL.
76090
76091 2006-11-12  Bruno Haible  <bruno@clisp.org>
76092
76093         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
76094         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
76095         for GNOME libraries, for which the include files are installed in
76096         subdirectories of $prefix/include.
76097
76098 2006-11-12  Bruno Haible  <bruno@clisp.org>
76099
76100         * m4/lib-link.m4: Require at least autoconf-2.54.
76101         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
76102         name to underscores for the --with option.
76103
76104 2006-11-13  Bruno Haible  <bruno@clisp.org>
76105
76106         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
76107         the tests directory.
76108         Reported by Ralf Wildenhues.
76109
76110 2006-11-13  Bruno Haible  <bruno@clisp.org>
76111
76112         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
76113         (func_emit_initmacro_end): Undo the override here.
76114         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
76115         Works around the famous automake error in coreutils.
76116
76117 2006-11-13  Eric Blake  <ebb9@byu.net>
76118
76119         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
76120         element, not its node.
76121
76122 2006-11-12  Bruno Haible  <bruno@clisp.org>
76123
76124         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
76125         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
76126
76127 2006-11-12  Bruno Haible  <bruno@clisp.org>
76128
76129         * gnulib-tool: New option --local-symlink.
76130         (func_usage): Document it.
76131         (lsymbolic): New variable.
76132         (func_import, func_create_testdir): If --symlink was not specified,
76133         test whether --local-symlink was specified and the file comes from
76134         the local_gnulib_dir.
76135
76136 2006-11-12  Bruno Haible  <bruno@clisp.org>
76137
76138         * gnulib-tool (func_ln): New function.
76139         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
76140
76141 2006-11-12  Bruno Haible  <bruno@clisp.org>
76142
76143         Finish support for source files in subdirectories.
76144         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
76145         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
76146         AUTOMAKE_OPTIONS.
76147         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
76148
76149 2006-11-12  Bruno Haible  <bruno@clisp.org>
76150
76151         * gnulib-tool (func_get_automake_snippet): Synthesize also an
76152         EXTRA_lib_SOURCES augmentation.
76153         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
76154
76155 2006-11-12  Jim Meyering  <jim@meyering.net>
76156
76157         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
76158         file descriptors.  This also averts a failure on systems with
76159         native openat support when a traversed directory lacks "x" access.
76160         * lib/fts_.h: Include "i-ring.h"
76161         (struct FTS) [fts_fd_ring]: New member.
76162         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
76163         (FCHDIR): Add parentheses.
76164         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
76165         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
76166         When descending, rather than simply closing the previous
76167         fts_cwd_fd value, push that file descriptor onto the ring.
76168         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
76169         (fts_open): Initialize the new fd_ring member.
76170         (fts_close): Clear the ring.
76171         (fts_safe_changedir): When possible, use our new fd_ring to skip
76172         the diropen and fstat and dev/ino comparison that would normally
76173         accompany a virtual `chdir ("..")'.
76174
76175         * modules/fts (Depends-on): Add i-ring.
76176         * modules/i-ring: New module.
76177         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
76178         * m4/i-ring.m4: New file.
76179
76180 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76181
76182         * gnulib-tool (func_create_testdir): Fix replacement of
76183         `build-aux' in configure.ac.  Run autotools in gltests
76184         subdirectory.
76185         (func_create_testdir, func_create_megatestdir, test): There is
76186         no need for '--force' in most autotool invocations in a new
76187         tree.  Actually fail the whole test if any of the tools, or the
76188         configure or make stages fail.
76189
76190         Sync from Automake.
76191         * build-aux/gnupload: Revert last change.  Add pointer to upload
76192         instructions of the GNU Maintenance Instructions.
76193         Suggestion by Karl Berry.
76194
76195 2006-11-10  Jim Meyering  <jim@meyering.net>
76196
76197         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
76198
76199 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76200
76201         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
76202         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
76203         (bind_textdomain_codeset) [! ENABLE_NLS]:
76204         Evaluate all the arguments.  That way, callers get compatible behavior
76205         if the arguments have side effects.  Also, it avoids some GCC
76206         diagnostics in some cases; Joel E. Denny reported problems when Bison
76207         was configured with --enable-gcc-warnigs.
76208
76209 2006-11-10  Jim Meyering  <jim@meyering.net>
76210
76211         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
76212         relevant options in CFLAGS (like -O, -fno-inline) are taken into
76213         account.
76214
76215 2006-11-10  Jim Meyering  <jim@meyering.net>
76216
76217         * modules/inline: New file/module.
76218         * modules/xalloc (Files): Remove m4/inline.m4.
76219         (Depends-on): Add inline, instead.
76220         * modules/oset: Likewise.
76221         * modules/list: Likewise.
76222
76223 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76224
76225         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
76226         Problem reported by Matthew Woehlke.
76227
76228 2006-11-09  Bruno Haible  <bruno@clisp.org>
76229
76230         * lib/tempname.c (gen_tempname): Remove variant that invokes
76231         __gen_tempname.
76232         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
76233         __gen_tempname.
76234
76235 2006-11-08  Bruno Haible  <bruno@clisp.org>
76236
76237         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
76238         to 'yes' instead of 'cross-compiling'.
76239
76240 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
76241
76242         * lib/quotearg.h (quotearg_free): New decl.
76243         * lib/quotearg.c (quotearg_free): New function.
76244         (slot0, nslots, slotvec0, slotvec):
76245         Now file-scope so that quotearg_free can get at them.
76246
76247 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76248
76249         Sync from Automake.
76250         * build-aux/gnupload: Add missing 'gnu' to example URL.
76251         Report by Karl Berry.
76252
76253 2006-11-08  Bruno Haible  <bruno@clisp.org>
76254
76255         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
76256         Suggested by Paul Eggert.
76257
76258 2006-11-08  Jim Meyering  <jim@meyering.net>
76259
76260         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
76261         It's already included if !_LIBC.
76262         (fts_safe_changedir): Add a comment.
76263
76264 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
76265
76266         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
76267         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
76268         Matthew Woehlke.
76269
76270         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
76271         definitions up, to avoid colliding with change below.
76272         (static_inline) [HAVE_INLINE]: New macro.
76273         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
76274         Provide extern decls when !HAVE_INLINE.  Do not define unless
76275         static_inline is defined, either by us or by xmalloc.c.  Use
76276         static_inline rather than static inline.
76277         (XCALLOC): Optimize sizeof(T) = 1 case.
76278         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
76279
76280 2006-11-07  Bruno Haible  <bruno@clisp.org>
76281
76282         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
76283         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
76284         AC_C_INLINE.
76285         * modules/xalloc (Files): Add m4/inline.m4.
76286
76287 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76288
76289         * README: Fix typo.
76290         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
76291         (Miscellanous Notes): ...from this.
76292
76293 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
76294
76295         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
76296         Mention that offsetof should be used instead of sizeof.
76297         From Bruno Haible.
76298
76299 2006-11-07  Bruno Haible  <bruno@clisp.org>
76300
76301         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
76302
76303 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76304
76305         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76306         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
76307         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76308         (gl_tree_add_before, gl_tree_add_after):
76309         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
76310         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
76311         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
76312         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
76313         (gl_linked_add_after, gl_linked_add_at): Likewise.
76314         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
76315         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76316         (gl_tree_add_before, gl_tree_add_after): Likewise.
76317         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
76318         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
76319         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
76320
76321 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76322
76323         * lib/gl_oset.h: Use C comment style, not C++ comment style.
76324
76325 2006-11-06  Bruno Haible  <bruno@clisp.org>
76326
76327         * m4/inline.m4: New file.
76328         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
76329         * modules/list (Files): Add m4/inline.m4.
76330         * modules/oset (Files): Likewise.
76331
76332 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76333
76334         * lib/idcache.c: Include <stddef.h>, for offsetof.
76335         (struct userid.name): Change from char * to a flexible array member.
76336         All uses changed.
76337         * modules/idcache (Depends-on): Add flexmember.
76338
76339         * MODULES.html.sh (Core language properties): New module flexmember.
76340         * modules/flexmember, m4/flexmember.m4: New files.
76341
76342         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
76343         inline functions that are identical with the old xnmalloc_inline,
76344         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
76345         that we can avoid some unnecessary integer multiplications and
76346         divisions in the common case where the element size is known at
76347         compile time.
76348         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
76349         needed.
76350         (xnboundedmalloc): Remove.
76351         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
76352         arguments, for consistency with rest of this header.
76353         (xcharalloc): Rewrite using XNMALLOC.
76354         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
76355         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
76356         versions have been moved to lib/xalloc.h and renamed to be the
76357         non-*_inline versions.
76358         (xmalloc, xrealloc): Implement without reference to the xnmalloc
76359         and xnrealloc functions, since those functions are now inline and
76360         now call us.
76361         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
76362         renaming described above.
76363         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
76364         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
76365         captures the dependency in AC_C_INLINE.
76366
76367         New module canonicalize-lgpl, proposed by Charles Wilson in
76368         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
76369         with a few small changes afterwards.
76370         * MODULES.html.sh (File system functions): New module
76371         canonicalize-lgpl.
76372         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
76373         and canonicalize_file_name.
76374         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
76375         * modules/canonicalize-lgpl: New files.
76376
76377 2006-11-05  Bruno Haible  <bruno@clisp.org>
76378
76379         * gnulib-tool (func_import, func_create_testdir): Create directories
76380         also for files in subdirectories of lib/.
76381
76382 2006-11-05  Bruno Haible  <bruno@clisp.org>
76383
76384         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
76385         ANSI C compliant.
76386
76387 2006-11-03  Bruno Haible  <bruno@clisp.org>
76388
76389         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76390         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
76391         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
76392         (xnboundedmalloc): New inline function.
76393         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
76394         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
76395         xmalloc.
76396         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
76397         xmalloc.
76398         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
76399         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
76400         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
76401         xmalloc.
76402         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76403         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
76404         xmalloc.
76405         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
76406         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76407         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
76408         xmalloc.
76409         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76410         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
76411         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76412         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
76413         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
76414         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
76415         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
76416
76417 2006-11-03  Bruno Haible  <bruno@clisp.org>
76418
76419         * lib/c-ctype.h [C++]: Define functions without name mangling.
76420         * lib/fwriteerror.h [C++]: Likewise.
76421         * lib/gcd.h [C++]: Likewise.
76422         * lib/linebreak.h [C++]: Likewise.
76423
76424 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
76425
76426         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
76427         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
76428         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
76429         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
76430         Check for functions and headers just once.
76431         Check for declaration of canonicalize_file_name.
76432         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
76433
76434 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76435
76436         * gnulib-tool (func_import): Fix typo in actioncmd.
76437
76438 2006-11-02  Bruno Haible  <bruno@clisp.org>
76439
76440         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
76441         newline sequence in the Makefile.am snippet as a space, like "make"
76442         does.
76443         Reported by Roger Persson <perrog@gmail.com>.
76444
76445 2006-11-01  Bruno Haible  <bruno@clisp.org>
76446
76447         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
76448         already declared in <string.h>.
76449         * lib/strcase.h (strncasecmp): Don't declare it if yes.
76450
76451 2006-11-01  Bruno Haible  <bruno@clisp.org>
76452
76453         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
76454         * lib/strcase.h: Include <string.h>.
76455         (strcasecmp): Define to rpl_strcasecmp here.
76456
76457 2006-11-01  Bruno Haible  <bruno@clisp.org>
76458
76459         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
76460
76461 2006-11-01  Eric Blake  <ebb9@byu.net>
76462
76463         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
76464
76465         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
76466
76467 2006-10-29  Bruno Haible  <bruno@clisp.org>
76468
76469         Make it compile in C++ mode.
76470         * lib/full-write.c (full_rw): Add a cast.
76471
76472 2006-11-01  Bruno Haible  <bruno@clisp.org>
76473
76474         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
76475         be POSIX compliant.
76476         Reported by Roger Persson <perrog@gmail.com>.
76477
76478 2006-11-01  Eric Blake  <ebb9@byu.net>
76479
76480         * lib/getopt_.h: Fix comments.
76481
76482 2006-10-31  Eric Blake  <ebb9@byu.net>
76483
76484         * modules/tmpdir (Depends-on): Add sys_stat.
76485         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
76486         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
76487         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
76488         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
76489         tempname.
76490
76491 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
76492
76493         Avoid some C++ diagnostics reported by Bruno Haible.
76494         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
76495         xmalloc.
76496         (quotearg_alloc): Use xcharalloc rather than xmalloc.
76497         (struct slotvec): Move to top level.
76498         (quotearg_n_options): Rewrite to avoid xmalloc.
76499         * lib/xalloc.h (xcharalloc): New function.
76500         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
76501         [defined __cplusplus]: Add function template that provides result
76502         type propagation.  This part of the change is from Bruno Haible.
76503
76504 2006-10-29  Bruno Haible  <bruno@clisp.org>
76505
76506         Make it compile in C++ mode.
76507         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
76508         * lib/strnlen1.c (strnlen1): Cast memchr result.
76509         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
76510         * lib/clean-temp.c (string_equals, string_hash): Add casts.
76511         (create_temp_dir): Rename local variable 'template'.
76512         (compile_csharp_using_sscli): Add cast.
76513         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
76514         * lib/findprog.c (find_in_path): Likewise.
76515         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
76516         * lib/wait-process.c (register_slave_subprocess): Likewise.
76517
76518 2006-10-22  Bruno Haible  <bruno@clisp.org>
76519
76520         * modules/tsearch: New file.
76521         * lib/tsearch.h: New file.
76522         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
76523         * m4/tsearch.m4: New file.
76524         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
76525
76526 2006-10-29  Eric Blake  <ebb9@byu.net>
76527
76528         * lib/arcfour.c: Assume config.h.
76529         * lib/arctwo.c: Likewise.
76530         * lib/base64.c: Likewise.
76531         * lib/check-version.c: Likewise.
76532         * lib/crc.c: Likewise.
76533         * lib/des.c: Likewise.
76534         * lib/gc-gnulib.c: Likewise.
76535         * lib/gc-libgcrypt.c: Likewise.
76536         * lib/gc-pbkdf2-sha1.c: Likewise.
76537         * lib/getaddrinfo.c: Likewise.
76538         * lib/getdelim.c: Likewise.
76539         * lib/getline.c: Likewise.
76540         * lib/hmac-md5.c: Likewise.
76541         * lib/hmac-sha1.c: Likewise.
76542         * lib/iconvme.c: Likewise.
76543         * lib/md2.c: Likewise.
76544         * lib/md4.c: Likewise.
76545         * lib/memxor.c: Likewise.
76546         * lib/read-file.c: Likewise.
76547         * lib/readline.c: Likewise.
76548         * lib/rijndael-alg-fst.c: Likewise.
76549         * lib/rijndael-api-fst.c: Likewise.
76550         * lib/xgetdomainname.c: Likewise.
76551
76552 2006-10-28  Eric Blake  <ebb9@byu.net>
76553
76554         * lib/xstrndup.c: Assume config.h.
76555
76556 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
76557
76558         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
76559         stat-macros.h is now for our own macros, whereas stat_h is for
76560         macros in the <sys/stat.h> name space.
76561         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
76562         (STAT_MACROS_H): Remove.
76563         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
76564         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
76565         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
76566         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
76567         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
76568         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
76569         Move these macros to ...
76570         * lib/stat_.h: here.  Don't include stat-macros.h.
76571         * lib/canonicalize.c: Don't include stat-macros.h.
76572         * lib/chown.c: Likewise.
76573         * lib/euidaccess.c: Likewise.
76574         * lib/file-type.c: Likewise.
76575         * lib/filemode.c: Likewise.
76576         * lib/glob.c: Likewise.
76577         * lib/isapipe.c: Likewise.
76578         * lib/lchown.c: Likewise.
76579         * lib/lstat.c: Likewise.
76580         * lib/mkdir-p.c: Likewise.
76581         * lib/rmdir.c: Likewise.
76582         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
76583         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
76584         unless mkdir isn't declared, to speed up 'configure'.
76585         Always create sys/stat.h, since it's unlikely any real sys/stat.h
76586         would define all the S_* symbols.
76587         * modules/canonicalize (Depends-on):
76588         Depend on sys_stat, not stat-macros.
76589         * modules/chown: Likewise.
76590         * modules/euidaccess: Likewise.
76591         * modules/filemode: Likewise.
76592         * modules/file-type: Likewise.
76593         * modules/glob: Likewise.
76594         * modules/isapipe: Likewise.
76595         * modules/lchown: Likewise.
76596         * modules/lstat: Likewise.
76597         * modules/mkancesdirs: Likewise.
76598         * modules/rmdir: Likewise.
76599         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
76600         * modules/modechange: Likewise.
76601         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
76602         (configure.ac): Remove gl_STAT_MACROS.
76603         * modules/sys_stat (Depends-on): Remove stat-macros.
76604
76605 2006-10-27  Bruno Haible  <bruno@clisp.org>
76606
76607         * m4/signed.m4: Remove file.
76608         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
76609         invocation.
76610         * modules/vasnprintf (Files): Remove m4/signed.m4.
76611
76612 2006-10-27  Bruno Haible  <bruno@clisp.org>
76613
76614         Update to GNU gettext 0.16.
76615         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
76616         m4/inttypes-h.m4, m4/signed.m4.
76617         * m4/gettext.m4: Update to GNU gettext 0.16.
76618         * m4/intl.m4: New file, from GNU gettext.
76619         * m4/intldir.m4: New file, from GNU gettext.
76620         * config/srclist.txt: Update
76621
76622 2006-10-27  Eric Blake  <ebb9@byu.net>
76623
76624         * MODULES.html.sh: Document tempname.
76625         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
76626         dependencies.
76627         (Files): Move lib/tempname.c...
76628         * modules/tempname: ...to this new module.
76629         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
76630         (gl_PREREQ_TEMPNAME): Move...
76631         * m4/tempname.m4: ...to this new file.
76632         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
76633         * modules/sys_stat (Depends-on): Add stat-macros.
76634         * lib/stat_.h (includes): Pick up stat macros.
76635         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
76636         if stat macros are broken.
76637         * lib/tempname.c (includes): No need to include "stat-macros.h".
76638         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
76639         (direxists, __path_search) [!_LIBC]: Don't compile these in
76640         gnulib; the tmpdir module covers that.
76641         * lib/tempname.h: New file.
76642
76643 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
76644
76645         * COPYING: Explain how gnulib-tool converts licence headers.
76646         Almost all wording by Eric Blake.
76647
76648 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
76649
76650         * lib/mbchar.h (is_basic_table): Make read-only.
76651         * lib/mbchar.c (is_basic_table): Likewise.
76652         Reported by John Darrington.
76653
76654 2006-10-25  Bruno Haible  <bruno@clisp.org>
76655
76656         * lib/progname.h (set_program_name): Undefine before defining.
76657
76658 2006-10-25  Bruno Haible  <bruno@clisp.org>
76659
76660         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
76661         false for non-gcc C++ compilers.
76662         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
76663
76664 2006-10-24  Bruno Haible  <bruno@clisp.org>
76665
76666         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
76667         iconv implementations like Irix iconv.
76668
76669 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76670
76671         * modules/vararrays: New file.
76672         * m4/vararrays.m4: New file, taken from diffutils.
76673         * MODULES.html.sh: New module vararrays.
76674
76675 2006-10-24  Karl Berry  <karl@gnu.org>
76676
76677         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
76678         Don't call GNU Unix.
76679
76680 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76681
76682         * users.txt: Add Libtool.
76683
76684         Sync from Libtool:
76685
76686         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76687
76688         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
76689         to gnulib's policy of including config.h unconditionally.
76690
76691 2006-10-24  Bruno Haible  <bruno@clisp.org>
76692
76693         * modules/wcwidth (Files): Add m4/wint_t.m4.
76694         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
76695         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
76696
76697 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76698
76699         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
76700         to pacify GCC with some -W flags enabled.  Problem reported by
76701         Bruno Haible.
76702
76703 2006-10-24  Jim Meyering  <jim@meyering.net>
76704
76705         * MODULES.html.sh: Remove uinttostr.  It's not a module.
76706         Reported by Karl Berry.
76707
76708 2006-10-23  Bruno Haible  <bruno@clisp.org>
76709
76710         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
76711
76712 2006-10-24  Bruno Haible  <bruno@clisp.org>
76713
76714         * lib/gl_list.h: Use C comment style, not C++ comment style.
76715
76716 2006-10-23  Eric Blake  <ebb9@byu.net>
76717
76718         * lib/getaddrinfo.c (includes): Add missing include.
76719
76720 2006-10-23  Bruno Haible  <bruno@clisp.org>
76721             Paul Eggert  <eggert@cs.ucla.edu>
76722
76723         Ability to rename obstack_free.
76724         * lib/obstack.h (__obstack_free): New macro. Declare instead of
76725         obstack_free.
76726         (obstack_free): Invoke the __obstack_free macro.
76727         * lib/obstack.c (obstack_free): Use __obstack_free macro.
76728
76729 2006-10-23  Bruno Haible  <bruno@clisp.org>
76730             Paul Eggert  <eggert@cs.ucla.edu>
76731
76732         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
76733         __argc, __argv from the declaration. (They are defined as macros on
76734         mingw.)
76735
76736 2006-10-22  Bruno Haible  <bruno@clisp.org>
76737
76738         * doc/gnulib-intro.texi: New file.
76739         * doc/gnulib.texi: Include it.
76740
76741 2006-10-21  Bruno Haible  <bruno@clisp.org>
76742
76743         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
76744         "Introduction", "Miscellanous Notes", "Particular Modules".
76745
76746 2006-10-21  Bruno Haible  <bruno@clisp.org>
76747
76748         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76749         Change mostlyclean-local rule to avoid sh syntax error from bash
76750         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
76751
76752 2006-10-23  Jim Meyering  <jim@meyering.net>
76753
76754         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
76755         in place of snprintf.
76756
76757         * modules/inttostr (Files): Add lib/uinttostr.c.
76758         * lib/uinttostr.c (inttostr): New file/function.
76759         * lib/inttostr.h (uinttostr): Declare.
76760         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
76761         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76762         Add uinttostr.
76763         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
76764
76765 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76766
76767         * lib/canonicalize.c (ELOOP): Define if not already defined.
76768         Problem reported by Bruno Haible in
76769         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
76770
76771 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76772
76773         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
76774         Problem reported by Perry Smith and Ville Laurikari.
76775
76776         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
76777         uses.
76778
76779 2006-10-19  Bruno Haible  <bruno@clisp.org>
76780
76781         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
76782         for mingw.
76783
76784 2006-10-19  Bruno Haible  <bruno@clisp.org>
76785
76786         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
76787         Needed for mingw.
76788
76789 2006-10-19  Bruno Haible  <bruno@clisp.org>
76790
76791         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
76792
76793 2006-10-19  Bruno Haible  <bruno@clisp.org>
76794
76795         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
76796         it.
76797
76798 2006-10-19  Bruno Haible  <bruno@clisp.org>
76799
76800         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
76801         invocation.
76802
76803 2006-10-19  Bruno Haible  <bruno@clisp.org>
76804
76805         * gnulib-tool (func_create_testdir): Don't include ftruncate and
76806         mountlist by default.
76807
76808 2006-10-16  Bruno Haible  <bruno@clisp.org>
76809
76810         * lib/c-strstr.c: Include c-strstr.h.
76811
76812 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76813
76814         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
76815         in a slash.
76816
76817 2006-10-18  Bruno Haible  <bruno@clisp.org>
76818
76819         * lib/lock.h [C++]: Wrap definitions in extern "C".
76820
76821 2006-10-18  Bruno Haible  <bruno@clisp.org>
76822
76823         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
76824         gl_LIBOBJS list.
76825
76826 2006-10-18  Bruno Haible  <bruno@clisp.org>
76827
76828         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
76829
76830 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
76831
76832         * lib/xstrtol.h: Include gettext.h.
76833         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
76834         Problem reported by Eric Blake.
76835         * modules/xstrtol (Depends-on): Add gettext-h.
76836
76837 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
76838
76839         * lib/strftime.c (advance): New macro.
76840         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
76841         incomplete type, so you can't add 0 to it.  Problem and patch
76842         reported by Eelco Dolstra for dietlibc.
76843
76844 2006-10-18  Jim Meyering  <jim@meyering.net>
76845
76846         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
76847         type for a local, and rename it: s/up/user_proc/.
76848
76849 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
76850
76851         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
76852         READ_UTMP_USER_PROCESS.
76853         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
76854
76855 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
76856
76857         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
76858         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
76859
76860 2006-10-17  Eric Blake  <ebb9@byu.net>
76861
76862         * lib/sigprocmask.c (sigprocmask): Fix typo.
76863
76864         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
76865
76866         * modules/clean-temp (Makefile.am): Don't add to make output...
76867         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
76868         config.h.
76869
76870 2006-10-17  Bruno Haible  <bruno@clisp.org>
76871
76872         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
76873         differently if DEFAULT_TEXT_DOMAIN is set.
76874
76875 2006-10-16  Bruno Haible  <bruno@clisp.org>
76876
76877         * lib/clean-temp.c: Include fwriteerror.h.
76878
76879 2006-10-16  Bruno Haible  <bruno@clisp.org>
76880
76881         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
76882
76883 2006-10-16  Bruno Haible  <bruno@clisp.org>
76884
76885         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
76886         * lib/sigprocmask.h: Include <sys/types.h>.
76887         (sigset_t): Use the system's definition if present.
76888
76889 2006-10-17  Eric Blake  <ebb9@byu.net>
76890
76891         * lib/xvasprintf.c (includes): Assume config.h.
76892         * lib/xasprintf.c (includes): Likewise.
76893
76894 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
76895
76896         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
76897         at least as wide as intmax_t.
76898
76899 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
76900
76901         (Imported from Automake.)
76902         * build-aux/gnupload: Update to version 1.1 of directive file.
76903
76904 2006-10-16  Eric Blake  <ebb9@byu.net>
76905
76906         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
76907         match Automake 1.10a.
76908
76909 2006-10-14  Bruno Haible  <bruno@clisp.org>
76910
76911         * modules/sigprocmask: New file.
76912         * lib/sigprocmask.h: New file.
76913         * lib/sigprocmask.c: New file.
76914         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
76915         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
76916         request sigprocmask.o.
76917         (gl_PREREQ_SIGPROCMASK): New macro.
76918         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
76919         (Depends-on): Add sigprocmask.
76920         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
76921         gt_SIGNALBLOCKING. Test for 'raise' only once.
76922         * lib/fatal-signal.c: Include sigprocmask.h.
76923         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
76924         unblock_fatal_signals): Define always.
76925         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76926         sigprocmask.
76927
76928 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76929
76930         Sync from Automake.
76931         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
76932         which incorrectly sets the mode of an existing destination
76933         directory.  In some cases the unpatched install-sh could do the
76934         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
76935         system.  We hope this is rare in practice, but it's clearly worth
76936         fixing.  Problem reported by Alex Unleashed in
76937         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
76938         Also, don't bother to check for -m bugs unless we're using -m;
76939         suggested by Stepan Kasal.
76940
76941 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76942
76943         Sync from Automake.
76944         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
76945         `-c' flag, so they appear at the same position as in %FASTDEP%
76946         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
76947         which ignores unknown options only after the first non-option.
76948         Bug report against M4 by Nelson H. F. Beebe.
76949
76950 2006-10-13  Jim Meyering  <jim@meyering.net>
76951
76952         Fix a bug in yesterday's change.
76953         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
76954         p->fts_statp->st_dev would be used uninitialized.
76955         Ensures that we always call fts_stat on the very first entry.
76956         Miklos Szeredi reported that find -xdev stopped working.
76957
76958 2006-10-12  Bruno Haible  <bruno@clisp.org>
76959
76960         * gnulib-tool (func_get_automake_snippet): Append an automatically
76961         computed EXTRA_DIST augmentation.
76962         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
76963         * modules/alloca-opt (Makefile.am): Likewise.
76964         * modules/allocsa (Makefile.am): Likewise.
76965         * modules/arcfour (Makefile.am): Likewise.
76966         * modules/arctwo (Makefile.am): Likewise.
76967         * modules/argmatch (Makefile.am): Likewise.
76968         * modules/argz (Makefile.am): Likewise.
76969         * modules/atexit (Makefile.am): Likewise.
76970         * modules/backupfile (Makefile.am): Likewise.
76971         * modules/byteswap (Makefile.am): Likewise.
76972         * modules/c-strtod (Makefile.am): Likewise.
76973         * modules/c-strtold (Makefile.am): Likewise.
76974         * modules/calloc (Makefile.am): Likewise.
76975         * modules/canon-host (Makefile.am): Likewise.
76976         * modules/canonicalize (Makefile.am): Likewise.
76977         * modules/chdir-long (Makefile.am): Likewise.
76978         * modules/chdir-safer (Makefile.am): Likewise.
76979         * modules/check-version (Makefile.am): Likewise.
76980         * modules/chown (Makefile.am): Likewise.
76981         * modules/cloexec (Makefile.am): Likewise.
76982         * modules/close-stream (Makefile.am): Likewise.
76983         * modules/closeout (Makefile.am): Likewise.
76984         * modules/crc (Makefile.am): Likewise.
76985         * modules/csharpexec (Makefile.am): Likewise.
76986         * modules/cycle-check (Makefile.am): Likewise.
76987         * modules/des (Makefile.am): Likewise.
76988         * modules/dev-ino (Makefile.am): Likewise.
76989         * modules/dirfd (Makefile.am): Likewise.
76990         * modules/dirname (Makefile.am): Likewise.
76991         * modules/dup2 (Makefile.am): Likewise.
76992         * modules/eealloc (Makefile.am): Likewise.
76993         * modules/error (Makefile.am): Likewise.
76994         * modules/euidaccess (Makefile.am): Likewise.
76995         * modules/exclude (Makefile.am): Likewise.
76996         * modules/exitfail (Makefile.am): Likewise.
76997         * modules/fcntl-safer (Makefile.am): Likewise.
76998         * modules/fcntl (Makefile.am): Likewise.
76999         * modules/file-type (Makefile.am): Likewise.
77000         * modules/fileblocks (Makefile.am): Likewise.
77001         * modules/filemode (Makefile.am): Likewise.
77002         * modules/filenamecat (Makefile.am): Likewise.
77003         * modules/fnmatch (Makefile.am): Likewise.
77004         * modules/fopen-safer (Makefile.am): Likewise.
77005         * modules/fpending (Makefile.am): Likewise.
77006         * modules/fprintftime (Makefile.am): Likewise.
77007         * modules/free (Makefile.am): Likewise.
77008         * modules/fsusage (Makefile.am): Likewise.
77009         * modules/ftruncate (Makefile.am): Likewise.
77010         * modules/fts (Makefile.am): Likewise.
77011         * modules/gc-arcfour (Makefile.am): Likewise.
77012         * modules/gc-des (Makefile.am): Likewise.
77013         * modules/gc-hmac-md5 (Makefile.am): Likewise.
77014         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
77015         * modules/gc-md4 (Makefile.am): Likewise.
77016         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
77017         * modules/gc-sha1 (Makefile.am): Likewise.
77018         * modules/gc (Makefile.am): Likewise.
77019         * modules/getaddrinfo (Makefile.am): Likewise.
77020         * modules/getcwd (Makefile.am): Likewise.
77021         * modules/getdelim (Makefile.am): Likewise.
77022         * modules/getdomainname (Makefile.am): Likewise.
77023         * modules/getgroups (Makefile.am): Likewise.
77024         * modules/gethostname (Makefile.am): Likewise.
77025         * modules/gethrxtime (Makefile.am): Likewise.
77026         * modules/getline (Makefile.am): Likewise.
77027         * modules/getloadavg (Makefile.am): Likewise.
77028         * modules/getlogin_r (Makefile.am): Likewise.
77029         * modules/getndelim2 (Makefile.am): Likewise.
77030         * modules/getopt (Makefile.am): Likewise.
77031         * modules/getpagesize (Makefile.am): Likewise.
77032         * modules/getpass-gnu (Makefile.am): Likewise.
77033         * modules/getpass (Makefile.am): Likewise.
77034         * modules/getsubopt (Makefile.am): Likewise.
77035         * modules/gettime (Makefile.am): Likewise.
77036         * modules/gettimeofday (Makefile.am): Likewise.
77037         * modules/getugroups (Makefile.am): Likewise.
77038         * modules/getusershell (Makefile.am): Likewise.
77039         * modules/glob (Makefile.am): Likewise.
77040         * modules/group-member (Makefile.am): Likewise.
77041         * modules/hard-locale (Makefile.am): Likewise.
77042         * modules/hash (Makefile.am): Likewise.
77043         * modules/hmac-md5 (Makefile.am): Likewise.
77044         * modules/hmac-sha1 (Makefile.am): Likewise.
77045         * modules/human (Makefile.am): Likewise.
77046         * modules/idcache (Makefile.am): Likewise.
77047         * modules/imaxabs (Makefile.am): Likewise.
77048         * modules/imaxdiv (Makefile.am): Likewise.
77049         * modules/inet_ntop (Makefile.am): Likewise.
77050         * modules/inet_pton (Makefile.am): Likewise.
77051         * modules/intprops (Makefile.am): Likewise.
77052         * modules/inttostr (Makefile.am): Likewise.
77053         * modules/inttypes (Makefile.am): Likewise.
77054         * modules/isapipe (Makefile.am): Likewise.
77055         * modules/javaversion (Makefile.am): Likewise.
77056         * modules/lchmod (Makefile.am): Likewise.
77057         * modules/lchown (Makefile.am): Likewise.
77058         * modules/localcharset (Makefile.am): Likewise.
77059         * modules/long-options (Makefile.am): Likewise.
77060         * modules/lstat (Makefile.am): Likewise.
77061         * modules/malloc (Makefile.am): Likewise.
77062         * modules/mathl (Makefile.am): Likewise.
77063         * modules/mbchar (Makefile.am): Likewise.
77064         * modules/md2 (Makefile.am): Likewise.
77065         * modules/md4 (Makefile.am): Likewise.
77066         * modules/md5 (Makefile.am): Likewise.
77067         * modules/memcasecmp (Makefile.am): Likewise.
77068         * modules/memchr (Makefile.am): Likewise.
77069         * modules/memcmp (Makefile.am): Likewise.
77070         * modules/memcoll (Makefile.am): Likewise.
77071         * modules/memcpy (Makefile.am): Likewise.
77072         * modules/memmem (Makefile.am): Likewise.
77073         * modules/memmove (Makefile.am): Likewise.
77074         * modules/mempcpy (Makefile.am): Likewise.
77075         * modules/memrchr (Makefile.am): Likewise.
77076         * modules/memset (Makefile.am): Likewise.
77077         * modules/memxor (Makefile.am): Likewise.
77078         * modules/mkancesdirs (Makefile.am): Likewise.
77079         * modules/mkdir-p (Makefile.am): Likewise.
77080         * modules/mkdir (Makefile.am): Likewise.
77081         * modules/mkdtemp (Makefile.am): Likewise.
77082         * modules/mkstemp (Makefile.am): Likewise.
77083         * modules/mktime (Makefile.am): Likewise.
77084         * modules/modechange (Makefile.am): Likewise.
77085         * modules/mountlist (Makefile.am): Likewise.
77086         * modules/nanosleep (Makefile.am): Likewise.
77087         * modules/obstack (Makefile.am): Likewise.
77088         * modules/openat (Makefile.am): Likewise.
77089         * modules/pagealign_alloc (Makefile.am): Likewise.
77090         * modules/pathmax (Makefile.am): Likewise.
77091         * modules/physmem (Makefile.am): Likewise.
77092         * modules/poll (Makefile.am): Likewise.
77093         * modules/posixtm (Makefile.am): Likewise.
77094         * modules/posixver (Makefile.am): Likewise.
77095         * modules/putenv (Makefile.am): Likewise.
77096         * modules/quote (Makefile.am): Likewise.
77097         * modules/quotearg (Makefile.am): Likewise.
77098         * modules/raise (Makefile.am): Likewise.
77099         * modules/read-file (Makefile.am): Likewise.
77100         * modules/readline (Makefile.am): Likewise.
77101         * modules/readlink (Makefile.am): Likewise.
77102         * modules/readtokens (Makefile.am): Likewise.
77103         * modules/readutmp (Makefile.am): Likewise.
77104         * modules/realloc (Makefile.am): Likewise.
77105         * modules/regex (Makefile.am): Likewise.
77106         * modules/rename-dest-slash (Makefile.am): Likewise.
77107         * modules/rename (Makefile.am): Likewise.
77108         * modules/rijndael (Makefile.am): Likewise.
77109         * modules/rmdir (Makefile.am): Likewise.
77110         * modules/rpmatch (Makefile.am): Likewise.
77111         * modules/safe-read (Makefile.am): Likewise.
77112         * modules/safe-write (Makefile.am): Likewise.
77113         * modules/same-inode (Makefile.am): Likewise.
77114         * modules/same (Makefile.am): Likewise.
77115         * modules/save-cwd (Makefile.am): Likewise.
77116         * modules/savedir (Makefile.am): Likewise.
77117         * modules/setenv (Makefile.am): Likewise.
77118         * modules/settime (Makefile.am): Likewise.
77119         * modules/sha1 (Makefile.am): Likewise.
77120         * modules/sig2str (Makefile.am): Likewise.
77121         * modules/snprintf (Makefile.am): Likewise.
77122         * modules/stat-macros (Makefile.am): Likewise.
77123         * modules/stat-time (Makefile.am): Likewise.
77124         * modules/stdbool (Makefile.am): Likewise.
77125         * modules/stdint (Makefile.am): Likewise.
77126         * modules/stdlib-safer (Makefile.am): Likewise.
77127         * modules/stpcpy (Makefile.am): Likewise.
77128         * modules/stpncpy (Makefile.am): Likewise.
77129         * modules/strcase (Makefile.am): Likewise.
77130         * modules/strcasestr (Makefile.am): Likewise.
77131         * modules/strchrnul (Makefile.am): Likewise.
77132         * modules/strcspn (Makefile.am): Likewise.
77133         * modules/strdup (Makefile.am): Likewise.
77134         * modules/strerror (Makefile.am): Likewise.
77135         * modules/strftime (Makefile.am): Likewise.
77136         * modules/strndup (Makefile.am): Likewise.
77137         * modules/strnlen (Makefile.am): Likewise.
77138         * modules/strpbrk (Makefile.am): Likewise.
77139         * modules/strsep (Makefile.am): Likewise.
77140         * modules/strstr (Makefile.am): Likewise.
77141         * modules/strtod (Makefile.am): Likewise.
77142         * modules/strtoimax (Makefile.am): Likewise.
77143         * modules/strtok_r (Makefile.am): Likewise.
77144         * modules/strtol (Makefile.am): Likewise.
77145         * modules/strtoll (Makefile.am): Likewise.
77146         * modules/strtoul (Makefile.am): Likewise.
77147         * modules/strtoull (Makefile.am): Likewise.
77148         * modules/strtoumax (Makefile.am): Likewise.
77149         * modules/strverscmp (Makefile.am): Likewise.
77150         * modules/sys_socket (Makefile.am): Likewise.
77151         * modules/sys_stat (Makefile.am): Likewise.
77152         * modules/sysexits (Makefile.am): Likewise.
77153         * modules/time_r (Makefile.am): Likewise.
77154         * modules/timegm (Makefile.am): Likewise.
77155         * modules/timespec (Makefile.am): Likewise.
77156         * modules/tmpfile-safer (Makefile.am): Likewise.
77157         * modules/trim (Makefile.am): Likewise.
77158         * modules/unistd-safer (Makefile.am): Likewise.
77159         * modules/unlinkdir (Makefile.am): Likewise.
77160         * modules/unlocked-io (Makefile.am): Likewise.
77161         * modules/userspec (Makefile.am): Likewise.
77162         * modules/utime (Makefile.am): Likewise.
77163         * modules/utimecmp (Makefile.am): Likewise.
77164         * modules/utimens (Makefile.am): Likewise.
77165         * modules/vasnprintf (Makefile.am): Likewise.
77166         * modules/vasprintf (Makefile.am): Likewise.
77167         * modules/vsnprintf (Makefile.am): Likewise.
77168         * modules/xalloc (Makefile.am): Likewise.
77169         * modules/xgetcwd (Makefile.am): Likewise.
77170         * modules/xnanosleep (Makefile.am): Likewise.
77171         * modules/xreadlink (Makefile.am): Likewise.
77172         * modules/xstrtod (Makefile.am): Likewise.
77173         * modules/xstrtol (Makefile.am): Likewise.
77174         * modules/xstrtold (Makefile.am): Likewise.
77175         * modules/yesno (Makefile.am): Likewise.
77176         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
77177
77178 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77179
77180         * modules/error (Makefile.am): Distribute files through
77181         EXTRA_DIST, not lib_SOURCES.
77182
77183 2006-10-12  Eric Blake  <ebb9@byu.net>
77184
77185         * modules/error (Makefile.am): Distribute files in /lib.
77186         * modules/obstack (Makefile.am): Likewise.
77187
77188 2006-10-12  Bruno Haible  <bruno@clisp.org>
77189
77190         * modules/acl (Makefile.am): Distribute all files in lib/ through
77191         EXTRA_DIST.
77192         * modules/arcfour (Makefile.am): Likewise.
77193         * modules/arctwo (Makefile.am): Likewise.
77194         * modules/argmatch (Makefile.am): Likewise.
77195         * modules/argz (Makefile.am): Likewise.
77196         * modules/atexit (Makefile.am): Likewise.
77197         * modules/backupfile (Makefile.am): Likewise.
77198         * modules/c-strtod (Makefile.am): Likewise.
77199         * modules/c-strtold (Makefile.am): Likewise.
77200         * modules/calloc (Makefile.am): Likewise.
77201         * modules/canon-host (Makefile.am): Likewise.
77202         * modules/canonicalize (Makefile.am): Likewise.
77203         * modules/chdir-long (Makefile.am): Likewise.
77204         * modules/chdir-safer (Makefile.am): Likewise.
77205         * modules/check-version (Makefile.am): Likewise.
77206         * modules/chown (Makefile.am): Likewise.
77207         * modules/cloexec (Makefile.am): Likewise.
77208         * modules/close-stream (Makefile.am): Likewise.
77209         * modules/closeout (Makefile.am): Likewise.
77210         * modules/crc (Makefile.am): Likewise.
77211         * modules/cycle-check (Makefile.am): Likewise.
77212         * modules/des (Makefile.am): Likewise.
77213         * modules/dirfd (Makefile.am): Likewise.
77214         * modules/dirname (Makefile.am): Likewise.
77215         * modules/dup2 (Makefile.am): Likewise.
77216         * modules/euidaccess (Makefile.am): Likewise.
77217         * modules/exclude (Makefile.am): Likewise.
77218         * modules/exitfail (Makefile.am): Likewise.
77219         * modules/fcntl-safer (Makefile.am): Likewise.
77220         * modules/file-type (Makefile.am): Likewise.
77221         * modules/fileblocks (Makefile.am): Likewise.
77222         * modules/filemode (Makefile.am): Likewise.
77223         * modules/filenamecat (Makefile.am): Likewise.
77224         * modules/fnmatch (Makefile.am): Likewise.
77225         * modules/fopen-safer (Makefile.am): Likewise.
77226         * modules/fpending (Makefile.am): Likewise.
77227         * modules/fprintftime (Makefile.am): Likewise.
77228         * modules/free (Makefile.am): Likewise.
77229         * modules/fsusage (Makefile.am): Likewise.
77230         * modules/ftruncate (Makefile.am): Likewise.
77231         * modules/fts (Makefile.am): Likewise.
77232         * modules/gc (Makefile.am): Likewise.
77233         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
77234         * modules/getaddrinfo (Makefile.am): Likewise.
77235         * modules/getcwd (Makefile.am): Likewise.
77236         * modules/getdelim (Makefile.am): Likewise.
77237         * modules/getdomainname (Makefile.am): Likewise.
77238         * modules/getgroups (Makefile.am): Likewise.
77239         * modules/gethostname (Makefile.am): Likewise.
77240         * modules/gethrxtime (Makefile.am): Likewise.
77241         * modules/getline (Makefile.am): Likewise.
77242         * modules/getloadavg (Makefile.am): Likewise.
77243         * modules/getlogin_r (Makefile.am): Likewise.
77244         * modules/getopt (Makefile.am): Likewise.
77245         * modules/getpass (Makefile.am): Likewise.
77246         * modules/getpass-gnu (Makefile.am): Likewise.
77247         * modules/getsubopt (Makefile.am): Likewise.
77248         * modules/gettime (Makefile.am): Likewise.
77249         * modules/gettimeofday (Makefile.am): Likewise.
77250         * modules/getugroups (Makefile.am): Likewise.
77251         * modules/getusershell (Makefile.am): Likewise.
77252         * modules/glob (Makefile.am): Likewise.
77253         * modules/group-member (Makefile.am): Likewise.
77254         * modules/hard-locale (Makefile.am): Likewise.
77255         * modules/hash (Makefile.am): Likewise.
77256         * modules/hmac-md5 (Makefile.am): Likewise.
77257         * modules/hmac-sha1 (Makefile.am): Likewise.
77258         * modules/human (Makefile.am): Likewise.
77259         * modules/idcache (Makefile.am): Likewise.
77260         * modules/imaxabs (Makefile.am): Likewise.
77261         * modules/imaxdiv (Makefile.am): Likewise.
77262         * modules/inet_ntop (Makefile.am): Likewise.
77263         * modules/inet_pton (Makefile.am): Likewise.
77264         * modules/inttostr (Makefile.am): Likewise.
77265         * modules/isapipe (Makefile.am): Likewise.
77266         * modules/lchown (Makefile.am): Likewise.
77267         * modules/long-options (Makefile.am): Likewise.
77268         * modules/lstat (Makefile.am): Likewise.
77269         * modules/malloc (Makefile.am): Likewise.
77270         * modules/mathl (Makefile.am): Likewise.
77271         * modules/mbchar (Makefile.am): Likewise.
77272         * modules/md2 (Makefile.am): Likewise.
77273         * modules/md4 (Makefile.am): Likewise.
77274         * modules/md5 (Makefile.am): Likewise.
77275         * modules/memcasecmp (Makefile.am): Likewise.
77276         * modules/memchr (Makefile.am): Likewise.
77277         * modules/memcmp (Makefile.am): Likewise.
77278         * modules/memcoll (Makefile.am): Likewise.
77279         * modules/memcpy (Makefile.am): Likewise.
77280         * modules/memmem (Makefile.am): Likewise.
77281         * modules/memmove (Makefile.am): Likewise.
77282         * modules/mempcpy (Makefile.am): Likewise.
77283         * modules/memrchr (Makefile.am): Likewise.
77284         * modules/memset (Makefile.am): Likewise.
77285         * modules/memxor (Makefile.am): Likewise.
77286         * modules/mkancesdirs (Makefile.am): Likewise.
77287         * modules/mkdir (Makefile.am): Likewise.
77288         * modules/mkdir-p (Makefile.am): Likewise.
77289         * modules/mkdtemp (Makefile.am): Likewise.
77290         * modules/mkstemp (Makefile.am): Likewise.
77291         * modules/mktime (Makefile.am): Likewise.
77292         * modules/modechange (Makefile.am): Likewise.
77293         * modules/mountlist (Makefile.am): Likewise.
77294         * modules/nanosleep (Makefile.am): Likewise.
77295         * modules/openat (Makefile.am): Likewise.
77296         * modules/pagealign_alloc (Makefile.am): Likewise.
77297         * modules/physmem (Makefile.am): Likewise.
77298         * modules/poll (Makefile.am): Likewise.
77299         * modules/posixtm (Makefile.am): Likewise.
77300         * modules/posixver (Makefile.am): Likewise.
77301         * modules/putenv (Makefile.am): Likewise.
77302         * modules/quote (Makefile.am): Likewise.
77303         * modules/quotearg (Makefile.am): Likewise.
77304         * modules/raise (Makefile.am): Likewise.
77305         * modules/read-file (Makefile.am): Likewise.
77306         * modules/readline (Makefile.am): Likewise.
77307         * modules/readlink (Makefile.am): Likewise.
77308         * modules/readtokens (Makefile.am): Likewise.
77309         * modules/readutmp (Makefile.am): Likewise.
77310         * modules/realloc (Makefile.am): Likewise.
77311         * modules/regex (Makefile.am): Likewise.
77312         * modules/rename (Makefile.am): Likewise.
77313         * modules/rename-dest-slash (Makefile.am): Likewise.
77314         * modules/rijndael (Makefile.am): Likewise.
77315         * modules/rmdir (Makefile.am): Likewise.
77316         * modules/rpmatch (Makefile.am): Likewise.
77317         * modules/safe-read (Makefile.am): Likewise.
77318         * modules/safe-write (Makefile.am): Likewise.
77319         * modules/same (Makefile.am): Likewise.
77320         * modules/save-cwd (Makefile.am): Likewise.
77321         * modules/savedir (Makefile.am): Likewise.
77322         * modules/setenv (Makefile.am): Likewise.
77323         * modules/settime (Makefile.am): Likewise.
77324         * modules/sha1 (Makefile.am): Likewise.
77325         * modules/sig2str (Makefile.am): Likewise.
77326         * modules/snprintf (Makefile.am): Likewise.
77327         * modules/stdlib-safer (Makefile.am): Likewise.
77328         * modules/stpcpy (Makefile.am): Likewise.
77329         * modules/stpncpy (Makefile.am): Likewise.
77330         * modules/strcase (Makefile.am): Likewise.
77331         * modules/strcasestr (Makefile.am): Likewise.
77332         * modules/strchrnul (Makefile.am): Likewise.
77333         * modules/strcspn (Makefile.am): Likewise.
77334         * modules/strdup (Makefile.am): Likewise.
77335         * modules/strerror (Makefile.am): Likewise.
77336         * modules/strftime (Makefile.am): Likewise.
77337         * modules/strndup (Makefile.am): Likewise.
77338         * modules/strnlen (Makefile.am): Likewise.
77339         * modules/strpbrk (Makefile.am): Likewise.
77340         * modules/strsep (Makefile.am): Likewise.
77341         * modules/strstr (Makefile.am): Likewise.
77342         * modules/strtod (Makefile.am): Likewise.
77343         * modules/strtoimax (Makefile.am): Likewise.
77344         * modules/strtok_r (Makefile.am): Likewise.
77345         * modules/strtol (Makefile.am): Likewise.
77346         * modules/strtoll (Makefile.am): Likewise.
77347         * modules/strtoul (Makefile.am): Likewise.
77348         * modules/strtoull (Makefile.am): Likewise.
77349         * modules/strtoumax (Makefile.am): Likewise.
77350         * modules/strverscmp (Makefile.am): Likewise.
77351         * modules/time_r (Makefile.am): Likewise.
77352         * modules/timegm (Makefile.am): Likewise.
77353         * modules/tmpfile-safer (Makefile.am): Likewise.
77354         * modules/unistd-safer (Makefile.am): Likewise.
77355         * modules/unlinkdir (Makefile.am): Likewise.
77356         * modules/userspec (Makefile.am): Likewise.
77357         * modules/utime (Makefile.am): Likewise.
77358         * modules/utimecmp (Makefile.am): Likewise.
77359         * modules/utimens (Makefile.am): Likewise.
77360         * modules/vasnprintf (Makefile.am): Likewise.
77361         * modules/vasprintf (Makefile.am): Likewise.
77362         * modules/vsnprintf (Makefile.am): Likewise.
77363         * modules/xalloc (Makefile.am): Likewise.
77364         * modules/xgetcwd (Makefile.am): Likewise.
77365         * modules/xnanosleep (Makefile.am): Likewise.
77366         * modules/xreadlink (Makefile.am): Likewise.
77367         * modules/xstrtod (Makefile.am): Likewise.
77368         * modules/xstrtol (Makefile.am): Likewise.
77369         * modules/xstrtold (Makefile.am): Likewise.
77370         * modules/yesno (Makefile.am): Likewise.
77371
77372 2006-10-12  Jim Meyering  <jim@meyering.net>
77373
77374         * m4/getloadavg.m4: Revert the change below.
77375
77376         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
77377         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
77378         fail with a symlink, which is what coreutils' ./bootstrap now
77379         creates by default.
77380
77381 2006-10-12  Bruno Haible  <bruno@clisp.org>
77382
77383         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
77384         mingw.
77385         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
77386         MSVC and mingw explicitly.
77387
77388 2006-10-11  Simon Josefsson  <jas@extundo.com>
77389             Bruno Haible  <bruno@clisp.org>
77390
77391         Add support for multiple gnulib-tool invocations in the scope of a
77392         single configure.ac file.
77393         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
77394         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
77395         with the same contents as the _LIBADD variable.
77396         (func_emit_initmacro_start, func_emit_initmacro_end,
77397         func_emit_initmacro_done): New functions.
77398         (func_import, func_create_testdir): Invoke them. Allow the identifiers
77399         gl_LIBOBJS and gl_LTLIBOBJS.
77400
77401 2006-10-11  Bruno Haible  <bruno@clisp.org>
77402
77403         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
77404         (func_create_testdir): Don't create po/Makefile.am, don't invoke
77405         autoreconf. Instead, invoke autopoint explicitly but move back the
77406         *.m4 files from gnulib.
77407
77408 2006-10-11  Bruno Haible  <bruno@clisp.org>
77409
77410         * gnulib-tool (func_usage): Make module names after --create-testdir
77411         optional.
77412         (func_create_testdir): If no module was specified, use nearly all
77413         modules.
77414
77415 2006-10-12  Jim Meyering  <jim@meyering.net>
77416
77417         Big performance improvement for fts-based tools that use FTS_NOSTAT.
77418         Avoid spurious inode-mismatch problems on non-POSIX file systems.
77419         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
77420         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
77421         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
77422         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
77423         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
77424         (fts_set_stat_required): New function.
77425         (fts_open): Defer the calls to fts_stat, if possible or requested.
77426         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
77427         into fts_stat itself.
77428         (fts_read): Perform any required (deferred) fts_stat call.
77429         (fts_build): Likewise, for the directory we're about to open and read.
77430         In the readdir loop, carefully decide whether each entry will require
77431         an eventual call to fts_stat, using dirent.d_type info if available.
77432         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
77433         a command line argument into this function.  Update all callers.
77434         Map a return value of FTS_DOT to FTS_D for a command line argument.
77435         * modules/fts (Depends-on): Add d-type.  Alphabetize.
77436         Thanks to Miklos Szeredi for his tenacity and for the initial
77437         bug report about "find" failing on a FUSE-based file system.
77438
77439         * lib/fts.c (fts_open): Use consistent indentation.
77440
77441 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77442
77443         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
77444         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
77445         reported by Jim Meyering.  All uses of cache variables renamed
77446         to match Autoconf's.
77447         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
77448         the other one.
77449
77450         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
77451         Fix misspelling in diagnostic.
77452
77453 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77454
77455         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
77456         defined.  Problem reported by Matthew Woehlke.
77457
77458         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
77459         Add support for Tandem NonStop R series.
77460         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
77461         Use new macro.
77462
77463         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
77464         (has_trailing_slash): Omit size arg; all callers changed.
77465         Omit 'inline', since it doesn't help performance and we'd
77466         need to configure it.
77467         Don't count //, ///, etc. as having a trailing slash.
77468         As a side effect, this removes a C99ism reported by Matthew Woehlke.
77469         (rpl_rename_dest_slash): On failure, use rename's errno rather
77470         than (in some cases) an incorrect or junk errno.
77471         Simplify code by removing need to compute length; this does
77472         cause it to make two passes instead of one over the file name,
77473         but it's worth it.
77474
77475         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
77476         change, since Autoconf's version may no longer be appropriate now
77477         that we are using CVS Autoconf's version.  Add support for Tandem.
77478
77479 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77480             Bruno Haible  <bruno@clisp.org>
77481
77482         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
77483         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
77484         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
77485         gl_AC_TYPE_LONG_LONG.
77486
77487         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
77488         instead of HAVE_LONG_LONG.
77489         * lib/printf-args.c (printf_fetchargs): Likewise.
77490         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
77491         * lib/vasnprintf.c (VASNPRINTF): Likewise.
77492         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
77493         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
77494         gl_AC_TYPE_LONG_LONG.
77495
77496 2006-10-11  Bruno Haible  <bruno@clisp.org>
77497
77498         * m4/longlong.m4: Add comments.
77499         * m4/ulonglong.m4: Likewise.
77500
77501 2006-10-10  Bruno Haible  <bruno@clisp.org>
77502
77503         Make it possible to #define stpcpy, strdup to aliases.
77504         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
77505         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
77506
77507 2006-10-10  Bruno Haible  <bruno@clisp.org>
77508
77509         Make it possible to #define gcd to an alias.
77510         * lib/gcd.c: Include config.h.
77511
77512 2006-10-10  Bruno Haible  <bruno@clisp.org>
77513
77514         Make it possible to #define c_isascii to an alias.
77515         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
77516         defined. Undefine the macros before defining them, to avoid gcc
77517         warnings.
77518         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
77519         define NO_C_CTYPE_MACROS early.
77520
77521 2006-10-10  Bruno Haible  <bruno@clisp.org>
77522
77523         Make it possible to #define set_program_name to an alias.
77524         * lib/progname.c: Don't undefine set_program_name; instead, undefine
77525         ENABLE_RELOCATABLE early.
77526
77527 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
77528
77529         Port to Tandem NSK OSS, which has 64-bit signed int but at most
77530         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
77531         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
77532         More generally, don't assume that 64-bit signed int is available
77533         if unsigned int is, and vice versa.
77534         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
77535         unsigned symbols, not on their signed counterparts.
77536         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
77537         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
77538         (UINT64_C, UINTMAX_C):
77539         Likewise.
77540         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
77541         unsigned counterparts.
77542         (Have_long_long, Unsigned): New macros.
77543         (Int): Renamed from INT.
77544         (strtoimax): Use the new macros.
77545         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
77546         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
77547         * modules/inttypes (inttypes.h): Substitute
77548         HAVE_UNSIGNED_LONG_LONG_INT.
77549         * modules/stdint (stdint.h): Likewise.
77550         (Files): Add m4/ulonglong.m4.
77551
77552 2006-10-10  Bruno Haible  <bruno@clisp.org>
77553
77554         Fix a gcc -Wshadow warning.
77555         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
77556         to 'bucket'.
77557         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
77558         gl_linked_indexof_from_to): Likewise.
77559         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
77560         Likewise.
77561         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
77562         Likewise.
77563         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
77564         Reported by Eric Blake.
77565
77566 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
77567
77568         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
77569         for NetBSD.  Problem reported by Bruno Haible.
77570
77571 2006-10-09  Jim Meyering  <jim@meyering.net>
77572
77573         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
77574         Patch from Bruno Haible.
77575
77576 2006-10-09  Jim Meyering  <jim@meyering.net>
77577
77578         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
77579         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
77580         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
77581
77582 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
77583
77584         Don't include <config.h> twice; this doesn't work in some cases,
77585         e.g., when config.h has "#define intmax_t long long int" and
77586         we include <config.h>, <inttypes.h>, <config.h> in that order.
77587         Problem reported by Matthew Woehlke in:
77588         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
77589         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
77590         * lib/fts-cycle.c: Don't include config.h.
77591         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
77592         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
77593         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
77594         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
77595         inttypes.h.
77596         * lib/xstrtoumax.c: Likewise.
77597         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
77598         __strtol and the like, so that this module is more like its siblings.
77599         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
77600         Remove; no longer needed now that we assume gnulib inttypes.h.
77601
77602 2006-10-08  Bruno Haible  <bruno@clisp.org>
77603
77604         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
77605         option.
77606
77607 2006-10-07  Jim Meyering  <jim@meyering.net>
77608
77609         * modules/inttypes (inttypes.h): Revert what seems to have been
77610         an inadvertent part of today's change: use "|", not "/" in the
77611         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
77612
77613 2006-10-07  Bruno Haible  <bruno@clisp.org>
77614
77615         * modules/sublist: New file.
77616
77617 2006-10-07  Bruno Haible  <bruno@clisp.org>
77618
77619         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
77620         * modules/argz (argz.h): Likewise.
77621         * modules/arpa_inet (arpa/inet.h): Likewise.
77622         * modules/byteswap (byteswap.h): Likewise.
77623         * modules/configmake (configmake.h): Likewise.
77624         * modules/fcntl (fcntl.h): Likewise.
77625         * modules/fnmatch (fnmatch.h): Likewise.
77626         * modules/getopt (getopt.h): Likewise.
77627         * modules/glob (glob.h): Likewise.
77628         * modules/inttypes (inttypes.h): Likewise.
77629         * modules/netinet_in (netinet/in.h): Likewise.
77630         * modules/poll (poll.h): Likewise.
77631         * modules/stdbool (stdbool.h): Likewise.
77632         * modules/stdint (stdint.h): Likewise.
77633         * modules/sys_select (sys/select.h): Likewise.
77634         * modules/sys_socket (sys/socket.h): Likewise.
77635         * modules/sys_stat (sys/stat.h): Likewise.
77636         * modules/sysexits (sysexits.h): Likewise.
77637         * modules/unistd (unistd.h): Likewise.
77638         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77639         Add a "DO NOT EDIT" comment to the generated file.
77640         (func_import): Likewise for gnulib-comp.m4.
77641
77642 2006-10-07  Bruno Haible  <bruno@clisp.org>
77643
77644         * lib/gl_sublist.h: New file.
77645         * lib/gl_sublist.c: New file.
77646
77647 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77648
77649         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
77650         name (relative to the original working directory) and the file
77651         name component (relative to the temporary working directory).  All
77652         callers changed.
77653         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
77654         * lib/mkdir-p.c (make_dir_parents): Likewise.
77655         * lib/mkdir-p.h (make_dir_parents): Likewise.
77656
77657 2006-10-06  Eric Blake  <ebb9@byu.net>
77658
77659         Define several macros for use by the clean-temp module.
77660         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
77661         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
77662         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
77663
77664         * lib/clean-temp.h (close_stream_temp): New declaration.
77665         * lib/clean-temp.c (includes): Pull in headers according to what
77666         other modules are in use.
77667         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
77668
77669 2006-10-06  Bruno Haible  <bruno@clisp.org>
77670
77671         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
77672         instead of fopen, fwriteerror.
77673
77674 2006-10-06  Bruno Haible  <bruno@clisp.org>
77675
77676         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
77677         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
77678         int.
77679         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
77680         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
77681         Return an error indicator.
77682         Suggested by Eric Blake.
77683
77684 2006-10-06  Bruno Haible  <bruno@clisp.org>
77685
77686         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
77687         Reported by Eric Blake.
77688
77689 2006-10-06  Bruno Haible  <bruno@clisp.org>
77690
77691         * modules/closeout (Description): Mention stderr too.
77692
77693 2006-10-06  Bruno Haible  <bruno@clisp.org>
77694         and Paul Eggert  <eggert@cs.ucla.edu>
77695
77696         * lib/closeout.c (close_stdout): Also close stderr.
77697         * lib/closeout.h: Update comment.
77698
77699 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77700
77701         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
77702         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
77703         * lib/dirchownmod.c: Include lchown.h.
77704         * lib/lchown.c: Don't include files that lchown.h now includes.
77705         Don't declare chown, since lchown.h now does that.
77706         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
77707         (lchown): Define to rpl_chown if lchown is declared but
77708         does not exist.  Declare using a prototype if lchown is not
77709         declared.  Add a copyright notice.
77710         * lib/mkstemp.h: Include <unistd.h>.
77711         * lib/openat.c: Include lchown.h.
77712
77713         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
77714         we now test for that separately.
77715         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
77716         rather than O_NOFOLLOW, when testing whether it's possible to
77717         avoid a race condition reliably.
77718         * lib/savewd.c (savewd_chdir): Likewise.
77719
77720         Remove macros that are no longer needed now that stdint.h is
77721         reliable.
77722         * lib/fsusage.c (UINTMAX_MAX): Remove.
77723         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
77724         * lib/utimecmp.c (SIZE_MAX): Remove.
77725
77726         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
77727
77728         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
77729         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
77730         O_NOATIME works.
77731
77732 2006-10-05  Bruno Haible  <bruno@clisp.org>
77733
77734         * lib/gl_list.h (gl_sortedlist_search_from_to,
77735         gl_sortedlist_indexof_from_to): New declarations.
77736         (gl_list_implementation): New fields sortedlist_search_from_to,
77737         sortedlist_indexof_from_to.
77738         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
77739         inline functions.
77740         * lib/gl_list.c (gl_sortedlist_search_from_to,
77741         gl_sortedlist_indexof_from_to): New functions.
77742         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
77743         function.
77744         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
77745         (gl_array_sortedlist_search_from_to): New function.
77746         (gl_array_list_implementation): Update.
77747         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
77748         function.
77749         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
77750         (gl_carray_sortedlist_search_from_to): New function.
77751         (gl_carray_list_implementation): Update.
77752         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
77753         gl_linked_sortedlist_indexof_from_to): New functions.
77754         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77755         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77756         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
77757         gl_tree_sortedlist_indexof_from_to): New functions.
77758         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77759         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77760         Update.
77761         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77762         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
77763         Update.
77764
77765 2006-10-05  Bruno Haible  <bruno@clisp.org>
77766
77767         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
77768         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
77769         (struct gl_list_implementation): Add fields search_from_to,
77770         indexof_from_to. Remove fields search, indexof.
77771         (gl_list_search): Use the search_from_to method.
77772         (gl_list_search_from, gl_list_search_from_to): New functions.
77773         (gl_list_indexof): Use the indexof_from_to method.
77774         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77775         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
77776         (gl_list_search_from, gl_list_search_from_to): New functions.
77777         (gl_list_indexof): Use the indexof_from_to method.
77778         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77779         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
77780         gl_array_indexof. Add start_index, end_index arguments.
77781         (gl_array_search_from_to): Renamed from gl_array_search. Add
77782         start_index, end_index arguments.
77783         (gl_array_remove, gl_array_list_implementation): Update.
77784         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
77785         gl_carray_indexof. Add start_index, end_index arguments.
77786         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
77787         start_index, end_index arguments.
77788         (gl_carray_remove, gl_carray_list_implementation): Update.
77789         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
77790         gl_linked_search. Add start_index, end_index arguments.
77791         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
77792         start_index, end_index arguments.
77793         (gl_linked_remove): Update.
77794         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77795         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77796         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
77797         field to 'size_t'.
77798         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
77799         gl_tree_search. Add start_index, end_index arguments.
77800         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77801         start_index, end_index arguments.
77802         (gl_tree_remove): Update.
77803         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77804         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77805         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
77806         function.
77807         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
77808         gl_tree_search. Add start_index, end_index arguments.
77809         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77810         start_index, end_index arguments.
77811         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77812         Update.
77813         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
77814
77815 2006-10-05  Bruno Haible  <bruno@clisp.org>
77816
77817         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
77818
77819         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
77820         fwriteerror_temp): New declarations.
77821         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
77822         (descriptors): New variable.
77823         (cleanup): First, close the descriptors.
77824         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
77825         fclose_temp, fwriteerror_temp): New functions.
77826
77827 2006-10-04  Jim Meyering  <jim@meyering.net>
77828
77829         * lib/fts.c (fts_open): Tiny comment change.
77830
77831 2006-10-04  Bruno Haible  <bruno@clisp.org>
77832
77833         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
77834         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
77835         gl_LOCK_BODY.
77836         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
77837         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
77838         gl_LOCK_EARLY_BODY.
77839         (gl_LOCK): Require gl_LOCK_BODY.
77840
77841 2006-10-04  Bruno Haible  <bruno@clisp.org>
77842
77843         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
77844         (gl_oset_search_atleast): New declaration.
77845         (struct gl_oset_implementation): Add field 'search_atleast'.
77846         (gl_oset_search_atleast): New inline function.
77847         * lib/gl_oset.c (gl_oset_search_atleast): New function.
77848         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
77849         (gl_array_oset_implementation): Update.
77850         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
77851         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
77852         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
77853
77854 2006-10-04  Bruno Haible  <bruno@clisp.org>
77855
77856         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
77857
77858 2006-10-03  Bruno Haible  <bruno@clisp.org>
77859
77860         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
77861         from gl_avltreehash_list_implementation.
77862
77863 2006-10-03  Bruno Haible  <bruno@clisp.org>
77864
77865         * lib/gl_oset.c (gl_oset_add): Fix return type.
77866
77867 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
77868
77869         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
77870
77871 2006-10-02  Eric Blake  <ebb9@byu.net>
77872
77873         * modules/strnlen (Depends-on): Add extensions.
77874
77875 2006-10-02  Eric Blake  <ebb9@byu.net>
77876
77877         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
77878         definition in 2.60+.
77879
77880 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
77881
77882         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
77883         checks.
77884
77885 2006-10-02  Bruno Haible  <bruno@clisp.org>
77886
77887         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
77888         to the AUTOMAKE_OPTIONS.
77889         Reported by Jim Meyering.
77890
77891 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77892
77893         Work around bug in Solaris 10 /proc file system:
77894         /proc/self/fd/NNN/.. isn't the parent directory of
77895         the directory whose file descriptor is NNN.  This needs to
77896         be worked around at run time, not compile time, since a
77897         program might be built on Solaris 8, where things work, and
77898         run on Solaris 10.
77899         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
77900         to use the following interface instead:
77901         (OPENAT_BUFFER_SIZE): New macro.
77902         (openat_proc_name): New function.
77903         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
77904         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
77905         Likewise.
77906         * lib/openat-proc.c: New file.
77907         * modules/openat (Files): Add lib/openat-proc.c.
77908         (Depends-on): Add same-inode, stdbool.
77909         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
77910
77911 2006-09-29  Bruno Haible  <bruno@clisp.org>
77912
77913         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
77914         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
77915         argument. Set stdout_closed before testing for ferror, not after.
77916         (fwriteerror, fwriteerror_no_ebadf): New functions.
77917
77918 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77919
77920         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
77921
77922 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
77923
77924         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
77925         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
77926
77927 2006-09-28  Jim Meyering  <jim@meyering.net>
77928
77929         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
77930         Include <unistd.h>.
77931
77932 2006-09-28  Bruno Haible  <bruno@clisp.org>
77933
77934         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
77935         * modules/linkedhash-list (Depends-on): Likewise.
77936         * modules/rbtreehash-list (Depends-on): Likewise.
77937
77938 2006-09-28  Bruno Haible  <bruno@clisp.org>
77939
77940         * lib/strndup.h: Simplify the redefinition of strndup.
77941         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
77942         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
77943
77944 2006-09-28  Bruno Haible  <bruno@clisp.org>
77945
77946         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
77947         * lib/gl_linkedhash_list.c: Likewise.
77948         * lib/gl_rbtreehash_list.c: Likewise.
77949
77950 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
77951
77952         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
77953         getaddrinfo.
77954
77955         * lib/__fpending.h: Don't include <stdio_ext.h> unless
77956         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
77957         it causes <stdio_ext.h> to cause a compile-time error.
77958         Problem reported by Nelson H. F. Beebe.
77959         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
77960         of HAVE_DECL___PENDING.
77961
77962         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
77963         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
77964         declaration.
77965
77966 2006-09-27  Jim Meyering  <jim@meyering.net>
77967
77968         This file could end up with a definition for a function
77969         named __strndup, rather than rpl_strndup on a system with
77970         incomplete weak_alias support.
77971         * lib/strndup.c (strndup): Rename from __strndup.
77972         Remove #defines that used to map __strndup to strndup.
77973         Don't use K&R prototypes.
77974         Remove LIBC-related code, since this file is not sync'd with glibc.
77975         * lib/strndup.h: Revamp, accordingly.
77976         * m4/strndup.m4: Modernize.
77977
77978 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
77979
77980         * modules/savewd (Depends-on): Add 'raise'.
77981         * lib/savewd.c: Include <signal.h>, for 'raise'.
77982
77983 2006-09-26  Jim Meyering  <jim@meyering.net>
77984
77985         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
77986         when we detect Darwin 8.7.0's acl_get_file bug.
77987         Rearrange to perform the new (below) run-test while $LIBS
77988         contains any acl-related library.  Set USE_ACL at the end.
77989         (gl_ACL_GET_FILE): New function.
77990
77991 2006-09-26  Eric Blake  <ebb9@byu.net>
77992
77993         * lib/verror.c: Include <config.h> unconditionally.
77994
77995 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
77996
77997         * modules/clock-time (Maintainer): Add self.
77998         * modules/getlogin_r (Depends-on): Add extensions.
77999
78000 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78001
78002         * modules/clock-time: New module.
78003         * modules/nanosleep (Depends-on): Add clock-time.
78004         * modules/gethrxtime (Depends-on): Likewise.
78005         * modules/gettime (Depends-on): Likewise.
78006         * modules/settime (Depends-on): Likewise.
78007
78008         * modules/fts-lgpl: Depend on openat.
78009         * modules/mkancesdirs: Depend on savewd.
78010         * modules/mkdir-p: Likewise.
78011
78012 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78013
78014         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
78015
78016         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
78017         `gl_have_arbitrary_file_name_length_limit' to
78018         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
78019         actually works between configure runs.
78020
78021 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78022             Bruno Haible  <bruno@clisp.org>
78023
78024         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
78025
78026 2006-09-25  Jim Meyering  <jim@meyering.net>
78027
78028         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
78029         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
78030
78031 2006-09-25  Eric Blake  <ebb9@byu.net>
78032
78033         * gnulib-tool (func_import, func_create_testdir): Fix typos in
78034         exec's in 2006-09-18 patch when shuffling fds.
78035
78036 2006-09-25  Bruno Haible  <bruno@clisp.org>
78037
78038         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
78039         Reported by Jim Meyering.
78040
78041 2006-09-24  Jim Meyering  <jim@meyering.net>
78042
78043         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
78044         compare a pointer against a literal "0".  That caused failures with
78045         at least HP-UX's hpcc.
78046
78047 2006-09-22  Simon Josefsson  <jas@extundo.com>
78048
78049         * modules/gc-sha1:
78050         * modules/gc-md4:
78051         * modules/gc-hmac-sha1:
78052         * modules/gc-hmac-md5:
78053         * modules/gc-des:
78054         * modules/gc-arcfour: Distribute more files.
78055
78056 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78057
78058         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
78059         (gl_linked_iterator_from_to): Initialize struct completely.
78060         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
78061         (gl_tree_iterator_from_to): Likewise
78062         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
78063         * lib/gl_array_list.c [lint] (gl_array_iterator)
78064         (gl_array_iterator_from_to): Likewise.
78065         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
78066         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
78067         (gl_carray_iterator_from_to): Likewise.
78068
78069         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
78070         * lib/md4.c (md4_process_block): Remove unused variable.
78071         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
78072         parentheses for clarity.
78073
78074 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78075
78076         * modules/bison-i18n (Depends-on): Add gettext.
78077
78078 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78079
78080         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
78081         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
78082         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
78083         also add missing comma that caused broken test.
78084         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
78085         stdlib.h, for `abort'.
78086         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
78087         variables.
78088         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
78089         include unistd.h if present, for `rmdir'.
78090         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
78091         variables.
78092         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
78093         in the process include standard headers for prototypes.
78094         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
78095         gets declared on GNU/Linux.
78096         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
78097         unistd.h, for `rmdir'.
78098         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
78099
78100         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
78101         always true.
78102         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
78103
78104         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
78105
78106 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78107
78108         * gnulib-tool (func_version): Create output all at once.  This
78109         may help avoid triggering unnecessary SIGPIPEs, and at any
78110         rate it doesn't hurt.
78111
78112 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78113             Bruno Haible  <bruno@clisp.org>
78114
78115         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
78116         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
78117         * m4/signed.m4 (bh_C_SIGNED): Likewise.
78118
78119         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
78120         (gl_FUNC_VASPRINTF): Invoke it.
78121
78122 2006-09-22  Bruno Haible  <bruno@clisp.org>
78123
78124         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
78125         getloadavg.c as first argument.
78126
78127 2006-09-22  Bruno Haible  <bruno@clisp.org>
78128
78129         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
78130         at the beginning of the gl_INIT macro.
78131         * modules/getloadavg (configure.ac): Pass $gl_source_base to
78132         gl_GETLOADAVG.
78133
78134 2006-09-22  Bruno Haible  <bruno@clisp.org>
78135
78136         * gnulib-tool (func_create_megatestdir): Don't include the config-h
78137         module.
78138         Suggested by Ralf Wildenhues.
78139
78140 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78141
78142         Import this patch from libc:
78143
78144         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
78145
78146         * lib/regex_internal.c (re_string_reconstruct): Handle
78147         offset < pstr->valid_raw_len && pstr->offsets_needed case.
78148         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
78149         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
78150         re_string_context_at.
78151
78152         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
78153         now requires it.
78154         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
78155         gl_REGEX now does it for us.
78156         (gl_REGEX): Add test taken from
78157         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
78158
78159         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
78160         Check that large offsets work.  Modernize Autoconf usages.
78161         Prefer "yes" to mean a good thing rather than a bad.
78162         Don't put "#define mkstemp" in config.h, as this might interfere
78163         with standard system headers that "#define mkstemp mkstemp64".
78164
78165         * modules/mkstemp (Depends-on): Add extensions, so that
78166         mkstemp is visible on some platforms.
78167         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
78168         (Include): Change to "mkstemp.h" from <stdlib.h>.
78169         (Files): Add mkstemp.h.
78170
78171         * lib/mkstemp.h: New file, since some standard headers
78172         #define mkstemp.
78173         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
78174         Include "mkstemp.h".
78175         Make the _LIBC code resemble glibc original more,
78176         e.g., use K&R style.
78177         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
78178         (mkstemp): Remove, since mkstemp.h does this for us.
78179         * lib/stdlib--.h: Include mkstemp.h.
78180
78181         Import this patch from libc:
78182
78183         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
78184
78185         * lib/tempname.c (__gen_tempname): Change attempts_min
78186         into a macro.  Use preprocessor to decide how to initialize
78187         attempts [Coverity CID 67].
78188
78189 2006-09-20  Bruno Haible  <bruno@clisp.org>
78190
78191         * lib/mkdtemp.c: Import from libc.
78192         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
78193                 * sysdeps/posix/tempname.c (__gen_tempname): Change
78194                 attempts_min into a macro.  Use preprocessor to decide how to
78195                 initialize attempts [Coverity CID 67].
78196         2001-11-27  Paul Eggert  <eggert@twinsun.com>
78197                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
78198                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
78199
78200 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78201
78202         * gnulib-tool (func_exit): New function, to allow to pass the
78203         exit status portably through the trap.  Use everywhere.
78204         (--help, --version): Signal a write error.
78205         (trap): catch SIGPIPE, for write errors.
78206         Exit at the end of the trap, with the correct exit status.
78207
78208 2006-09-19  Karl Berry  <karl@gnu.org>
78209
78210         * doc/gnulib.texi: note about the license texinfo files.
78211
78212 2006-09-19  Eric Blake  <ebb9@byu.net>
78213
78214         * gnulib-tool: Avoid space-tab.
78215
78216 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
78217
78218         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
78219         that prevented coreutils 6.1 from building.  Problem reported
78220         by Petter Reinholdtsen.
78221
78222 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
78223
78224         * gnulib-tool (avoidlist): Fix typo that broke options like
78225         --avoid=lock that are used by coreutils bootstrap.
78226
78227 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
78228
78229         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
78230         more systematically.
78231
78232 2006-09-18  Jim Meyering  <jim@meyering.net>
78233
78234         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
78235
78236 2006-09-18  Bruno Haible  <bruno@clisp.org>
78237
78238         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
78239
78240 2006-09-18  Bruno Haible  <bruno@clisp.org>
78241
78242         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
78243         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
78244         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
78245         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
78246         * m4/gettext.m4: Require autoconf >= 2.52.
78247         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
78248         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
78249         of gl_cv_header_inttypes_h.
78250
78251 2006-09-18  Bruno Haible  <bruno@clisp.org>
78252
78253         * lib/javaversion.c: Include configmake.h.
78254
78255 2006-09-18  Bruno Haible  <bruno@clisp.org>
78256
78257         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
78258         avoid that the while loops be executed in a subshell.
78259
78260 2006-09-18  Bruno Haible  <bruno@clisp.org>
78261
78262         * MODULES.html.sh (func_module): Break long lines.
78263         Suggested by Bruce Korb <bkorb@gnu.org>.
78264
78265 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78266
78267         Speed up by a factor of 1.12.
78268         * gnulib-tool (nl): New variable.
78269         (func_import): Rewrite include directive extraction to only read each
78270         directive once.
78271
78272 2006-09-17  Bruno Haible  <bruno@clisp.org>
78273
78274         * modules/javaversion (Makefile.am): Remove DEFS setting.
78275         (Depends-on): Add configmake, for PKGDATADIR definition.
78276
78277 2006-09-17  Bruno Haible  <bruno@clisp.org>
78278
78279         * gnulib-tool (func_create_testdir): Rewrite all files at once.
78280
78281 2006-09-17  Bruno Haible  <bruno@clisp.org>
78282
78283         * gnulib-tool (func_append): New function, stolen from libtool.m4.
78284         (func_modules_transitive_closure, func_modules_add_dummy,
78285         func_modules_to_filelist, func_import, func_create_testdir,
78286         func_create_megatestdir, ...): Use it wherever possible.
78287         Suggested by Ralf Wildenhues.
78288
78289 2006-09-16  Karl Berry  <karl@gnu.org>
78290
78291         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
78292         to avoid sectioning errors.
78293         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
78294         [ifinfo]: blank line after @center-ed titles.
78295         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
78296         Spell FSF address consistently with others.
78297         (These changes approved by rms.)
78298
78299 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78300
78301         Speed up by a factor of 1.61.
78302         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
78303         already checked module names again.
78304
78305 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78306
78307         Speed up by a factor of 1.13.
78308         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
78309         for new_files, and the input to func_add_or_update.
78310
78311 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78312
78313         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
78314         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
78315
78316 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78317
78318         * modules/mkancesdirs (Depends-on): Add fcntl.
78319         * modules/savewd: New file.
78320         * MODULES.html.sh (File system functions): Add savewd.
78321
78322         * modules/configmake (Makefile.am): Add support for the
78323         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
78324
78325 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78326
78327         * m4/savewd.m4: New file.
78328
78329 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78330
78331         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
78332         (dirchownmod): New arg FD.  All callers changed.
78333         Use FD rather than opening the directory ourself, as opening is
78334         now the caller's responsibility.
78335         * lib/dirchownmod.h: Likewise.
78336         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
78337         hosts that require <sys/types.h> before <sys/stat.h>.  Include
78338         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
78339         (test_dir): Remove.
78340         (mkancesdirs): Return length of prefix of FILE that has already
78341         been made, or -2 if there is a child doing the work.  Redo
78342         algorithm so that it is O(N) rather than O(N**2).  Optimize away
78343         ".", and treat ".." specially since it might stray back into
78344         already-created areas.  Use a subprocess if necessary.  New arg
78345         WD; all users changed.  MAKE_DIR function should now return 1
78346         if it creates a directory that is not readable.  Return -2 if
78347         a child process is spun off.
78348         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
78349         Adjust signature to match code.
78350         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
78351         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
78352         all users changed.
78353         * lib/savewd.c, lib/savewd.h: New files.
78354
78355 2006-09-15  Jim Meyering  <jim@meyering.net>
78356
78357         * modules/rename-dest-slash: New module.
78358         * MODULES.html.sh (posix_compat): Add it here.
78359
78360         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
78361
78362 2006-09-15  Jim Meyering  <jim@meyering.net>
78363
78364         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
78365         file.
78366
78367         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
78368
78369 2006-09-15  Jim Meyering  <jim@meyering.net>
78370
78371         * lib/rename-dest-slash.c (has_trailing_slash): Use
78372         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
78373         (rpl_rename_dest_slash): Perform the cheaper trailing slash
78374         test before testing whether SRC is a directory.
78375         Suggestions from Bruno Haible.
78376
78377         Avoid a warning about an unused variable.
78378         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
78379         into the #ifdef block where it's used.
78380
78381         * lib/rename-dest-slash.c: New file.
78382
78383 2006-09-14  Bruno Haible  <bruno@clisp.org>
78384
78385         * lib/allocsa.c: Include <config.h> unconditionally.
78386         * lib/asnprintf.c: Likewise.
78387         * lib/asprintf.c: Likewise.
78388         * lib/c-strcasecmp.c: Likewise.
78389         * lib/c-strcasestr.c: Likewise.
78390         * lib/c-strncasecmp.c: Likewise.
78391         * lib/c-strstr.c: Likewise.
78392         * lib/classpath.c: Likewise.
78393         * lib/clean-temp.c: Likewise.
78394         * lib/concatpath.c: Likewise.
78395         * lib/copy-file.c: Likewise.
78396         * lib/csharpcomp.c: Likewise.
78397         * lib/csharpexec.c: Likewise.
78398         * lib/execute.c: Likewise.
78399         * lib/fatal-signal.c: Likewise.
78400         * lib/findprog.c: Likewise.
78401         * lib/fwriteerror.c: Likewise.
78402         * lib/gl_array_list.c: Likewise.
78403         * lib/gl_array_oset.c: Likewise.
78404         * lib/gl_avltree_list.c: Likewise.
78405         * lib/gl_avltree_oset.c: Likewise.
78406         * lib/gl_avltreehash_list.c: Likewise.
78407         * lib/gl_carray_list.c: Likewise.
78408         * lib/gl_linked_list.c: Likewise.
78409         * lib/gl_linkedhash_list.c: Likewise.
78410         * lib/gl_list.c: Likewise.
78411         * lib/gl_oset.c: Likewise.
78412         * lib/gl_rbtree_list.c: Likewise.
78413         * lib/gl_rbtree_oset.c: Likewise.
78414         * lib/gl_rbtreehash_list.c: Likewise.
78415         * lib/imaxabs.c: Likewise.
78416         * lib/imaxdiv.c: Likewise.
78417         * lib/javacomp.c: Likewise.
78418         * lib/javaexec.c: Likewise.
78419         * lib/javaversion.c: Likewise.
78420         * lib/linebreak.c: Likewise.
78421         * lib/localcharset.c: Likewise.
78422         * lib/lock.c: Likewise.
78423         * lib/mbchar.c: Likewise.
78424         * lib/mbswidth.c: Likewise.
78425         * lib/mkdtemp.c: Likewise.
78426         * lib/pipe.c: Likewise.
78427         * lib/printf-args.c: Likewise.
78428         * lib/printf-parse.c: Likewise.
78429         * lib/progname.c: Likewise.
78430         * lib/progreloc.c: Likewise.
78431         * lib/readlink.c: Likewise.
78432         * lib/sh-quote.c: Likewise.
78433         * lib/stpcpy.c: Likewise.
78434         * lib/stpncpy.c: Likewise.
78435         * lib/strcasecmp.c: Likewise.
78436         * lib/strcasestr.c: Likewise.
78437         * lib/strcspn.c: Likewise.
78438         * lib/striconv.c: Likewise.
78439         * lib/strncasecmp.c: Likewise.
78440         * lib/strnlen1.c: Likewise.
78441         * lib/strstr.c: Likewise.
78442         * lib/strtok_r.c: Likewise.
78443         * lib/tls.c: Likewise.
78444         * lib/tmpdir.c: Likewise.
78445         * lib/unicodeio.c: Likewise.
78446         * lib/unsetenv.c: Likewise.
78447         * lib/vasnprintf.c: Likewise.
78448         * lib/vasprintf.c: Likewise.
78449         * lib/wait-process.c: Likewise.
78450         * lib/xallocsa.c: Likewise.
78451         * lib/xsetenv.c: Likewise.
78452         * lib/xstriconv.c: Likewise.
78453
78454 2006-09-13  Simon Josefsson  <jas@extundo.com>
78455
78456         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
78457         that internally, suggested by Ralf Wildenhues
78458         <Ralf.Wildenhues@gmx.de>.
78459
78460 2006-09-13  Simon Josefsson  <jas@extundo.com>
78461
78462         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
78463         @LIBOBJS@.
78464         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78465
78466 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78467
78468         * lib/_fpending.c: Include <config.h> unconditionally, since we no
78469         longer worry about uses that don't define HAVE_CONFIG_H.
78470         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
78471         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
78472         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
78473         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
78474         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
78475         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
78476         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
78477         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
78478         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
78479         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
78480         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
78481         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
78482         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
78483         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
78484         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
78485         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
78486         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
78487         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
78488         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
78489         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
78490         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
78491         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
78492         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
78493         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
78494         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
78495         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
78496         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
78497         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
78498         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
78499         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
78500         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
78501         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
78502         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
78503         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
78504         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
78505         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
78506         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
78507         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
78508         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
78509         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
78510         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
78511         Likewise.
78512
78513 2006-09-13  Eric Blake  <ebb9@byu.net>
78514
78515         * lib/getopt.c: Fix typo in last commit.
78516
78517 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
78518
78519         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
78520         dgettext.
78521
78522 2006-09-12  Jim Meyering  <jim@meyering.net>
78523
78524         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
78525         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
78526         Reported by Nelson H. F. Beebe.
78527
78528 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
78529
78530         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
78531         program_invocation_name and program_invocation_short_name are
78532         initialized.
78533         * lib/argp-namefrob.h: Move declarations of program_invocation_name
78534         and program_invocation_short_name to argp.h, so they are visible
78535         to user programs.
78536         * lib/argp.h: Likewise
78537
78538 2006-09-10  Bruno Haible  <bruno@clisp.org>
78539
78540         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
78541         m4/inttypes_h.m4, m4/uintmax_t.m4.
78542
78543 2006-09-10  Bruno Haible  <bruno@clisp.org>
78544
78545         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
78546         gl_AC_TYPE_UINTMAX_T.
78547
78548 2006-09-10  Bruno Haible  <bruno@clisp.org>
78549
78550         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
78551
78552 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78553
78554         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
78555         convention.  Text proposed by Bruno Haible.
78556         (struct argp_option): Document the use of N_() wrappers.
78557
78558         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
78559         '\v', and translate the two parts separately, instead of feeding
78560         the whole string to gettext.  This allows to exclude
78561         '\v' from the strings visible to the translator by writing doc
78562         strings as N_("..") "\v" N_("..").
78563
78564 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
78565
78566         * config/srclist.txt: Undo latest change; the bug was fixed.
78567
78568 2006-09-09  Bruno Haible  <bruno@clisp.org>
78569
78570         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
78571         assignments if building a library without libtool.
78572         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
78573         in func_emit_lib_Makefile_am.
78574         (func_import): When building a static library libfoo.a, arrange to
78575         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
78576         (func_create_testdir): Likewise.
78577         * modules/gc (configure.ac, Makefile.am): If building statically,
78578         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
78579         * modules/iconvme (configure.ac, Makefile.am): Likewise.
78580         * modules/striconv (configure.ac, Makefile.am): Likewise.
78581         Based on a suggestion by Ralf Wildenhues.
78582
78583 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78584
78585         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
78586         Check for unistd.h too, since Autoconf doesn't assume POSIX.
78587         Also:
78588
78589         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78590         Add year_2050_test to catch glibc bug 2821
78591         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78592
78593         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78594         Prefer #ifdef to #if.
78595
78596         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
78597         Return from 'main' instead of calling 'exit'.
78598
78599 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78600
78601         * lib/mktime.c (guess_time_tm): Fix bug where mktime
78602         returned the maximum time_t value rather than (time_t) -1.
78603         Problem originally reported by William Bardwell
78604         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78605
78606         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78607         Moved to here ...
78608         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78609         ... from here.
78610
78611 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78612
78613         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
78614         2821 is fixed.
78615
78616 2006-09-08  Jim Meyering  <jim@meyering.net>
78617
78618         Don't make generated files read-only.  That would bother too many
78619         people.  However, do retain the ability to work when targets are
78620         read-only: remove the destination and temporary files before writing
78621         them (when generated via sed or echo), or by using the -f option for
78622         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
78623         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78624         * modules/byteswap, modules/configmake, modules/fcntl:
78625         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78626         * modules/localcharset, modules/netinet_in, modules/poll:
78627         * modules/stdbool, modules/stdint, modules/sys_select:
78628         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78629
78630 2006-09-08  Jim Meyering  <jim@meyering.net>
78631
78632         Avoid new build failure on FreeBSD 6.0.
78633         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
78634         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
78635         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
78636
78637 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78638
78639         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
78640
78641 2006-09-07  Jim Meyering  <jim@meyering.net>
78642
78643         Fix global typo in last change: use chmod u-w, not chmod u-x.
78644         Spotted by Paul Eggert and Bruce Korb.
78645         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78646         * modules/byteswap, modules/configmake, modules/fcntl:
78647         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78648         * modules/localcharset, modules/netinet_in, modules/poll:
78649         * modules/stdbool, modules/stdint, modules/sys_select:
78650         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78651
78652 2006-09-06  Jim Meyering  <jim@meyering.net>
78653
78654         Make generated files be read-only.
78655         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
78656         Ensure that each generated file is now read-only.
78657         * modules/argz: Likewise.
78658         * modules/arpa_inet: Likewise.
78659         * modules/byteswap: Likewise.
78660         * modules/configmake: Likewise.
78661         * modules/fcntl: Likewise.
78662         * modules/fnmatch: Likewise.
78663         * modules/getopt: Likewise.
78664         * modules/glob: Likewise.
78665         * modules/inttypes: Likewise.
78666         * modules/netinet_in: Likewise.
78667         * modules/poll: Likewise.
78668         * modules/stdbool: Likewise.
78669         * modules/stdint: Likewise.
78670         * modules/sys_select: Likewise.
78671         * modules/sys_socket: Likewise.
78672         * modules/sys_stat: Likewise.
78673         * modules/sysexits: Likewise.
78674         * modules/localcharset: Same as above, but continue using temporary
78675         file named "t-$@" (why different?) rather than the "$@-t" used
78676         everywhere else.
78677
78678         * modules/sysexits (Makefile.am): Replace literal occurrences
78679         of "sysexit.h" more readable, and more consistent, "$@".
78680
78681 2006-09-06  Bruno Haible  <bruno@clisp.org>
78682
78683         * modules/striconv: New file.
78684         * modules/xstriconv: New file.
78685         * MODULES.html.sh (Internationalization functions): Add striconv,
78686         xstriconv.
78687
78688 2006-09-06  Bruno Haible  <bruno@clisp.org>
78689
78690         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
78691         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
78692         not using libtool correctly.
78693
78694 2006-09-06  Bruno Haible  <bruno@clisp.org>
78695
78696         * lib/striconv.h: New file.
78697         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
78698         iconvstring.c.
78699         * lib/xstriconv.h: New file.
78700         * lib/xstriconv.c: New file.
78701
78702 2006-09-06  Bruno Haible  <bruno@clisp.org>
78703
78704         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
78705         lib_..._LDFLAGS.
78706
78707 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78708
78709         * lib/argz_.h: Sync from Libtool.
78710
78711         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
78712                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
78713
78714         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
78715
78716 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78717
78718         * modules/trim: New file.
78719
78720 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78721
78722         * lib/trim.h: New file.
78723         * lib/trim.c: New file.
78724
78725 2006-09-05  Bruno Haible  <bruno@clisp.org>
78726
78727         * MODULES.html.sh (String handling): Add trim.
78728
78729 2006-09-04  Karl Berry  <karl@gnu.org>
78730
78731         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
78732         until next release.
78733
78734 2006-09-03  Bruno Haible  <bruno@clisp.org>
78735
78736         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
78737         correctly.
78738
78739 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78740
78741         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
78742         not gl_GETLOADAVG.  Omit unneeded semicolons.
78743         Problems reported by Ralf Wildenhues in
78744         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78745         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
78746         at the end, which is the usual gnulib style.
78747
78748         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
78749         of doing all the work ourselves.
78750         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
78751         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
78752
78753 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78754
78755         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
78756         Problem reported by Ralf Wildenhues in
78757         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78758
78759         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
78760         HAVE_STRUCT_STATFS_F_FSTYPENAME.
78761
78762 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78763
78764         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
78765         yesterday's patch by changing test -n to test -z.
78766
78767 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78768
78769         * modules/getloadavg (Files): Add m4/getloadavg.m4.
78770         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
78771         the former is now obsolescent.
78772
78773         * modules/chdir-long (Depends-on): Add fcntl.
78774
78775 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78776
78777         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
78778         obsolescent, and programs should use gnulib instead.
78779         * m4/getloadavg.m4: New file, with contents taken from Autoconf
78780         but with prefixes changed.
78781
78782 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78783
78784         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
78785         or stdbool.h, because they might not exist while configuring.
78786
78787         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
78788         Don't include unistd.h or limits.h; not needed, since chdir-long.h
78789         does that for us.
78790         (O_DIRECTORY): Remove.
78791
78792 2006-08-31  Eric Blake  <ebb9@byu.net>
78793
78794         * gnulib-tool: Don't let emacs change spaces to TAB.
78795
78796 2006-08-31  Bruno Haible  <bruno@clisp.org>
78797
78798         * gnulib-tool: When calling func_import more than once, do it in a
78799         subshell.
78800         Reported by Eric Blake <ebb9@byu.net>.
78801
78802 2006-08-31  Bruno Haible  <bruno@clisp.org>
78803
78804         * gnulib-tool (nl): Remove variable.
78805         (sed_transform_lib_file): Use more robust test for config-h module.
78806         (func_import): Fix typo in 2006-08-25 patch.
78807
78808 2006-08-31  Bruno Haible  <bruno@clisp.org>
78809
78810         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
78811         specified, augment Makefile.am variables instead of assigning them.
78812
78813 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78814
78815         Work around a bug in both the Linux and SunOS 64-bit kernels:
78816         nanosleep mishandles sleeps for longer than 2**31 seconds.
78817         Problem reported by Frank v Waveren in
78818         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78819         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
78820         Check for nanosleep bug.
78821         (LIB_NANOSLEEP): Append clock_gettime library if needed.
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         * lib/nanosleep.c (BILLION): New constant.
78830         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
78831         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
78832         implementation.
78833
78834 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78835
78836         * modules/nanosleep (Depends-on): Add gettime.
78837
78838 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78839         and Simon Josefsson  <jas@extundo.com>
78840         and Oskar Liljeblad  <oskar@osk.mine.nu>
78841
78842         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
78843         * gnulib-tool (func_import): New license type 'unmodifiable license
78844         text'.
78845         * modules/fdl: Use it.  Longer description.
78846         * module/gpl, module/lgpl: New files.
78847
78848 2006-08-30  Jim Meyering  <jim@meyering.net>
78849
78850         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
78851         shadowing the parameter.
78852
78853 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78854
78855         Sync from Libtool:
78856
78857         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78858
78859         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
78860         sharing with gnulib.  Report by Eric Blake.
78861
78862 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78863
78864         * modules/isapipe: New file.
78865         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
78866
78867 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78868
78869         * modules/configmake (Makefile.am): Add a comment, and omit
78870         the CONFIGMAKE_ prefix from generated macro names.  Suggested
78871         by Bruno Haible.
78872
78873 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78874
78875         * m4/isapipe.m4: New file.
78876
78877 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78878
78879         * lib/isapipe.c, lib/isapipe.h: New files.
78880
78881 2006-08-29  Jim Meyering  <jim@meyering.net>
78882
78883         * modules/configmake (Makefile.am): Make configmake.h depend on
78884         Makefile.  Otherwise, a stale configmake.h could hang around.
78885
78886 2006-08-29  Eric Blake  <ebb9@byu.net>
78887
78888         * lib/error.c (error_at_line, print_errno_message): Match libc, after
78889         resolution of upstream bug 3044.
78890
78891 2006-08-29  Bruno Haible  <bruno@clisp.org>
78892
78893         * modules/localcharset (Depends-on): Add configmake.
78894         (Makefile.am): Remove setting of LIBDIR through DEFS.
78895
78896 2006-08-29  Bruno Haible  <bruno@clisp.org>
78897
78898         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
78899         defined.
78900
78901 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78902
78903         * modules/fcntl: New file.
78904         * modules/chdir-safer (Depends-on): Add fcntl.
78905         * modules/fts: Likewise.
78906         * modules/mkdir-p: Likewise.
78907
78908         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
78909         This undoes the most recent change, since we're now addressing the
78910         problem in a different way.
78911
78912         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
78913         into output, since the output might be called Makefile.am even
78914         if $makefile_name is something different.
78915         (func_import): Use $makefile_am rather than
78916         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
78917         empty.
78918
78919         * modules/inttypes (Files): Add m4/inttypes-h.m4.
78920
78921 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78922
78923         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
78924         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
78925         recent change to stdint.m4, since we're now addressing the problem in a
78926         different way.
78927
78928 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78929
78930         * m4/fcntl_h.m4: New file.
78931
78932 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78933
78934         * lib/fcntl_.h: New file.
78935         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
78936         the fcntl module.
78937         * lib/dirchownmod.c: Likewise.
78938         * lib/fts.c: Likewise.
78939
78940         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
78941         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
78942         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
78943         just before including <inttypes.h>, to avoid circular inclusion.
78944
78945 2006-08-28  Jim Meyering  <jim@meyering.net>
78946
78947         * doc/visibility.texi: Actually read and correct the grammar of the
78948         sentence affected by yesterday's change.
78949
78950 2006-08-28  Eric Blake  <ebb9@byu.net>
78951
78952         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
78953         needs wrapper.
78954
78955 2006-08-28  Eric Blake  <ebb9@byu.net>
78956
78957         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
78958
78959 2006-08-28  Eric Blake  <ebb9@byu.net>
78960
78961         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
78962
78963 2006-08-28  Bruno Haible  <bruno@clisp.org>
78964
78965         * modules/c-strstr: New file, from GNU gettext.
78966         * MODULES.html.sh (String handling): Add c-strstr.
78967
78968 2006-08-28  Bruno Haible  <bruno@clisp.org>
78969
78970         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
78971         macros.
78972         Reported by Eric Blake.
78973
78974 2006-08-28  Bruno Haible  <bruno@clisp.org>
78975
78976         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
78977         (VASNPRINTF): Return a string of length > INT_MAX without failing.
78978         * lib/vasprintf.c: Include errno.h, limits.h.
78979         (EOVERFLOW): New fallback definition.
78980         (vasprintf): Test here whether the string length is > INT_MAX.
78981         * lib/vsnprintf.c: Include errno.h, limits.h.
78982         (EOVERFLOW): New fallback definition.
78983         (vsnprintf): Fix bug when generated string was too long for the buffer.
78984         Test here whether the string length is > INT_MAX.
78985
78986 2006-08-28  Bruno Haible  <bruno@clisp.org>
78987
78988         * lib/inttypes_.h (SCNX*): Remove definitions.
78989         Reported by Eric Blake.
78990
78991 2006-08-28  Bruno Haible  <bruno@clisp.org>
78992
78993         * lib/c-strstr.h: New file, from GNU gettext.
78994         * lib/c-strstr.c: New file, from GNU gettext.
78995
78996 2006-08-28  Bruno Haible  <bruno@clisp.org>
78997
78998         * gnulib-tool: Reorder some statements.
78999
79000 2006-08-28  Bruno Haible  <bruno@clisp.org>
79001
79002         * gnulib-tool: New option --makefile-name.
79003         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
79004         $makefile_name.
79005         (func_import): Write $makefile_name to the cache file, and read it from
79006         there unless explicitly specified. Use $makefile_name as file name
79007         instead of Makefile.am. Adjust the recommendations accordingly.
79008
79009 2006-08-28  Bruno Haible  <bruno@clisp.org>
79010
79011         * gnulib-tool (func_verify_module): Check against misapplying patch.
79012
79013 2006-08-28  Bruno Haible  <bruno@clisp.org>
79014
79015         * gnulib-tool (func_relativize, func_relconcat): New functions.
79016         Give an error if --local-dir is given with --update.
79017         Remove trailing slashes from $local_gnulib_dir.
79018         (func_import): Store the relativized $local_gnulib_dir in
79019         gnulib-cache.m4, and read it from there if not specified explicitly.
79020
79021 2006-08-28  Bruno Haible  <bruno@clisp.org>
79022
79023         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
79024         is the current directory. Respect also $local_gnulib_dir.
79025
79026 2006-08-28  Bruno Haible  <bruno@clisp.org>
79027             Simon Josefsson  <jas@extundo.com>
79028
79029         BeOS portability.
79030         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
79031
79032 2006-08-27  Jim Meyering  <jim@meyering.net>
79033
79034         * doc/visibility.texi: Remove duplicate word: "pointer".
79035
79036 2006-08-26  Bruno Haible  <bruno@clisp.org>
79037
79038         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
79039         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
79040         (Makefile.am): Create inttypes.h from inttypes_.h.
79041         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
79042
79043         * modules/imaxabs: New file.
79044
79045         * modules/imaxdiv: New file.
79046
79047 2006-08-26  Bruno Haible  <bruno@clisp.org>
79048
79049         * m4/inttypes.m4: New file.
79050         * m4/_inttypes_h.m4: Remove file.
79051         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
79052         PRI_MACROS_BROKEN.
79053         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
79054
79055         * m4/imaxabs.m4: New file.
79056
79057         * m4/imaxdiv.m4: New file.
79058
79059 2006-08-26  Bruno Haible  <bruno@clisp.org>
79060
79061         * lib/inttypes_.h: New file.
79062         * lib/inttypes.h: Remove file.
79063         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
79064
79065         * lib/imaxabs.c: New file.
79066
79067         * lib/imaxdiv.c: New file.
79068
79069 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79070
79071         New config-h module, so that "make" output needn't be cluttered
79072         by -DHAVE_CONFIG_H.
79073         * MODULES.html.sh (Support for building libraries and executables):
79074         Add config-h.
79075         * modules/config-h: New file.
79076         * gnulib-tool (nl, sed_transform_lib_file): New vars.
79077         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
79078         the config-h module is used.
79079
79080         New configmake module, so that "make" output needn't be cluttered
79081         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
79082         * MODULES.html.sh (Support for building libraries and executables):
79083         Add configmake.
79084         * modules/configmake: New file.
79085
79086 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79087
79088         * m4/config-h.m4: New file.
79089
79090 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79091
79092         * config/srclist.txt: Add elisp-comp.
79093
79094 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79095
79096         * MODULES.html.sh (Support for building libraries and executables):
79097         Add elisp-comp.
79098         * build-aux/elisp-comp: New file.
79099         * modules/elisp-comp: New file.
79100
79101 2006-08-24  Bruno Haible  <bruno@clisp.org>
79102
79103         * gnulib-tool (func_create_testdir): Use non-default values of
79104         sourcebase and m4base.
79105
79106 2006-08-24  Bruno Haible  <bruno@clisp.org>
79107
79108         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
79109         HTML structure.
79110
79111 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79112
79113         * modules/openat (Depends-on): Add lchown.
79114
79115 2006-08-23  Bruno Haible  <bruno@clisp.org>
79116
79117         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
79118         of gl_LOCK_EARLY instead of gl_LOCK.
79119
79120 2006-08-23  Bruno Haible  <bruno@clisp.org>
79121
79122         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
79123         on OSF/1 to no.
79124         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
79125
79126 2006-08-23  Bruno Haible  <bruno@clisp.org>
79127
79128         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
79129         as unusable.
79130
79131         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
79132         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
79133         (gl_LOCK): New macro.
79134
79135 2006-08-22  Simon Josefsson  <jas@extundo.com>
79136
79137         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
79138         to md5 module.
79139
79140 2006-08-22  Simon Josefsson  <jas@extundo.com>
79141
79142         * MODULES.html.sh: Add "Support for maintaining and release
79143         projects".
79144
79145         * build-aux/gnupload: New file, from coreutils.
79146
79147 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79148
79149         Avoid the need for AC_LIBSOURCES in m4 macros.
79150         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
79151         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
79152         * modules/check-version (EXTRA_DIST): Add check-version.h.
79153         * modules/crc (EXTRA_DIST): Add crc.h.
79154         * modules/des (EXTRA_DIST): Add des.h.
79155         * modules/gc (EXTRA_DIST): Add gc.h.
79156         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
79157         * modules/getline (EXTRA_DIST): Add getline.h.
79158         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
79159         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
79160         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
79161         * modules/md2 (EXTRA_DIST): Add md2.h.
79162         * modules/md4 (EXTRA_DIST): Add md4.h.
79163         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
79164         * modules/read-file (EXTRA_DIST): Add read-file.h.
79165         * modules/readline (EXTRA_DIST): Add readline.h.
79166         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
79167         rijndael-api-fst.h.
79168
79169 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79170
79171         * m4/rijndael.m4 (gl_ARCFOUR):
79172         * m4/arctwo.m4 (gl_ARCTWO):
79173         * m4/check-version.m4 (gl_CHECK_VERSION):
79174         * m4/crc.m4 (gl_CRC):
79175         * m4/des.m4 (gl_DES):
79176         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
79177         * m4/gc.m4 (gl_GC):
79178         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
79179         * m4/getline.m4 (gl_FUNC_GETLINE):
79180         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
79181         * m4/hmac-md5.m4 (gl_HMAC_MD5):
79182         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
79183         * m4/md2.m4 (gl_MD2):
79184         * m4/md4.m4 (gl_MD4):
79185         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
79186         * m4/read-file.m4 (gl_FUNC_READ_FILE):
79187         * m4/readline.m4 (gl_FUNC_READLINE):
79188         * m4/rijndael.m4 (gl_RIJNDAEL):
79189         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79190         to get the necessary .h files and whatnot.
79191
79192 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79193
79194         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
79195         gnulib rather than the other way around.
79196         * config/srclistvars.sh (COREUTILS): Remove.
79197
79198 2006-08-22  Jim Meyering  <jim@meyering.net>
79199
79200         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
79201
79202         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
79203
79204 2006-08-22  Eric Blake  <ebb9@byu.net>
79205
79206         * modules/regexprops-generic: New file.
79207         * MODULES.html.sh (Support for building documentation): List it.
79208
79209 2006-08-22  Eric Blake  <ebb9@byu.net>
79210
79211         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
79212         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
79213         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
79214         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
79215
79216 2006-08-22  Bruno Haible  <bruno@clisp.org>
79217
79218         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
79219         and lib_LTLIBRARIES like the other lib_* variables.
79220
79221 2006-08-22  Bruno Haible  <bruno@clisp.org>
79222
79223         * build-aux/x-to-1.in: New file, from GNU gettext.
79224
79225 2006-08-22  Bruno Haible  <bruno@clisp.org>
79226
79227         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
79228         <utmpx.h> exists.
79229
79230 2006-08-22  Bruno Haible  <bruno@clisp.org>
79231
79232         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
79233         <utmpx.h> exists.
79234
79235 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79236
79237         BeOS portability.
79238         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
79239         exist.
79240         Problem reported by Bruno Haible.
79241
79242 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79243
79244         Avoid the need for AC_LIBSOURCES in m4 macros.
79245         * modules/acl (EXTRA_DIST): Add acl.h.
79246         * modules/argmatch (Files): Add m4/argmatch.m4.
79247         (configure.ac): Add gl_ARGMATCH.
79248         (EXTRA_DIST): Renamed from lib_SOURCES, for
79249         consistency with the other modules.  Remove argmatch.c.
79250         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
79251         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
79252         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
79253         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
79254         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
79255         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
79256         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
79257         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
79258         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
79259         * modules/closeout (EXTRA_DIST): Add closeout.h.
79260         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
79261         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
79262         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
79263         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
79264         dirname.h; remove basename.c and stripslash.c.
79265         * modules/exclude (EXTRA_DIST): Add exclude.h.
79266         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
79267         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
79268         * modules/file-type (EXTRA_DIST): Add file-type.h.
79269         * modules/filemode (EXTRA_DIST): Add filemode.h.
79270         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
79271         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79272         * modules/fpending (EXTRA_DIST): Add __fpending.h.
79273         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
79274         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
79275         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
79276         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
79277         * modules/getdate (EXTRA_DIST): Add getdate.c.
79278         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
79279         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
79280         * modules/getpass (EXTRA_DIST): Add getpass.h.
79281         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
79282         * modules/group-member (EXTRA_DIST): Add group-member.h.
79283         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
79284         * modules/hash (EXTRA_DIST): Add hash.h.
79285         * modules/human (EXTRA_DIST): Add human.h.
79286         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
79287         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
79288         * modules/lchown (EXTRA_DIST): Add lchown.h.
79289         * modules/long-options (EXTRA_DIST): Add long-options.h.
79290         * modules/lstat (EXTRA_DIST): Add lstat.h.
79291         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
79292         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
79293         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
79294         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
79295         * modules/memxor (EXTRA_DIST): Add memxor.h.
79296         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
79297         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
79298         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
79299         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
79300         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
79301         * modules/physmem (EXTRA_DIST): Add physmem.h.
79302         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
79303         * modules/posixver (EXTRA_DIST): Add posixver.h.
79304         * modules/quote (EXTRA_DIST): Add quote.h.
79305         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
79306         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
79307         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
79308         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
79309         regex_internal.h regexec.c.
79310         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
79311         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
79312         * modules/same (EXTRA_DIST): Add same.h.
79313         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
79314         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
79315         * modules/savedir (EXTRA_DIST): Add savedir.h.
79316         * modules/sha1 (EXTRA_DIST): Add sha1.h.
79317         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
79318         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
79319         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
79320         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
79321         * modules/strdup (EXTRA_DIST): Add strdup.h.
79322         * modules/strftime (EXTRA_DIST): Add strftime.h.
79323         * modules/strndup (EXTRA_DIST): Add strndup.h.
79324         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
79325         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
79326         * modules/time_r (EXTRA_DIST): Add time_r.h.
79327         * modules/timespec (EXTRA_DIST): Add timespec.h.
79328         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79329         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
79330         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
79331         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
79332         * modules/userspec (EXTRA_DIST): Add userspec.h.
79333         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
79334         * modules/utimens (EXTRA_DIST): Add utimens.h.
79335         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
79336         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
79337         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
79338         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
79339         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
79340         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
79341         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
79342         * modules/yesno (EXTRA_DIST): Add yesno.h.
79343
79344 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79345
79346         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
79347
79348         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
79349         * m4/dev-ino.m4, same-inode.m4: Remove.
79350
79351         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
79352         * m4/acl.m4 (AC_FUNC_ACL):
79353         * m4/backupfile.m4 (gl_BACKUPFILE):
79354         * m4/c-strtod.m4 (gl_C99_STRTOLD):
79355         * m4/canon-host.m4 (gl_CANON_HOST):
79356         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
79357         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
79358         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
79359         * m4/cloexec.m4 (gl_CLOEXEC):
79360         * m4/close-stream.m4 (gl_CLOSE_STREAM):
79361         * m4/closeout.m4 (gl_CLOSEOUT):
79362         * m4/dirfd.m4 (gl_FUNC_DIRFD):
79363         * m4/dirname.m4 (gl_DIRNAME):
79364         * m4/exclude.m4 (gl_EXCLUDE):
79365         * m4/exitfail.m4 (gl_EXITFAIL):
79366         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
79367         * m4/file-type.m4 (gl_FILE_TYPE):
79368         * m4/filemode.m4 (gl_FILEMODE):
79369         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
79370         * m4/fpending.m4 (gl_FUNC_FPENDING):
79371         * m4/fprintftime.m4 (gl_FPRINTFTIME):
79372         * m4/fts.m4 (gl_FUNC_FTS):
79373         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
79374         * m4/getdate.m4 (gl_GETDATE):
79375         * m4/gethrxtime.m4 (gl_GETHRXTIME):
79376         * m4/getpagesize.m4 (gl_GETPAGESIZE):
79377         * m4/getpass.m4 (gl_FUNC_GETPASS):
79378         * m4/gettime.m4 (gl_GETTIME):
79379         * m4/getugroups.m4 (gl_GETUGROUPS):
79380         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
79381         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
79382         * m4/hard-locale.m4 (gl_HARD_LOCALE):
79383         * m4/hash.m4 (gl_HASH):
79384         * m4/idcache.m4 (gl_IDCACHE):
79385         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
79386         * m4/lchown.m4 (gl_FUNC_LCHOWN):
79387         * m4/long-options.m4 (gl_LONG_OPTIONS):
79388         * m4/lstat.m4 (gl_FUNC_LSTAT):
79389         * m4/md5.m4 (gl_MD5):
79390         * m4/memcasecmp.m4 (gl_MEMCASECMP):
79391         * m4/memcoll.m4 (gl_MEMCOLL):
79392         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
79393         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
79394         * m4/memxor.m4 (gl_MEMXOR):
79395         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
79396         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
79397         * m4/modechange.m4 (gl_MODECHANGE):
79398         * m4/mountlist.m4 (gl_MOUNTLIST):
79399         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
79400         * m4/openat.m4 (gl_FUNC_OPENAT):
79401         * m4/pathmax.m4 (gl_PATHMAX):
79402         * m4/physmem.m4 (gl_PHYSMEM):
79403         * m4/posixtm.m4 (gl_POSIXTM):
79404         * m4/posixver.m4 (gl_POSIXVER):
79405         * m4/quote.m4 (gl_QUOTE):
79406         * m4/quotearg.m4 (gl_QUOTEARG):
79407         * m4/readtokens.m4 (gl_READTOKENS):
79408         * m4/readutmp.m4 (gl_READUTMP):
79409         * m4/regex.m4 (gl_REGEX):
79410         * m4/safe-read.m4 (gl_SAFE_READ):
79411         * m4/safe-write.m4 (gl_SAFE_WRITE):
79412         * m4/same.m4 (gl_SAME):
79413         * m4/save-cwd.m4 (gl_SAVE_CWD):
79414         * m4/savedir.m4 (gl_SAVEDIR):
79415         * m4/settime.m4 (gl_SETTIME):
79416         * m4/sha1.m4 (gl_SHA1):
79417         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
79418         * m4/stat-macros.m4 (gl_STAT_MACROS):
79419         * m4/stat-time.m4 (gl_STAT_TIME):
79420         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
79421         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
79422         * m4/strdup.m4 (gl_FUNC_STRDUP):
79423         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
79424         * m4/strndup.m4 (gl_FUNC_STRNDUP):
79425         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
79426         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
79427         * m4/time_r.m4 (gl_TIME_R):
79428         * m4/timespec.m4 (gl_TIMESPEC):
79429         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
79430         * m4/unlinkdir.m4 (gl_UNLINKDIR):
79431         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
79432         * m4/userspec.m4 (gl_USERSPEC):
79433         * m4/utimecmp.m4 (gl_UTIMECMP):
79434         * m4/utimens.m4 (gl_UTIMENS):
79435         * m4/xalloc.m4 (gl_XALLOC):
79436         * m4/xgetcwd.m4 (gl_XGETCWD):
79437         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
79438         * m4/xreadlink.m4 (gl_XREADLINK):
79439         * m4/xstrtod.m4 (gl_XSTRTOD):
79440         * m4/yesno.m4 (gl_YESNO):
79441         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79442         to get the necessary .h files and whatnot.
79443
79444 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
79445             Bruno Haible  <bruno@clisp.org>
79446
79447         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
79448         /bin/sh understanding of '!' conditional negation.
79449
79450 2006-08-21  Jim Meyering  <jim@meyering.net>
79451
79452         * modules/openat (Depends-on): Really alphabetize.
79453
79454         * modules/acl (Depends-on): Add error and quote.
79455
79456         * check-module (find_included_lib_files): Add at-func.c to the
79457         ok-to-include-more-than-once white list.
79458
79459         * modules/openat (Depends-on): Add lstat.  Alphabetize.
79460
79461 2006-08-21  Bruno Haible  <bruno@clisp.org>
79462
79463         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79464         Emit a pkgdata_DATA variable only if some snippets add contents to it.
79465         Reported by Martin Lambers <marlam@marlam.de>.
79466
79467 2006-08-21  Bruno Haible  <bruno@clisp.org>
79468
79469         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
79470         specify an installation location, don't emit a noinst_LIBRARIES or
79471         noinst_LTLIBRARIES assignment.
79472
79473 2006-08-21  Bruno Haible  <bruno@clisp.org>
79474
79475         BeOS portability.
79476         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
79477         BeOS has mbrtowc() but no <wctype.h>.
79478
79479 2006-08-21  Bruno Haible  <bruno@clisp.org>
79480
79481         BeOS portability.
79482         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
79483         exist.
79484
79485 2006-08-21  Bruno Haible  <bruno@clisp.org>
79486
79487         BeOS portability.
79488         * lib/mbchar.h: Include <wctype.h> only if it exists.
79489
79490 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79491
79492         Remove files that are no longer needed by their respective modules.
79493         * m4/obstack.m4: Remove.
79494         * m4/strerror_r.m4: Remove.
79495         * m4/uint32_t.m4: Remove.
79496         * m4/uintptr_t.m4: Remove.
79497         * m4/ullong_max.m4: Remove.
79498         * m4/xstrtoimax.m4: Remove.
79499         * m4/xstrtoumax.m4: Remove.
79500
79501         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
79502         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
79503         dependencies now capture this.
79504
79505         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
79506         Do not use AC_LIBSOURCES, since gnulib modules now do this.
79507         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
79508         * m4/human.m4 (gl_HUMAN): Likewise.
79509         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
79510         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
79511
79512         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
79513
79514         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
79515         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
79516         stdint.
79517         * m4/human.m4 (gl_HUMAN): Likewise.
79518         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
79519         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
79520         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79521         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79522         * m4/xstrtol (gl_XSTRTOL): Likewise.
79523
79524         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
79525         AC_TYPE_LONG_LONG_INT.
79526         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79527         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
79528         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
79529         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79530
79531         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
79532         on stdbool.
79533
79534         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
79535         (gl_PREREQ_XSTRTOUL): Remove.
79536
79537         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
79538
79539         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
79540         mode.
79541
79542 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79543
79544         Add and change modules to make it easier for coreutils to use
79545         gnulib-tool.
79546         * modules/backupfile (Files): Remove m4/d-ino.m4.
79547         (Depends-on): Add d-ino.
79548         * modules/cycle-check (Depends-on): Add stdint.
79549         (lib_SOURCES): Add cycle-check.h.
79550         * modules/d-ino: New module.
79551         * modules/d-type: New module.
79552         * modules/error (Files): Remove m4/strerror_r.m4.
79553         * modules/filemode (Files): Add m4/st_dm_mode.m4.
79554         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
79555         m4/inttypes_h.m4, m4/uintmax_t.m4.
79556         (Depends-on): Add stdint.
79557         (lib_SOURCES): Add fsusage.h.
79558         * modules/getcwd (Files): Remove d-ino.m4.
79559         (Depends-on): Add d-ino.
79560         * modules/getndelim2 (Depends-on): Add stdint.
79561         * modules/glob (Files): Remove m4/d-type.m4.
79562         (Depends-on): Add d-type.
79563         * modules/host-os: New module.
79564         * modules/human (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 human.h.
79568         * modules/inttostr (Files): Remove m4/intmax_t.m4,
79569         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
79570         m4/uintmax_t.m4, m4/ulonglong.m4.
79571         (Depends-on): Add stdint.
79572         (EXTRA_DIST): Add inttostr.h.
79573         * modules/lchmod: New module.
79574         * modules/link-follow: New module.
79575         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
79576         (Depends-on): Add lchmod.
79577         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
79578         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
79579         (Depends-on): Add stdint.
79580         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
79581         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
79582         (Depends-on): Add stdint.
79583         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
79584         * modules/perl: New module.
79585         * modules/regex (Depends-on): Add stdint.
79586         * modules/rmdir-errno: New module.
79587         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79588         m4/intmax_t.m4.
79589         (Depends-on): Add stdint.
79590         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79591         m4/uintmax_t.m4.
79592         (Depends-on): Add stdint.
79593         * modules/unlink-busy: New module.
79594         * modules/utimecmp (Depends-on): Add stdint.
79595         * modules/uptime: New module.
79596         * modules/winsz-ioctl: New module.
79597         * modules/winsz-termios: New module.
79598         * modules/xnanosleep (Depends-on): Add nanosleep.
79599         * modules/ullong_max: Remove.
79600         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
79601         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
79602         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
79603         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
79604         (Depends-on): Add inttypes.
79605         (lib_SOURCES): Add xstrtol.h.
79606         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
79607         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
79608         * MODULES.html.sh: Move 'assert' into the assert section.
79609         Move 'dummy' into the linking section.
79610         Remove ullong_max.
79611         Add section for compatibility checks for POSIX:2001 functions,
79612         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
79613         winsz-ioctl, and winsz-termios into it.
79614         Add lchmod.
79615         Add top-level Misc section and put host-os, perl, and uptime
79616         into it.
79617
79618 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79619
79620         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
79621         now assume the stdint module.  Do not include inttypes.h.
79622         * lib/fsusage.h: Likewise.
79623         * lib/getndelim2.c: Likewise.
79624         * lib/human.h: Likewise.
79625         * lib/inttostr.h: Likewise.
79626         * lib/obstack.c: Likewise.
79627         * lib/regex_internal.h: Likewise.
79628         * lib/tempname.c: Likewise.
79629         * lib/utimecmp.c: Likewise.
79630         * lib/xstrtol.h: Likewise.
79631
79632         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
79633
79634         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
79635         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
79636         * lib/xtime.h: Likewise.
79637
79638 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79639
79640         * modules/openat (Files): Add lib/fchmodat.c.
79641         Fixes problem reported by Jay Youngman.
79642
79643 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79644
79645         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
79646         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
79647
79648 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
79649             Bruno Haible  <bruno@clisp.org>
79650
79651         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
79652         and is a script that invokes bison. Tighten the code. Add comments.
79653
79654 2006-08-18  Jim Meyering  <jim@meyering.net>
79655
79656         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
79657         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
79658         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
79659         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
79660
79661 2006-08-18  Bruno Haible  <bruno@clisp.org>
79662
79663         * modules/bison-i18n: New file.
79664         * MODULES.html.sh (Internationalization functions): Add it.
79665
79666 2006-08-18  Bruno Haible  <bruno@clisp.org>
79667
79668         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
79669         sys/statvfs.h. When getmntinfo was found, check its declaration and
79670         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
79671
79672 2006-08-18  Bruno Haible  <bruno@clisp.org>
79673
79674         * m4/bison-i18n.m4: New file, from bison.
79675
79676 2006-08-18  Bruno Haible  <bruno@clisp.org>
79677
79678         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
79679         (ME_DUMMY): Treat "kernfs" as a dummy.
79680         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
79681
79682 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79683
79684         Update from coreutils.
79685
79686         2006-08-15  Jim Meyering  <jim@meyering.net>
79687
79688         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
79689
79690         2006-01-17  Jim Meyering  <jim@meyering.net>
79691
79692         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
79693
79694         2006-01-11  Jim Meyering  <jim@meyering.net>
79695
79696         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
79697         Check for the lchmod function.
79698
79699 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79700
79701         Update from coreutils.
79702
79703         * lib/__fpending.h: Add copyright notice.
79704         * lib/fprintftime.h: Likewise.
79705         * lib/savedir.c: Use (C) in copyright notice.
79706         * lib/savedir.h: Likewise.
79707
79708         2006-08-15  Jim Meyering  <jim@meyering.net>
79709
79710         * lib/at-func.c: New file, with the logic of all emulated at-functions.
79711         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
79712         in support of the EXPECTED_ERRNO macro.
79713         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
79714         definitions.  Instead, define the appropriate symbols and include
79715         "at-func.c".
79716         * lib/mkdirat.c (mkdirat): Likewise.
79717         * lib/fchmodat.c (fchmodat): Likewise.
79718         (ENOSYS): Remove definition.
79719         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
79720         it.  Don't include "unistd--.h" -- it wasn't ever used.
79721
79722         2006-01-17  Jim Meyering  <jim@meyering.net>
79723
79724         Rewrite fts.c not to change the current working directory,
79725         by using openat, fstatat, fdopendir, etc..
79726
79727         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
79728         (HAVE_OPENAT_SUPPORT): Define.
79729         [_LIBC] (fchdir): Don't undef or define; no longer used.
79730         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
79731         Now, this `function' always succeeds, and consumes its file descriptor
79732         parameter -- so callers must not close such FDs.  Update callers.
79733         (diropen_fd, opendirat, cwd_advance_fd): New functions.
79734         (diropen): Add parameter, SP.  Adjust all callers.
79735         Implement using diropen_fd, rather than open.
79736         (fts_open): Initialize new member, fts_cwd_fd.
79737         Remove fts_rft-setting code.
79738         (fts_close): Close fts_cwd_fd, if necessary.
79739         (__opendir2): Define in terms of opendir or opendirat,
79740         depending on whether the FST_NOCHDIR flag is set.
79741         (fts_build): Since fts_safe_changedir consumes its FD, and since
79742         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
79743         and close the dup'd file descriptor upon failure.
79744         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
79745         (fts_safe_changedir): Tweak semantics to reflect that this function
79746         now calls cwd_advance_fd and hence consumes its FD argument.
79747         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
79748         [struct FTS] (fts_rft): Remove now-unused member.
79749         [struct FTS] (fts_cycle.state): Improve comment.
79750
79751         * lib/openat.c (openat_needs_fchdir): New function.
79752         * lib/openat.h (openat_needs_fchdir): Declare it.
79753
79754 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
79755
79756         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
79757         Problem and fix reported by Pádraig Brady in
79758         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
79759
79760 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79761
79762         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
79763
79764 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79765
79766         * lib/memcoll.c (memcoll): Optimize for the common case where the
79767         arguments are bytewise equal.
79768
79769 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79770
79771         * doc/regexprops-generic.texi: Add a copyright notice.
79772
79773 2006-08-15  Bruno Haible  <bruno@clisp.org>
79774
79775         * modules/tmpdir (License): Change to LGPL.
79776
79777 2006-08-15  Bruno Haible  <bruno@clisp.org>
79778
79779         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
79780         module.
79781
79782 2006-08-14  Simon Josefsson  <jas@extundo.com>
79783
79784         * config/srclist.txt: Add gnupload.
79785
79786 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79787
79788         Change copyright notice from LGPL 2 to GPL 2, since that's the
79789         standard form used in the gnulib repository.
79790         * tests/test-lock.c: Likewise.
79791         * tests/test-stdint.c: Likewise.
79792         * tests/test-tls.c: Likewise.
79793
79794         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
79795         prelude-manager.  User shorter URLs for GNU projects, without '?'.
79796         Add copyright notice.
79797
79798         * check-module: Add copyright notice.  Output a copyright
79799         notice if "--version" is specified.
79800         * modules/COPYING: New file.
79801         * tests/test-getaddrinfo.c: Add copyright notice.
79802         * tests/test-verify.c: Likewise.
79803
79804 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79805
79806         Change copyright notice from LGPL 2 to GPL 2, since that's the
79807         standard form used in the gnulib repository.
79808         * lib/lock.c: LGPL -> GPL.
79809         * lib/lock.h: Likewise.
79810         * lib/strnlen1.c: Likewise.
79811         * lib/strnlen1.h: Likewise.
79812         * lib/tls.c: Likewise.
79813         * lib/tls.h: Likewise.
79814         * lib/tmpdir.c: Likewise.
79815
79816         * lib/TODO: Remove; this belongs only in coreutils.
79817
79818 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79819
79820         Add copyright notices to long-enough files that lack them, since
79821         otherwise the files aren't clearly free.  Use the same notice that
79822         getdate.texi already uses.
79823         * doc/alloca-opt.texi: Add copyright notice.
79824         * doc/alloca.texi: Likewise.
79825         * doc/ctime.texi: Likewise.
79826         * doc/functions.texi: Likewise.
79827         * doc/gcd.texi: Likewise.
79828         * doc/gnulib-tool.texi: Likewise.
79829         * doc/inet_ntoa.texi: Likewise.
79830         * doc/visibility.texi: Likewise.
79831
79832         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
79833         * doc/quote.texi: Add copyright notice.
79834
79835         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
79836         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
79837         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
79838         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
79839         is now obsolete, and give a pointer to the Sun list.
79840         Add copyright notice.
79841
79842 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79843
79844         * config/srclistvars.sh: Add copyright notice.
79845
79846 2006-08-14  Eric Blake  <ebb9@byu.net>
79847
79848         Import the following change from libc:
79849
79850         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
79851
79852         Upstream bug 2997.
79853         * lib/misc/error.c: Add space between program name and message if file
79854         name is missing.
79855
79856 2006-08-12  Karl Berry  <karl@gnu.org>
79857
79858         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
79859         remove, these originate in gnulib now.
79860
79861 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79862
79863         * doc/Makefile (standards.info standards.html standards.dvi):
79864         Also depend on make-stds.texi.
79865
79866 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79867
79868         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
79869         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
79870
79871         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
79872         in wchar_t.  Problem reported by Eric Blake.
79873
79874         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
79875         LEN is smaller than SIZE.  Suggested by Bruno Haible.
79876         Also, help the compiler to keep LEN in a register.
79877
79878 2006-08-11  Eric Blake  <ebb9@byu.net>
79879
79880         * users.txt: Sort.  Add tar.
79881
79882 2006-08-11  Bruno Haible  <bruno@clisp.org>
79883
79884         * users.txt: New file.
79885
79886 2006-08-11  Bruno Haible  <bruno@clisp.org>
79887
79888         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
79889         before <wchar.h>. Needed for OSF/1 and BSD/OS.
79890
79891 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79892
79893         * modules/snprintf (Depends-on): Remove minmax.
79894         (Maintainer): Add self and Bruno.
79895
79896 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79897
79898         * lib/.cppi-disable: Add snprintf.h, socket_.h.
79899         * lib/snprintf.c: Include <errno.h> and <limits.h>.
79900         (EOVERFLOW): Define if the system does not.
79901         Do not include "minmax.h"; it wasn't used.
79902         (snprintf): Don't assume size_t promotes to an unsigned type.
79903         Fix bug when generated string was too long for the buffer: the
79904         buffer's contents are supposed to be the initial prefix of the
79905         output.  Don't assume vasnprintf returns EOVERFLOW if the size
79906         exceeds INT_MAX; do the check ourselves.
79907
79908         Import the following changes from libc:
79909
79910         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
79911
79912         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
79913         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
79914         set wc to the byte which couldn't be converted.
79915         (re_string_reconstruct): Don't clear valid_raw_len before calling
79916         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
79917         tip_context using re_string_context_at.
79918
79919         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
79920
79921         * lib/posix/regex.h: g++ still cannot handled [restrict].
79922
79923         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
79924
79925         * lib/posix/regex.h: Remove special handling for VMS.
79926
79927 2006-08-10  Jim Meyering  <jim@meyering.net>
79928
79929         * modules/same-inode: New module.
79930         * modules/dev-ino: New module.
79931         * modules/cycle-check: Depend on these modules, rather than simply
79932         including their .h files.
79933         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
79934         required via m4/cycle-check.m4.
79935         * modules/same: Depend on new same-inode module, rather than
79936         including same-inode.h.
79937         * modules/chdir-safer: New file.
79938
79939         * modules/chown (Depends-on): Add stat-macros.
79940
79941 2006-08-10  Jim Meyering  <jim@meyering.net>
79942
79943         * m4/cycle-check.m4: New file.
79944         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
79945         * m4/dev-ino.m4, m4/same-inode.m4: New files.
79946
79947 2006-08-10  Eric Blake  <ebb9@byu.net>
79948
79949         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
79950         in from original proposal.
79951
79952 2006-08-10  Eric Blake  <ebb9@byu.net>
79953         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
79954
79955         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
79956         namespace.
79957
79958 2006-08-10  Bruno Haible  <bruno@clisp.org>
79959
79960         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
79961         as well.
79962
79963 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79964
79965         Sync from coreutils.
79966
79967         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
79968
79969         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
79970         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
79971
79972 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79973
79974         * modules/restrict: Remove; no longer needed now that we assume
79975         Autoconf 2.59 or later.
79976         * MODULES.html.sh: Remove 'restrict'.
79977         * modules/argp (Depends-on): Remove 'restrict'.
79978         * modules/base64 (Depends-on): Likewise.
79979         * modules/gc (Depends-on): Likewise.
79980         * modules/getaddrinfo (Depends-on): Likewise.
79981         * modules/glob (Depends-on): Likewise.
79982         * modules/inet_ntop (Depends-on): Likewise.
79983         * modules/inet_pton (Depends-on): Likewise.
79984         * modules/memxor (Depends-on): Likewise.
79985         * modules/regex (Depends-on): Likewise.
79986         * modules/strtok_r (Depends-on): Likewise.
79987         * modules/time_r (Depends-on): Likewise.
79988
79989 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79990
79991         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
79992         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
79993         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
79994         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
79995         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
79996         * m4/memxor.m4 (gl_MEMXOR): Likewise.
79997         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
79998         gl_C_RESTRICT replaced by AC_C_RESTRICT.
79999
80000         Merge from coreutils.
80001         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
80002         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
80003         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
80004         * m4/time_r.m4 (gl_TIME_R): Likewise.
80005
80006 2006-08-09  Karl Berry  <karl@gnu.org>
80007
80008         * config/srclist.txt: no more gettext-tools, per Bruno.
80009
80010 2006-08-08  Eric Blake  <ebb9@byu.net>
80011
80012         * modules/verror: New module.
80013         * MODULES.html.sh: Document it.
80014
80015 2006-08-08  Eric Blake  <ebb9@byu.net>
80016
80017         * lib/verror.h, lib/verror.c: New files.
80018
80019 2006-08-08  Eric Blake  <ebb9@byu.net>
80020
80021         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
80022         verror_at_line output complies with GNU Coding Standards even when
80023         file is NULL.
80024
80025 2006-08-07  Bruno Haible  <bruno@clisp.org>
80026
80027         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
80028         versions of AIX.
80029         Reported by Ralf Wildenhues.
80030
80031 2006-08-07  Bruno Haible  <bruno@clisp.org>
80032
80033         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
80034         in an AC_DEFUN. Needed so that the autoconf snippets can use
80035         AC_REQUIRE.
80036
80037 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80038
80039         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80040         Initialize pkgdata_DATA.
80041         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
80042         overriding it.
80043
80044 2006-08-06  Eric Blake  <ebb9@byu.net>
80045
80046         * lib/error.h: Fold in some upstream changes from glibc.
80047         * lib/error.c: Likewise.
80048
80049 2006-08-04  Bruno Haible  <bruno@clisp.org>
80050
80051         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80052         Make the mostlyclean-local rule depend on mostlyclean-generic.
80053         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
80054
80055 2006-07-31  Bruno Haible  <bruno@clisp.org>
80056
80057         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
80058         <stdlib.h>, <string.h>.
80059
80060 2006-07-30  Bruno Haible  <bruno@clisp.org>
80061
80062         * modules/readlink (License): Change to LGPL.
80063
80064 2006-07-30  Bruno Haible  <bruno@clisp.org>
80065
80066         * modules/javaversion (Makefile.am): Distribute javaversion.java and
80067         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
80068         set PKGDATADIR to point to it.
80069
80070 2006-07-30  Bruno Haible  <bruno@clisp.org>
80071
80072         * modules/csharpexec (configure.ac): Comment out macro invocation.
80073         * modules/javaexec (configure.ac): Likewise.
80074         * modules/javacomp-script (configure.ac): Likewise.
80075
80076         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
80077
80078 2006-07-30  Bruno Haible  <bruno@clisp.org>
80079
80080         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
80081         linked-list.
80082
80083 2006-07-30  Bruno Haible  <bruno@clisp.org>
80084
80085         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
80086
80087 2006-07-30  Bruno Haible  <bruno@clisp.org>
80088
80089         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80090         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
80091         get removed.
80092
80093 2006-07-29  Bruno Haible  <bruno@clisp.org>
80094
80095         Make it possible for gnulib-tool to work with locally modified or
80096         augmented gnulib repositories.
80097         * gnulib-tool (func_usage): Document --local-dir option.
80098         (local_gnulib_dir): New variable.
80099         Handle --local-dir option.
80100         (func_lookup_file): New function.
80101         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
80102         (func_get_description, func_get_filelist, func_get_description,
80103         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
80104         func_get_automake_snippet, func_get_include_directive,
80105         func_get_license, func_get_maintainer): Use func_lookup_file.
80106         (func_import, func_create_testdir): Use func_lookup_file.
80107
80108 2006-07-29  Bruno Haible  <bruno@clisp.org>
80109
80110         * modules/setenv (Depends-on): Add unistd.
80111
80112 2006-07-29  Bruno Haible  <bruno@clisp.org>
80113
80114         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
80115
80116 2006-07-29  Bruno Haible  <bruno@clisp.org>
80117
80118         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
80119
80120 2006-07-29  Bruno Haible  <bruno@clisp.org>
80121
80122         * gnulib-tool (import, update): If there is no Makefile.am, look at
80123         aclocal.m4, instead of bailing out.
80124
80125 2006-07-29  Bruno Haible  <bruno@clisp.org>
80126
80127         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
80128         Categorize the options by when they are useful.
80129
80130 2006-07-29  Bruno Haible  <bruno@clisp.org>
80131
80132         * gnulib-tool (func_usage): Document option --no-libtool.
80133         Handle option --no-libtool.
80134         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
80135         for changed semantics of $libtool variable.
80136         (func_import): Likewise. If libtool is not used, show this through
80137         an option --no-libtool.
80138         (func_create_testdir): Update.
80139
80140 2006-07-29  Bruno Haible  <bruno@clisp.org>
80141
80142         * gnulib-tool (func_import): Extend error message about missing
80143         --doc-base.
80144
80145 2006-07-29  Bruno Haible  <bruno@clisp.org>
80146
80147         * gnulib-tool (func_import): Don't create the $docbase directory if
80148         there is no file to store there.
80149
80150 2006-07-29  Bruno Haible  <bruno@clisp.org>
80151
80152         * gnulib-tool (autoconf_minversion): If a --dir option is given and
80153         relevant, look for configure.ac there, not in the current directory.
80154         Also use a simple search for AC_PREREQ, not "autoconf --trace".
80155
80156 2006-07-29  Bruno Haible  <bruno@clisp.org>
80157
80158         * gnulib-tool (SORT): New variable.
80159         (func_usage): Undocument --assume-autoconf option.
80160         Remove --assume-autoconf option handling.
80161         (autoconf_minversion): Determine from the contents of configure.ac.
80162         (func_import): Remove autoconf_minversion handling.
80163         Suggested by Eric Blake.
80164
80165 2006-07-29  Bruno Haible  <bruno@clisp.org>
80166
80167         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
80168
80169 2006-07-29  Bruno Haible  <bruno@clisp.org>
80170
80171         * config/srclist.txt (*setenv.[ch]): Remove rules.
80172
80173 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80174
80175         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
80176
80177 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80178
80179         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
80180         arpa/inet.h.
80181
80182 2006-07-28  Simon Josefsson  <jas@extundo.com>
80183
80184         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
80185         * modules/inet_pton (Depends-on): Likewise.
80186
80187 2006-07-28  Simon Josefsson  <jas@extundo.com>
80188
80189         * m4/netinet_in_h.m4: New file.
80190
80191 2006-07-28  Simon Josefsson  <jas@extundo.com>
80192
80193         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
80194         #include's.
80195
80196 2006-07-28  Simon Josefsson  <jas@extundo.com>
80197
80198         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
80199         #include's.
80200
80201 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
80202
80203         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
80204         setgid on directories only if they set these bits.
80205         * lib/modechange.h: Remove obsolete comment about masks.
80206
80207 2006-07-28  Eric Blake  <ebb9@byu.net>
80208
80209         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
80210         macro expansion.
80211
80212 2006-07-28  Bruno Haible  <bruno@clisp.org>
80213
80214         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
80215
80216 2006-07-28  Bruno Haible  <bruno@clisp.org>
80217
80218         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
80219
80220 2006-07-28  Bruno Haible  <bruno@clisp.org>
80221
80222         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
80223         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
80224         Define fallbacks.
80225         Avoids link error on FreeBSD 4.x.
80226         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
80227
80228         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
80229         encoding.
80230         * lib/mbswidth.c (iswcntrl): Likewise.
80231
80232 2006-07-27  Bruno Haible  <bruno@clisp.org>
80233
80234         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
80235         test.
80236
80237 2006-07-27  Bruno Haible  <bruno@clisp.org>
80238
80239         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
80240         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
80241         defined.
80242
80243 2006-07-26  Eric Blake  <ebb9@byu.net>
80244
80245         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
80246
80247 2006-07-26  Eric Blake  <ebb9@byu.net>
80248
80249         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
80250         like mingw that lack mkstemp.
80251         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
80252         avoid compilation warning on mingw.
80253
80254 2006-07-26  Bruno Haible  <bruno@clisp.org>
80255
80256         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
80257         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
80258         INT_FAST*_MIN, INTPTR_MIN.
80259
80260 2006-07-25  Bruno Haible  <bruno@clisp.org>
80261
80262         * modules/version-etc (Depends-on): Add stdarg.
80263
80264 2006-07-25  Bruno Haible  <bruno@clisp.org>
80265
80266         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
80267         complex commands.
80268
80269 2006-07-25  Bruno Haible  <bruno@clisp.org>
80270
80271         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
80272         defined in <stdarg.h> or config.h.
80273
80274 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
80275
80276         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
80277         (gl_STDIO_SAFER): Remove.
80278
80279 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
80280
80281         * MODULES.html.sh (File stream based Input/Output):
80282         Add fopen-safer, tmpfile-safer; remove stdio-safer.
80283         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
80284         * modules/fopen-safer, modules/tmpfile-safer: New files.
80285         * modules/stdio-safer: Remove.
80286
80287 2006-07-24  Bruno Haible  <bruno@clisp.org>
80288
80289         * modules/tmpdir: New file.
80290         * MODULES.html.sh (File system functions): Add it.
80291
80292 2006-07-24  Bruno Haible  <bruno@clisp.org>
80293
80294         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
80295         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
80296
80297 2006-07-24  Bruno Haible  <bruno@clisp.org>
80298
80299         * modules/clean-temp: New file.
80300
80301 2006-07-24  Bruno Haible  <bruno@clisp.org>
80302
80303         * m4/tmpdir.m4: New file, from GNU gettext.
80304
80305 2006-07-24  Bruno Haible  <bruno@clisp.org>
80306
80307         * lib/tmpdir.h: New file, from GNU gettext.
80308         * lib/tmpdir.c: New file, from GNU gettext.
80309
80310 2006-07-24  Bruno Haible  <bruno@clisp.org>
80311
80312         * lib/clean-temp.h: New file, from GNU gettext.
80313         * lib/clean-temp.c: New file, from GNU gettext.
80314
80315 2006-07-23  Eric Blake  <ebb9@byu.net>
80316
80317         * modules/stdio-safer (Files): Add tmpfile-safer.c.
80318         (Depends-on): Add binary-io.
80319
80320 2006-07-23  Eric Blake  <ebb9@byu.net>
80321
80322         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
80323
80324 2006-07-23  Eric Blake  <ebb9@byu.net>
80325
80326         * lib/tmpfile-safer.c: New file.
80327         * lib/stdio-safer.h (fopen_safer): Add prototype.
80328         * lib/stdio--.h (tmpfile): Make safer.
80329
80330 2006-07-23  Bruno Haible  <bruno@clisp.org>
80331
80332         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
80333         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
80334         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
80335         gl_linked_remove_at): Use it.
80336
80337 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80338         and Simon Josefsson <jas@extundo.com>
80339
80340         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
80341
80342         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
80343
80344 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80345
80346         * modules/close-stream: New file.
80347         * modules/closeout (Description): Make it clear that it exits
80348         with a diagnostic on error.
80349         (Depends-on): Add close-stream.  Remove fpending, stdbool.
80350         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
80351
80352 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80353
80354         * m4/close-stream.m4: New file.
80355
80356 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80357
80358         * lib/close-stream.c, lib/close-stream.h: New files.
80359
80360 2006-07-22  Bruno Haible  <bruno@clisp.org>
80361
80362         Merge from GNU gettext 0.15.
80363
80364         2006-05-01  Bruno Haible  <bruno@clisp.org>
80365
80366                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
80367
80368         2006-07-22  Bruno Haible  <bruno@clisp.org>
80369
80370                 * modules/javaversion: New file.
80371                 * MODULES.html.sh (Java): Add javaversion.
80372
80373         2006-03-12  Bruno Haible  <bruno@clisp.org>
80374
80375                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
80376
80377         2005-12-04  Bruno Haible  <bruno@clisp.org>
80378
80379                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
80380                 (untested).
80381
80382         2006-06-21  Bruno Haible  <bruno@clisp.org>
80383
80384                 Avoid warnings from recent versions of mcs.
80385                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
80386                 -o, -L, -r any more. Use options documented since mcs-1.0
80387                 instead. Similarly for -g.
80388
80389         2005-12-04  Bruno Haible  <bruno@clisp.org>
80390
80391                 * build-aux/csharpcomp.sh.in: Suffix for resources is
80392                 .resources, not .resource.
80393
80394         2005-07-09  Bruno Haible  <bruno@clisp.org>
80395
80396                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
80397                 add a .dll suffix.
80398                 Reported by Mark Junker <mjscod@gmx.de>.
80399
80400         2006-07-22  Bruno Haible  <bruno@clisp.org>
80401
80402                 * modules/gettext: Upgrade to gettext-0.15.
80403                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
80404                 m4/visibility.m4.
80405                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
80406
80407 2006-07-22  Bruno Haible  <bruno@clisp.org>
80408
80409         Merge from GNU gettext 0.15.
80410
80411         2006-03-25  Bruno Haible  <bruno@clisp.org>
80412
80413                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
80414
80415         2006-07-21  Bruno Haible  <bruno@clisp.org>
80416
80417                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
80418                 "1.1".
80419
80420         2006-05-09  Bruno Haible  <bruno@clisp.org>
80421
80422                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
80423                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
80424                 for the conftestver execution.
80425
80426         2006-05-01  Bruno Haible  <bruno@clisp.org>
80427
80428                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
80429                 optional target-version argument. Verify that the compiler
80430                 groks source of the specified source-version, or add -source
80431                 option as necessary. Verify that the compiler produces
80432                 bytecode in the specified target-version, or add -target and
80433                 -source options as necessary. Make the result of the test
80434                 available as variable CONF_JAVAC. Also log error output in
80435                 config.log.
80436
80437         2006-03-11  Bruno Haible  <bruno@clisp.org>
80438
80439                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
80440
80441         2006-05-09  Bruno Haible  <bruno@clisp.org>
80442
80443                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
80444                 CLASSPATH_SEPARATOR to a semicolon.
80445
80446         2006-03-12  Bruno Haible  <bruno@clisp.org>
80447
80448                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
80449                 available as variable CONF_JAVA, for subsequent autoconf
80450                 tests. Also log error output in config.log.
80451
80452         2006-07-19  Bruno Haible  <bruno@clisp.org>
80453
80454                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
80455                 that getline works on glibc2 systems. Needed to avoid trouble
80456                 in relocatable.c.
80457                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
80458
80459         2005-12-04  Bruno Haible  <bruno@clisp.org>
80460
80461                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
80462                 launcher (untested).
80463
80464         2005-12-04  Bruno Haible  <bruno@clisp.org>
80465
80466                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
80467
80468         2006-07-22  Bruno Haible  <bruno@clisp.org>
80469
80470                 * gettext.m4: Update from GNU gettext-0.15.
80471                 * nls.m4: Likewise.
80472                 * po.m4: Likewise.
80473                 * inttypes-pri.m4: Likewise.
80474                 * inttypes-h.m4: Renamed from inttypes.m4.
80475                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
80476
80477 2006-07-22  Bruno Haible  <bruno@clisp.org>
80478
80479         Merge from GNU gettext 0.15.
80480
80481         2005-07-05  Bruno Haible  <bruno@clisp.org>
80482
80483                 * printf-args.c (printf_fetchargs): Work around broken
80484                 definition of wint_t on mingw.
80485
80486         2005-02-12  Bruno Haible  <bruno@clisp.org>
80487
80488                 * xallocsa.h: Add extern "C" for C++.
80489
80490         2006-05-17  Bruno Haible  <bruno@clisp.org>
80491
80492                 Cygwin portability.
80493                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
80494
80495         2006-04-30  Bruno Haible  <bruno@clisp.org>
80496
80497                 * progreloc.c: Include <mach-o/dyld.h> if available.
80498                 (find_executable): Use _NSGetExecutablePath when possible.
80499
80500         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
80501
80502                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
80503                 function.
80504
80505         2005-12-29  Bruno Haible  <bruno@clisp.org>
80506
80507                 * progreloc.c (set_program_name_and_installdir): Fix
80508                 compilation error.
80509
80510         2005-12-04  Bruno Haible  <bruno@clisp.org>
80511
80512                 Cygwin portability.
80513                 * progreloc.c: Include <windows.h> also on Cygwin.
80514                 (find_executable): Add support for Cygwin.
80515                 (set_program_name_and_installdir): Handle also platforms with
80516                 nonempty EXEEXT.
80517
80518         2006-07-11  Bruno Haible  <bruno@clisp.org>
80519
80520                 * javacomp.c: Fix a comment.
80521                 Reported by Jim Meyering.
80522
80523         2006-04-30  Bruno Haible  <bruno@clisp.org>
80524
80525                 * javacomp.h (compile_java_class): Add source_version,
80526                 target_version arguments.
80527                 * javacomp.c: Rewritten to choose only a compiler that
80528                 respects the specified source_version and target_version.
80529
80530         2006-06-27  Bruno Haible  <bruno@clisp.org>
80531
80532                 Assume correct S_ISDIR macro.
80533                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
80534
80535         2006-07-22  Bruno Haible  <bruno@clisp.org>
80536
80537                 * javaversion.h: New file, from GNU gettext.
80538                 * javaversion.c: New file, from GNU gettext.
80539                 * javaversion.java: New file, from GNU gettext.
80540                 * javaversion.class: New file, from GNU gettext.
80541
80542         2006-05-17  Bruno Haible  <bruno@clisp.org>
80543
80544                 Cygwin portability.
80545                 * javaexec.c (execute_java_class): Test for jview program
80546                 also on Cygwin.
80547
80548         2006-04-09  Bruno Haible  <bruno@clisp.org>
80549
80550                 * fatal-signal.c: Don't include string.h.
80551                 (at_fatal_signal): Use a copying loop instead of memcpy.
80552
80553         2005-12-04  Bruno Haible  <bruno@clisp.org>
80554
80555                 * csharpexec.c: Add support for 'clix' launcher (untested).
80556                 (execute_csharp_using_sscli): New function.
80557                 (execute_csharp_program): Call it.
80558
80559         2006-06-21  Bruno Haible  <bruno@clisp.org>
80560
80561                 Avoid warnings from recent versions of mcs.
80562                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
80563                 -o, -L, -r any more. Use options documented since mcs-1.0
80564                 instead. Similarly for -g.
80565
80566         2005-07-09  Bruno Haible  <bruno@clisp.org>
80567
80568                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
80569                 add a .dll suffix.
80570                 Reported by Mark Junker <mjscod@gmx.de>.
80571
80572         2006-06-17  Bruno Haible  <bruno@clisp.org>
80573
80574                 * config.charset: Update for NetBSD 3.0.
80575
80576         2006-05-17  Bruno Haible  <bruno@clisp.org>
80577
80578                 Cygwin portability.
80579                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
80580
80581         2006-05-16  Bruno Haible  <bruno@clisp.org>
80582
80583                 * localcharset.c [CYGWIN]: Include <windows.h>.
80584                 (get_charset_aliases): For Cygwin, return the same CPxxx
80585                 aliases list as under WIN32.
80586                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
80587                 the environment variables. Fall back to GetACP().
80588
80589         2006-04-05  Bruno Haible  <bruno@clisp.org>
80590
80591                 * config.charset: Update Juan Manuel Guerrero's address.
80592
80593         2005-02-12  Bruno Haible  <bruno@clisp.org>
80594
80595                 * allocsa.h: Add extern "C" for C++.
80596
80597         2005-02-10  Bruno Haible  <bruno@clisp.org>
80598
80599                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
80600                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
80601
80602         2006-07-22  Bruno Haible  <bruno@clisp.org>
80603
80604                 * gettext.h: Update to GNU gettext-0.15.
80605
80606 2006-07-22  Bruno Haible  <bruno@clisp.org>
80607
80608         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
80609         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
80610         lib-prefix.m4, longdouble.m4, ssize_t.m4.
80611
80612 2006-07-21  Eric Blake  <ebb9@byu.net>
80613
80614         * modules/stdlib-safer: New file.
80615         * MODULES.html.sh (File stream based Input/Output): Add
80616         stdlib-safer.
80617
80618 2006-07-21  Eric Blake  <ebb9@byu.net>
80619
80620         * lib/stdlib-safer.h: New file from coreutils, required by
80621         stdlib--.h.
80622
80623 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
80624
80625         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
80626
80627 2006-07-20  Bruno Haible  <bruno@clisp.org>
80628
80629         * gnulib-tool: Recognize new option --assume-autoconf.
80630         (autoconf_minversion): New variable.
80631         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
80632
80633 2006-07-20  Bruno Haible  <bruno@clisp.org>
80634
80635         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
80636
80637 2006-07-19  Derek R. Price  <derek@ximbiot.com>
80638
80639         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
80640         Reindent and repaginate.
80641
80642 2006-07-19  Derek Price  <derek@ximbiot.com>
80643
80644         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
80645         Correct grammar.
80646
80647 2006-07-17  Bruno Haible  <bruno@clisp.org>
80648
80649         * modules/list: New file.
80650         * modules/array-list: New file.
80651         * modules/carray-list, modules/carray-list-tests: New files.
80652         * modules/linked-list, modules/linked-list-tests: New files.
80653         * modules/avltree-list, modules/avltree-list-tests: New files.
80654         * modules/rbtree-list, modules/rbtree-list-tests: New files.
80655         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
80656         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
80657         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
80658         * modules/oset: New file.
80659         * modules/array-oset: New file.
80660         * modules/avltree-oset, modules/avltree-oset-tests: New files.
80661         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
80662         * tests/test-carray_list.c: New file.
80663         * tests/test-linked_list.c: New file.
80664         * tests/test-avltree_list.c: New file.
80665         * tests/test-rbtree_list.c: New file.
80666         * tests/test-linkedhash_list.c: New file.
80667         * tests/test-avltreehash_list.c: New file.
80668         * tests/test-rbtreehash_list.c: New file.
80669         * tests/test-avltree_oset.c: New file.
80670         * tests/test-rbtree_oset.c: New file.
80671         * MODULES.html.sh (Container data structures): New section.
80672
80673 2006-07-17  Bruno Haible  <bruno@clisp.org>
80674
80675         * m4/gl_list.m4: New file.
80676
80677 2006-07-17  Bruno Haible  <bruno@clisp.org>
80678
80679         * lib/gl_list.h: New file.
80680         * lib/gl_list.c: New file.
80681         * lib/gl_array_list.h: New file.
80682         * lib/gl_array_list.c: New file.
80683         * lib/gl_carray_list.h: New file.
80684         * lib/gl_carray_list.c: New file.
80685         * lib/gl_linked_list.h: New file.
80686         * lib/gl_linked_list.c: New file.
80687         * lib/gl_anylinked_list1.h: New file.
80688         * lib/gl_anylinked_list2.h: New file.
80689         * lib/gl_avltree_list.h: New file.
80690         * lib/gl_avltree_list.c: New file.
80691         * lib/gl_anyavltree_list1.h: New file.
80692         * lib/gl_anyavltree_list2.h: New file.
80693         * lib/gl_rbtree_list.h: New file.
80694         * lib/gl_rbtree_list.c: New file.
80695         * lib/gl_anyrbtree_list1.h: New file.
80696         * lib/gl_anyrbtree_list2.h: New file.
80697         * lib/gl_anytree_list1.h: New file.
80698         * lib/gl_anytree_list2.h: New file.
80699         * lib/gl_linkedhash_list.h: New file.
80700         * lib/gl_linkedhash_list.c: New file.
80701         * lib/gl_anyhash_list1.h: New file.
80702         * lib/gl_anyhash_list2.h: New file.
80703         * lib/gl_avltreehash_list.h: New file.
80704         * lib/gl_avltreehash_list.c: New file.
80705         * lib/gl_rbtreehash_list.h: New file.
80706         * lib/gl_rbtreehash_list.c: New file.
80707         * lib/gl_anytreehash_list1.h: New file.
80708         * lib/gl_anytreehash_list2.h: New file.
80709
80710         * lib/gl_oset.h: New file.
80711         * lib/gl_oset.c: New file.
80712         * lib/gl_array_oset.h: New file.
80713         * lib/gl_array_oset.c: New file.
80714         * lib/gl_avltree_oset.h: New file.
80715         * lib/gl_avltree_oset.c: New file.
80716         * lib/gl_rbtree_oset.h: New file.
80717         * lib/gl_rbtree_oset.c: New file.
80718         * lib/gl_anytree_oset.h: New file.
80719
80720 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80721
80722         * m4/mkancesdirs.m4: New file.
80723         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
80724         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
80725         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
80726         it.
80727
80728 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80729
80730         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
80731         * lib/mkancesdirs.h: New files.
80732         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
80733         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
80734         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
80735         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
80736         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
80737         callers changed.  Revamp internals significantly, by not
80738         attempting to create directories that are temporarily more
80739         permissive than the final results.  Do not attempt to use
80740         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
80741         This removes some race conditions, fixes some bugs, and simplifies
80742         things.  Use new dirchownmod function to do owner and mode changes.
80743         * lib/mkdir-p.h: Likewise.
80744         * lib/modechange.c (octal_to_mode): New function.
80745         (struct mode_change): New member mentioned.
80746         (make_node_op_equals): New arg mentioned.  All callers changed.
80747         (mode_compile): Keep track of which mode bits the user has explicitly
80748         mentioned.
80749         (mode_adjust): New arg DIR, so that we implement the X op correctly.
80750         New arg PMODE_BITS, to keep track of which mode bits the user
80751         mentioned; it treats S_ISUID and S_ISGID speciall.
80752         All callers changed.
80753         * lib/modechange.h: Likewise.
80754
80755 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80756
80757         * MODULES.html.sh: Add mkancestors.
80758         * modules/mkancesdirs: New module.
80759         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
80760         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
80761         The chdir-safer and afs files are now orphans; I'll remove them
80762         unless someone speaks up.
80763         Add lib/dirchownmod.c, lib/dirchownmod.h.
80764         (Depends-on): Remove alloca, chown, save-cwd, dirname.
80765         Add lchown, mkancesdirs.
80766         (Maintainer): Add self.
80767
80768 2006-07-15  Karl Berry  <karl@gnu.org>
80769
80770         * gnulib-tool: help message wording/arrangement.
80771
80772 2006-07-14  Simon Josefsson  <jas@extundo.com>
80773
80774         * doc/gnulib.texi (Libtool and Windows): New section.
80775
80776 2006-07-12  Simon Josefsson  <jas@extundo.com>
80777
80778         * modules/gendocs (License): Fix license, approved by Karl.
80779
80780 2006-07-12  Eric Blake  <ebb9@byu.net>
80781
80782         * MODULES.html.sh: Add gendocs.
80783
80784 2006-07-11  Eric Blake  <ebb9@byu.net>
80785
80786         * modules/fdl: New module, to install doc/fdl.texi.
80787         * MODULES.html.sh: Add new section for documentation modules.
80788         * gnulib-tool: Avoid space-tab.
80789         (--doc-base): New option, to manage files from doc.
80790
80791 2006-07-11  Eric Blake  <ebb9@byu.net>
80792
80793         * m4/absolute-header.m4: Fix comments to match recent change.
80794
80795 2006-07-11  Eric Blake  <ebb9@byu.net>
80796
80797         * gnulib-tool: List --doc-base before --tests-base.
80798
80799 2006-07-11  Derek R. Price  <derek@ximbiot.com>
80800
80801         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
80802
80803 2006-07-11  Bruno Haible  <bruno@clisp.org>
80804
80805         * README: Mention where to put documentation.
80806
80807 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80808
80809         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
80810
80811 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80812
80813         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
80814         to stdint.m4.
80815
80816 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80817
80818         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
80819         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
80820         "no/such/file/stdint.h" when there is no such file, so that
80821         the resulting C code can be parsed by dodgy compilers.
80822         Problems reported by Bob Proulx.
80823
80824 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80825
80826         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
80827         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80828         macros into the GNU _D_EXACT_NAMLEN.
80829         * lib/savedir.c:  Likewise.
80830         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
80831
80832 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80833         and Paul Eggert  <eggert@cs.ucla.edu>
80834
80835         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
80836         * m4/savedir.m4:
80837         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80838         macros into the GNU _D_EXACT_NAMLEN.
80839
80840 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80841
80842         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
80843         around the absolute name, to work around a problem with the HP-UX
80844         11.23 native C compiler, reported by Bob Proulx.
80845
80846 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80847
80848         * doc/maintain.texi, make-stds.texi: Sync from
80849         <http://savannah.gnu.org/projects/gnustandards>.
80850
80851 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80852
80853         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
80854
80855 2006-07-09  Jim Meyering  <jim@meyering.net>
80856
80857         * m4/glob.m4: Remove a doubled word in a comment.
80858
80859 2006-07-09  Jim Meyering  <jim@meyering.net>
80860
80861         * lib/argp-pv.c: Remove a doubled word in a comment.
80862         * lib/check-version.c (check_version): Likewise.
80863         * lib/javacomp.c (compile_java_class): Likewise.
80864
80865 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80866
80867         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
80868         for the benefit of people using Autoconf 2.60.  If you want to
80869         support older Autoconf versions you can copy m4/onceonly_2_57.m4
80870         (or m4/onceonly.m4, if pre-2.57) manually.
80871
80872 2006-07-08  Jim Meyering  <jim@meyering.net>
80873
80874         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
80875         comment.
80876         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
80877         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
80878         comment.
80879
80880 2006-07-08  Jim Meyering  <jim@meyering.net>
80881
80882         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
80883
80884 2006-07-07  Simon Josefsson  <jas@extundo.com>
80885
80886         * tests/test-crc.c: Change expected crc value, the test vector
80887         were probably computed using the old broken crc.c?
80888
80889 2006-07-06  Simon Josefsson  <jas@extundo.com>
80890
80891         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
80892         now the canonical place for the M4 file).
80893
80894         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
80895         from the sys_socket dependency now.
80896
80897         * modules/inet_pton (Files): Ditto.
80898
80899         * modules/inet_ntop (Files): Ditto.
80900
80901 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80902
80903         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
80904         not gl_PREREQ_GETUSERSHELL.
80905
80906 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80907
80908         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
80909         with only one argument, for Autoconf 2.60.
80910         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
80911         expand to nothing, so add a shell command to avoid syntax error.
80912         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
80913
80914 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80915
80916         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
80917
80918 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80919
80920         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
80921         no longer needed.  Check for isblank decl.
80922         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
80923         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
80924         of existence.
80925
80926 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80927
80928         * lib/getloadavg.c: Use __VMS, not VMS.
80929         * lib/getopt.c: Likewise.
80930         * lib/getpagesize.h: Likewise.
80931         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
80932         and probably does not work.
80933
80934 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80935
80936         * lib/.cppi-disable: Add wcwidth.
80937         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
80938         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
80939         (ISGRAPH): Remove.  All uses changed to isgraph.
80940         (FOLD) [!defined _LIBC]: Remove special case.
80941         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
80942         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
80943         HAVE_ISBLANK.
80944         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
80945         case.
80946
80947 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
80948
80949         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
80950         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
80951         brackets.  Other minor changes to suppress some compiler
80952         warnings.
80953
80954 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80955         and Paul Eggert  <eggert@cs.ucla.edu>
80956
80957         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
80958         of invoking obsolescent AC_HEADER_DIRENT macro.
80959         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
80960         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
80961         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
80962         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
80963         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
80964         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80965         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
80966         * m4/readdir.m4: Remove; no longer needed.
80967
80968 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80969         and Paul Eggert  <eggert@cs.ucla.edu>
80970
80971         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
80972         Don't worry about this obsolete case any more.
80973         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
80974         directories.
80975         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
80976         worry about this obsolete case any more.
80977         * lib/fts.c: Likewise.
80978         * lib/getcwd.c: Likewise.
80979         * lib/glob.h: Likewise.
80980         * lib/savedir.c: Likewise.
80981
80982 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80983
80984         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
80985         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
80986         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
80987         needed.
80988         All uses removed.
80989         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80990         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80991         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
80992         needed.
80993         * m4/getdate.m4 (gl_GETDATE): Likewise.
80994         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80995         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80996         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80997         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80998         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80999         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81000         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
81001         needed.
81002
81003 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
81004
81005         * lib/memcasecmp.c: Include <limits.h>.
81006         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
81007         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
81008         Don't assume isdigit succeeds only on '0' through '9'.
81009
81010 2006-07-05  Eric Blake  <ebb9@byu.net>
81011
81012         * modules/getaddrinfo (Depends-on): Add snprintf.
81013
81014 2006-07-05  Eric Blake  <ebb9@byu.net>
81015
81016         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
81017         to avoid 'header present but could not be compiled' on cygwin.
81018
81019 2006-07-05  Eric Blake  <ebb9@byu.net>
81020
81021         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
81022         missing from netdb.h.
81023         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
81024
81025 2006-07-05  Derek R. Price  <derek@ximbiot.com>
81026
81027         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
81028         no longer needed.
81029         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
81030         * m4/getdate.m4 (gl_GETDATE): Likewise.
81031         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
81032         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
81033         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
81034         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81035         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81036
81037 2006-07-05  Derek R. Price  <derek@ximbiot.com>
81038
81039         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
81040         All uses of is_space replaced by isspace.
81041         * lib/exit.h: Don't talk about STDC_HEADERS.
81042         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
81043         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
81044         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
81045         replaced by isprint etc.
81046         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
81047         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
81048         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
81049         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
81050         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
81051         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
81052
81053 2006-07-05  Bruno Haible  <bruno@clisp.org>
81054
81055         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
81056         the function exists, before testing against AIX.
81057         Reported by Martin Lambers <marlam@marlam.de>.
81058
81059 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
81060
81061         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
81062         From Mark D. Baushke.
81063
81064 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
81065
81066         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
81067         to the absolute name, not just one, to bypass Sun C 5.8's
81068         "warning: #include of /usr/include/... may be non-portable".
81069
81070 2006-07-04  Eric Blake  <ebb9@byu.net>
81071
81072         * modules/dirname-tests: New test module.
81073         * tests/test-dirname.c: New file, replacing dirname.c
81074         TEST_DIRNAME section that was recently deleted.
81075
81076 2006-07-04  Bruno Haible  <bruno@clisp.org>
81077
81078         Assume ANSI C header files and <ctype.h> functions.
81079         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
81080         (mbsnwidth): Use isprint, iscntrl instead.
81081
81082 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81083
81084         Merge from coreutils.
81085         * MODULES.html.sh: Add xstrtold.
81086         * modules/xstrtold: New file.
81087         * modules/cycle-check (Files): Add lib/same-inode.h.
81088         * modules/dirname (Files): Add m4/double-slash-root.m4.
81089         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
81090         * modules/mkdir-p (Files): Add lib/same-inode.h.
81091         * modules/same (Files): Add lib/same-inode.h.
81092
81093 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81094
81095         * m4/absolute-header.m4: Renamed from full-header-path.m4.
81096         This is to keep the terminology clean; POSIX talks about
81097         "absolute pathnames", not "full pathnames", but the GNU
81098         Coding Standards say to use "path" for something else;
81099         so use "absolute" to keep both sides happy.
81100         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
81101         Set gl_absolute_header, not gl_full_header_path.
81102         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
81103         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
81104         All uses changed.
81105
81106         Merge from coreutils.
81107
81108         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
81109
81110         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
81111         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
81112         want to require the building of c-strtod.o.
81113         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
81114         needs -lm directly.
81115         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
81116
81117         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81118
81119         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
81120         --as-needed option if available.  Problem reported by Albert Chin in
81121         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
81122         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
81123         cc merely issues a bunch of annoying warnings for --as-needed
81124         (this problem was reported by Bob Proulx).  Also, try linking with
81125         -lm to detect a bug in binutils 2.16 (this problem was reported
81126         by Ralf Wildenhues).
81127
81128         2006-06-18  Jim Meyering  <jim@meyering.net>
81129
81130         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
81131         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
81132         macro.
81133         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
81134         also check for glibc-2.4's abort-inducing bug.
81135
81136         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
81137         Low-probability clean-up should be to use rmdir to get rid of
81138         the just-created directory, not unlink.
81139
81140         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
81141         configure fail, and request a bug report to inform us about it.
81142         Add a comment that, barring reports to the contrary, in 2007 we'll
81143         assume ftruncate is universally available.
81144
81145         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
81146
81147         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
81148
81149         2006-03-12  Jim Meyering  <jim@meyering.net>
81150
81151         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
81152         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
81153         * m4/same.m4 (gl_SAME): Likewise.
81154         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
81155
81156         2006-03-11  Eric Blake  <ebb9@byu.net>
81157
81158         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
81159         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
81160         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
81161         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
81162
81163 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81164
81165         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
81166         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
81167         reported by Mark D. Baushke, one in
81168         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
81169
81170         Merge from coreutils.
81171
81172         * lib/.cppi-disable: Add stdint_.h.
81173         * lib/.cvsignore: Add stdint.h.
81174
81175         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
81176
81177         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
81178         both double and long double versions.
81179         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
81180         * lib/xstrtold.c: New file.
81181         * lib/xstrtod.h (xstrtold): New decl.
81182
81183         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
81184
81185         * lib/filemode.c (setst): Remove.
81186         (strmode): Rewrite to avoid setst.  This makes the code shorter,
81187         (arguably) clearer, and the generated code is a bit smaller on my
81188         Debian GNU/Linux stable x86 host.
81189
81190         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
81191
81192         * lib/filemode.c: Include "filemode.h" first, to test the interface.
81193         Assume that filemode.h includes sys/types.h and sys/stat.h.
81194         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
81195         (ftypelet): Reorder to put common cases first, for efficiency.
81196         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
81197         to do 'M'.
81198         (strmode): Renamed from mode_string, and now stores 12 bytes instead
81199         of 10, for compatibility with FreeBSD.  All callers changed.
81200         (filemodestring): Now stores 12 bytes instead of 10, and sets file
81201         types that can't be deduced solely from st_mode.  First arg is now a
81202         const pointer.
81203         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
81204         (strmode): Renamed from mode_string.
81205         (filemodestring): New decl.
81206         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
81207         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
81208         needed.
81209         (S_ISPORT, S_ISWHT): New macros, if not already defined.
81210
81211         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
81212
81213         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
81214         fsusage.h now does that.  Include fsusage.h first, to test interface.
81215         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
81216         at most one method (the old code could have generated decls that
81217         didn't conform to C89, not that this was ever exercised).
81218         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
81219
81220         2006-03-19  Jim Meyering  <jim@meyering.net>
81221
81222         Work even in a chroot where d_ino values for entries in "/"
81223         don't match the stat.st_ino values for the same names.
81224         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
81225         number, iterate through all entries again, using lstat instead.
81226         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
81227         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
81228
81229         * lib/getcwd.c (__getcwd): Clarify a comment.
81230         Use memcpy in place of a call to strcpy.
81231
81232         2006-03-12  Jim Meyering  <jim@meyering.net>
81233
81234         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
81235         matches that of the current directory (which we're about to chdir ".."
81236         out of), then save the dev-ino of the parent, instead.
81237
81238         * lib/same-inode.h (SAME_INODE): New file/macro.
81239         * lib/chdir-safer.c (SAME_INODE): Remove definition.
81240         Include "same-inode.h", instead.
81241         * lib/same.c: Likewise.
81242         * lib/cycle-check.h: Include "same-inode.h".
81243         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
81244         * lib/cycle-check.c (SAME_INODE): Remove definition.
81245         * lib/root-dev-ino.h: Include "same-inode.h".
81246
81247         2006-03-11  Eric Blake  <ebb9@byu.net>
81248
81249         * lib/same.c (same_name): s/base_name/last_component/
81250         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
81251         * lib/filenamecat.c (file_name_concat): Likewise.
81252
81253         2006-03-11  Eric Blake  <ebb9@byu.net>,
81254                     Paul Eggert  <eggert@cs.ucla.edu>
81255
81256         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
81257         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
81258         drive prefix.
81259         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
81260         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
81261         (last_component): New method.
81262         * lib/dirname.c (dir_len): Determine when drive letters need a
81263         subsequent slash.  Preserve // when it is special.
81264         (dir_name): Don't append dot when drive letter is absolute.
81265         [TEST_DIRNAME]: Move into a full-blown gnulib test.
81266         * lib/basename.c (base_name): New semantics - malloc the result.
81267         Preserve // when it is special.  Preserve relative files that look
81268         like drive letters.
81269         (base_len): Preserve // when it is special.
81270         (last_component): New method, similar to old base_name semantics.
81271         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
81272         base_name.  Strip redundant slashes from ///.
81273
81274 2006-07-03  Jim Meyering  <jim@meyering.net>
81275
81276         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
81277         macro is used before the first cycle_check call.
81278
81279 2006-07-03  Eric Blake  <ebb9@byu.net>
81280
81281         * modules/dirname (Depends-on): Add xstrndup.
81282
81283 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
81284
81285         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
81286         test cases, so that config.log is a bit easier to follow.
81287
81288 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
81289
81290         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
81291         both are 64 bits, since this seems to be the tradition, and this
81292         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
81293         we ever run into a host that prefers long long to long in this
81294         case, we'll need another configure-time test.  Problem reported by
81295         Jim Meyering.
81296
81297 2006-07-02  Eric Blake  <ebb9@byu.net>
81298
81299         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
81300
81301 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81302
81303         * modules/inttypes (Depends-on): No longer depends on stdint.
81304         * modules/stdint (Description): Say more about assumptions.
81305         Say that the fast types might differ.  Say macros are used.
81306         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
81307         (Makefile.am): Revise list of substituted symbols to match
81308         new stdint.m4.
81309         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
81310         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
81311         * tests/test-stdint.c (verify_same_types)
81312         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
81313         the code conforms to C99/C89.
81314         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
81315         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
81316
81317 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81318
81319         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
81320         but fix a bug, by requiring at least 64 bits.
81321         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
81322         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
81323         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
81324         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
81325
81326         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
81327         changes.  Make 2.59 a prerequisite.  Check and substitute for
81328         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
81329         inttypes.h.  Do not use special include files; just use the
81330         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
81331         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
81332         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
81333         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
81334         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
81335         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
81336         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
81337         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
81338         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
81339         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
81340         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
81341         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
81342         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
81343         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
81344         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
81345         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
81346         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
81347         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
81348         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
81349         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
81350         WINT_MAX.  Check for C99 conformance more strictly, by detecting
81351         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
81352         not check for things that C99 does not require, e.g., int8_t.  If
81353         a test isn't needed unless <stdint.h> isn't working, and is
81354         unlikely to be needed for any other reason, then don't do it
81355         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
81356         size_t, since we assume C89 freestanding at least.  Do not check
81357         for sig_atomic_t, wchar_t, or wint_t, since the code now does
81358         the right thing even if the types are not defined.  Instead use:
81359         (gl_STDINT_TYPE_PROPERTIES): New macro.
81360         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
81361         testing whether <sys/types.h> clashes, as Autoconf does this for
81362         us now.  All uses removed.
81363         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
81364         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
81365         (gl_CHECK_TYPE_SAME):
81366         Remove; no longer needed.
81367         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
81368         exists, since we'll return 0 anyway in that case.
81369         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
81370
81371 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81372
81373         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
81374         possible collision with system files.
81375         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
81376         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
81377         WCHAR_MIN and WCHAR_MAX in this case.
81378         (<stddef.h>): Do not include; no longer needed.
81379         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
81380         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
81381         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
81382         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
81383         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
81384         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
81385         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
81386         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
81387         !defined(__c99))]: Include in this case too, since it's harmless
81388         now.
81389         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
81390         dangerous to do so.
81391         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
81392         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
81393         (_STDINT_MIN, _STDINT_MAX): New macros.
81394         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
81395         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
81396         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
81397         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
81398         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
81399         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
81400         macros, not typedefs; this simplifies things quite a bit.
81401         Use long int for all types narrower than int64_t.
81402         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
81403         Define in terms of long long int or int64_t or long int,
81404         not int64_t or int32_t.  This saves some compile-time testing.
81405         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
81406         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
81407         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
81408         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
81409         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
81410         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
81411         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
81412         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
81413         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
81414         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
81415         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81416         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81417         undef any previous version and define our own version, for
81418         simplicity and consistency with the new macros for types.
81419         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81420         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81421         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
81422         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
81423         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
81424         @WINT_T_SUFFIX@ to keep things simple here.
81425         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
81426         Simplify by assuming typical 8/16/32/64 host, since we're
81427         already doing that elsewhere anyway.
81428         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
81429         and assume long long int is 64 bits if available.  This
81430         speeds up 'configure'.
81431
81432 2006-07-01  Eric Blake  <ebb9@byu.net>
81433
81434         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
81435         Reported by Andreas Buening.
81436
81437 2006-07-01  Eric Blake  <ebb9@byu.net>
81438
81439         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
81440
81441 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
81442
81443         * lib/getaddrinfo.c: fixed typo
81444
81445 2006-06-29  Jim Meyering  <jim@meyering.net>
81446
81447         * modules/strftime (Maintainer): Add my name, since with the
81448         FPRINTFTIME changes strftime.c has forked from glibc.
81449
81450 2006-06-29  Eric Blake  <ebb9@byu.net>
81451
81452         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
81453
81454 2006-06-29  Eric Blake  <ebb9@byu.net>
81455
81456         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
81457
81458 2006-06-29  Eric Blake  <ebb9@byu.net>
81459
81460         * lib/stat_.h: New file.
81461
81462 2006-06-29  Eric Blake  <ebb9@byu.net>
81463
81464         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
81465         unused static function.
81466
81467 2006-06-29  Eric Blake  <ebb9@byu.net>
81468
81469         * doc/functions.texi (Function Portability): Document missing lstat
81470         on mingw.
81471
81472 2006-06-29  Eric Blake  <ebb9@byu.net>
81473
81474         * MODULES.html.sh: Add sys_stat.
81475         * modules/sys_stat: New module.
81476         * modules/mkstemp (Depends-on): Add sys_stat.
81477
81478 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81479
81480         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
81481
81482 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81483
81484         * m4/c-bs-a.m4: Removed.
81485
81486 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81487
81488         * lib/strftime.c: Assume strftime() exists.
81489
81490 2006-06-29  Derek Price  <derek@ximbiot.com>
81491
81492         * modules/c-bs-a: Removed - \a is C89.
81493         * MODULES.html.sh: Remove c-bs-a.
81494
81495 2006-06-29  Bruno Haible  <bruno@clisp.org>
81496
81497         * modules/wcwidth (License): Change to LGPL.
81498
81499 2006-06-28  Simon Josefsson  <jas@extundo.com>
81500
81501         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
81502         on _WIN32.
81503
81504         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
81505         getnameinfo.
81506
81507 2006-06-28  Simon Josefsson  <jas@extundo.com>
81508
81509         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
81510
81511 2006-06-28  Simon Josefsson  <jas@extundo.com>
81512
81513         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
81514         functions there.  It will succeed on Windows XP, but on Windows
81515         2000 and (presumably) earlier, it will fail, and use the internal
81516         re-implementation.
81517         (use_win32_p): New function.
81518         (getaddrinfo): Use strtoul on servname, to support numeric ports.
81519         Support AI_NUMERICSERV to disable getservbyname.
81520         (getnameinfo): New function, only supports
81521         NI_NUMERICHOST|NI_NUMERICSERV for now.
81522
81523         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
81524         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
81525         getnameinfo.
81526
81527 2006-06-28  Eric Blake  <ebb9@byu.net>
81528
81529         * modules/wcwidth: New file.
81530         * modules/mbchar (Depends-on): Add wcwidth.
81531         * modules/mbswidth (Depends-on): Add wcwidth.
81532         * MODULES.html.sh: Add wcwidth.
81533
81534 2006-06-28  Eric Blake  <ebb9@byu.net>
81535
81536         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
81537         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
81538
81539 2006-06-28  Eric Blake  <ebb9@byu.net>
81540
81541         * lib/xvasprintf.h: Fix comments.
81542
81543 2006-06-28  Eric Blake  <ebb9@byu.net>
81544
81545         * lib/mbchar.h (wcwidth): Include wcwidth.h.
81546         * lib/mbswidth.c (wcwidth): Move from here...
81547         * lib/wcwidth.h: ...to this new file.
81548
81549 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81550
81551         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
81552
81553         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
81554         it's obsolete.
81555         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
81556
81557 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81558
81559         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
81560         Autoconf 2.60 says this stuff was obsolete.
81561
81562 2006-06-28  Bruno Haible  <bruno@clisp.org>
81563
81564         * modules/wcwidth (Files): Add m4/wchar_t.m4.
81565
81566 2006-06-28  Bruno Haible  <bruno@clisp.org>
81567
81568         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
81569         gt_TYPE_WCHAR_T.
81570
81571 2006-06-28  Bruno Haible  <bruno@clisp.org>
81572
81573         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
81574         declaration for wcwidth.
81575         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
81576
81577 2006-06-28  Bruno Haible  <bruno@clisp.org>
81578
81579         * lib/mkdtemp.c [MINGW]: Include <io.h>.
81580         (mkdir): Define using _mkdir.
81581
81582 2006-06-28  Bruno Haible  <bruno@clisp.org>
81583
81584         * lib/getaddrinfo.h: Fix POSIX URL.
81585         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
81586         _WIN32.
81587         (use_win32_p): Make static.
81588         (getaddrinfo): Reject service name if it is empty or does not consist
81589         solely of decimal digits, or if its value is > 65535.
81590         (getnameinfo): Remove useless casts.
81591
81592 2006-06-27  Simon Josefsson  <jas@extundo.com>
81593
81594         * modules/sys_select: New file, suggested by Bruno Haible, Paul
81595         Eggert and Martin Lambers.
81596
81597 2006-06-27  Simon Josefsson  <jas@extundo.com>
81598
81599         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
81600         Eggert and Martin Lambers.
81601
81602 2006-06-27  Bruno Haible  <bruno@clisp.org>
81603
81604         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
81605         result to 0, not to empty.
81606         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
81607
81608 2006-06-27  Bruno Haible  <bruno@clisp.org>
81609
81610         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
81611
81612 2006-06-26  Simon Josefsson  <jas@extundo.com>
81613
81614         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
81615         present.
81616
81617 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
81618
81619         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
81620         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
81621         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
81622
81623 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
81624
81625         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
81626
81627 2006-06-26  Bruno Haible  <bruno@clisp.org>
81628
81629         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
81630
81631 2006-06-26  Bruno Haible  <bruno@clisp.org>
81632
81633         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
81634
81635 2006-06-26  Bruno Haible  <bruno@clisp.org>
81636
81637         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
81638         SGI C compiler in pre-C99 mode.
81639         Suggested by Mark D. Baushke and Larry Jones.
81640
81641 2006-06-26  Bruno Haible  <bruno@clisp.org>
81642
81643         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
81644         WCHAR_MAX.
81645         Reported by Mark D. Baushke and Larry Jones.
81646
81647 2006-06-26  Bruno Haible  <bruno@clisp.org>
81648
81649         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
81650         in pre-C99 mode.
81651         Suggested by Mark D. Baushke and Larry Jones.
81652
81653 2006-06-23  Simon Josefsson  <jas@extundo.com>
81654             Bruno Haible  <bruno@clisp.org>
81655
81656         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
81657         Emit mostlyclean-local rule.
81658         (func_emit_tests_Makefile_am): Likewise.
81659         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
81660
81661 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
81662
81663         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
81664
81665 2006-06-23  Bruno Haible  <bruno@clisp.org>
81666
81667         * tests/test-stdint.c: Update to match ISO C 99 Technical
81668         Corrigendum 1.
81669
81670 2006-06-23  Bruno Haible  <bruno@clisp.org>
81671
81672         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
81673
81674 2006-06-23  Bruno Haible  <bruno@clisp.org>
81675
81676         * lib/stdint_.h: Treat IRIX like OpenBSD.
81677
81678 2006-06-23  Bruno Haible  <bruno@clisp.org>
81679
81680         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
81681         ISO C 99 Technical Corrigendum 1.
81682
81683 2006-06-22  Simon Josefsson  <jas@extundo.com>
81684
81685         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
81686         MinGW.
81687
81688 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81689
81690         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
81691         needed.  Some compiler complained about some of them.  Problem reported
81692         by Larry Jones in
81693         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
81694
81695 2006-06-21  Simon Josefsson  <jas@extundo.com>
81696
81697         * tests/test-getaddrinfo.c: New file.
81698
81699         * modules/getaddrinfo-tests: New file.
81700
81701         * MODULES.html.sh: Add inet_pton.
81702
81703         * modules/inet_pton: New file.
81704
81705 2006-06-21  Simon Josefsson  <jas@extundo.com>
81706
81707         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
81708         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
81709         of using the (limited) gnulib implementation on Windows XP.
81710
81711         * m4/inet_pton.m4: New file.
81712
81713 2006-06-21  Simon Josefsson  <jas@extundo.com>
81714
81715         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
81716         variable.
81717
81718         * lib/socket_.h: Don't define WINVER.
81719
81720         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
81721         slightly modified to work in gnulib.
81722
81723 2006-06-21  Simon Josefsson  <jas@extundo.com>
81724
81725         * doc/gnulib.texi (Windows sockets): Add.
81726
81727 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
81728
81729         * lib/read-file.c (fread_file): Start with buffer allocation of
81730         0 bytes rather than 1 byte; this simplifies the code.
81731         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
81732         code to free buffer and save/restore errno.
81733         (internal_read_file): Remove unused local.
81734
81735 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
81736
81737         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
81738         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
81739         Problem reported by Denis Excoffier in
81740         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
81741
81742 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81743
81744         * modules/sys_socket, modules/socklen: Include sys/types since
81745         FreeBSD 4.x's sys/socket.h needs it.
81746
81747 2006-06-19  Simon Josefsson  <jas@extundo.com>
81748
81749         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
81750
81751 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81752
81753         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
81754
81755 2006-06-19  Bruno Haible  <bruno@clisp.org>
81756
81757         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
81758         and FULL_PATH_INTTYPES_H in angle brackets.
81759         Reported by Mark D. Baushke <mdb@gnu.org>.
81760
81761 2006-06-17  Eric Blake  <ebb9@byu.net>
81762
81763         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
81764         errno.
81765
81766 2006-06-17  Bruno Haible  <bruno@clisp.org>
81767
81768         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
81769         <sys/inttypes.h>.
81770
81771 2006-06-17  Bruno Haible  <bruno@clisp.org>
81772
81773         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
81774         whether errno is declared. Assume <errno.h> declares errno.
81775
81776 2006-06-17  Bruno Haible  <bruno@clisp.org>
81777
81778         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
81779
81780 2006-06-17  Bruno Haible  <bruno@clisp.org>
81781
81782         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
81783         problem on Solaris 2.5.1.
81784
81785 2006-06-16  Eric Blake  <ebb9@byu.net>
81786
81787         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
81788         * lib/unicodeio.c [!defined errno]: Likewise.
81789         * lib/strtol.c [!defined errno]: Likewise.
81790         * lib/strtod.c [!defined errno]: Likewise.
81791
81792 2006-06-15  Eric Blake  <ebb9@byu.net>
81793
81794         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
81795
81796 2006-06-15  Eric Blake  <ebb9@byu.net>
81797
81798         * config/srclist.txt (ssize_t.m4): Lose sync.
81799
81800 2006-06-15  Bruno Haible  <bruno@clisp.org>
81801
81802         * modules/stdint (Files): Include m4/full-header-path.m4,
81803         m4/size_max.m4, m4/wchar_t.m4.
81804         (Makefile.am): Many more substitutions.
81805         * modules/stdint-tests: New file.
81806         * tests/test-stdint.c: New file.
81807
81808 2006-06-15  Bruno Haible  <bruno@clisp.org>
81809
81810         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
81811         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
81812         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
81813         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
81814         gl_CHECK_TYPE_SAME): New macros.
81815
81816 2006-06-15  Bruno Haible  <bruno@clisp.org>
81817
81818         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
81819
81820 2006-06-15  Bruno Haible  <bruno@clisp.org>
81821
81822         * lib/stdint_.h: Rewritten to be fully auto-configured.
81823         Fixes bug on HP-UX/IA64.
81824
81825 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
81826
81827         * lib/getdate.y (__attribute__): Don't define if already defined.
81828         Problem reported by Larry Jones.
81829         * lib/utimens.c (__attribute__): Likewise.
81830
81831 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
81832
81833         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
81834         reported by Andreas Schwab.
81835
81836 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81837             Bruno Haible  <bruno@clisp.org>
81838
81839         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
81840         check for the declaration of strnlen and a run test that exposes the
81841         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
81842         rpl_strndup.
81843
81844 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81845             Bruno Haible  <bruno@clisp.org>
81846
81847         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
81848
81849 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81850
81851         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
81852         compile test, for Tru64 4.0D.
81853
81854 2006-05-28  Karl Berry  <karl@gnu.org>
81855
81856         * config/srclist.txt (printf-args.c): lose sync.
81857
81858 2006-05-26  Martin Lambers  <marlam@marlam.de>
81859
81860         * lib/getpass.c: Updates the test for the native W32 API, and adds
81861         missing includes, thus fixing compilation warnings.
81862
81863 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
81864
81865         * lib/exclude.c (exclude_fnmatch): New function.
81866         (excluded_file_name): Call exclude_fnmatch.
81867         * lib/exclude.h (excluded_file_name): New prototype
81868
81869 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
81870
81871         * lib/tempname.c (small_open, large_open): New macros.
81872         (__open, __open64) [!_LIBC]: Remove.
81873         (__gen_tempname): Use small_open and large_open instead of __open
81874         and __open64.  This fixes a portability bug on HP-UX 11.11i
81875         reported by Simon Wing-Tang in
81876         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
81877
81878 2006-05-24  Bruno Haible  <bruno@clisp.org>
81879
81880         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
81881         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
81882         Reported by Thorsten Maerz <torte@netztorte.de> via
81883         Aaron Stone <aaron@serendipity.cx>.
81884
81885 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81886
81887         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
81888         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
81889         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
81890         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
81891         not really conditional on the cache.
81892         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
81893
81894 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81895
81896         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
81897         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
81898         (my_usleep): Don't mishandle maximum value.
81899
81900 2006-05-19  Jim Meyering  <jim@meyering.net>
81901
81902         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
81903
81904 2006-05-17  Bruno Haible  <bruno@clisp.org>
81905
81906         Cygwin portability.
81907         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
81908
81909 2006-05-17  Bruno Haible  <bruno@clisp.org>
81910
81911         * lib/stdint_.h: Fix recognition of Cygwin.
81912
81913 2006-05-15  Bruno Haible  <bruno@clisp.org>
81914
81915         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
81916         on libtool patch by Ralf Wildenhues.
81917
81918 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81919
81920         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
81921         test for C99 conformance; (bool) 0.5 is an integer constant
81922         expression, but (bool) -0.5 is not.  Problem reported by Fedor
81923         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
81924
81925 2006-05-11  Simon Josefsson  <jas@extundo.com>
81926
81927         * m4/xvasprintf.m4: Fix obvious typo.
81928
81929 2006-05-11  Jim Meyering  <jim@meyering.net>
81930
81931         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
81932         James Lemley.
81933
81934 2006-05-10  Simon Josefsson  <jas@extundo.com>
81935
81936         * lib/md4.c: Typo fix, update copyright years.
81937         (K1, K2): Don't use L because it turn computations into 64-bit on
81938         64-bit platforms.
81939
81940 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
81941
81942         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
81943         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
81944         unwanted sign propagation, e.g., on hosts with 64-bit int.
81945         There still are some problems with reeelly weird theoretical hosts
81946         (e.g., 33-bit int) but it's not worth worrying about now.
81947         * lib/sha1.c (rol): Likewise.
81948         (K1, K2, K3, K4): Remove unnecessary L suffix.
81949
81950 2006-05-10  Bruno Haible  <bruno@clisp.org>
81951
81952         * lib/des.c: Cast to avoid warnings.
81953
81954 2006-05-09  Bruno Haible  <bruno@clisp.org>
81955
81956         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
81957         (Depends-on): Depend also on xsize, stdarg.
81958         (configure.ac): Add gl_XVASPRINTF.
81959
81960 2006-05-09  Bruno Haible  <bruno@clisp.org>
81961
81962         * m4/xvasprintf.m4: New file.
81963
81964 2006-05-09  Bruno Haible  <bruno@clisp.org>
81965
81966         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
81967         (EOVERFLOW): Define fallback value.
81968         (xstrcat): New function.
81969         (xvasprintf): Recognize the special case of a string concatenation.
81970
81971 2006-05-08  Eric Blake  <ebb9@byu.net>
81972
81973         * gnulib-tool (func_version): Base copyright year on CVS date.
81974         (func_emit_copyright_notice): New function.
81975         (func_emit_lib_Makefile_am): Use it.
81976         (func_emit_tests_Makefile_am): Likewise.
81977         (func_import): Likewise.
81978
81979 2006-05-08  Bruno Haible  <bruno@clisp.org>
81980
81981         * modules/stdarg: New file.
81982         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
81983
81984 2006-05-08  Bruno Haible  <bruno@clisp.org>
81985
81986         * m4/stdarg.m4: New file, from GNU gettext.
81987
81988 2006-05-08  Bruno Haible  <bruno@clisp.org>
81989
81990         * config/srclist.txt (build-aux/config.rpath): different from latest
81991         release.
81992
81993 2006-05-08  Bruno Haible  <bruno@clisp.org>
81994
81995         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
81996
81997 2006-05-05  Jim Meyering  <jim@meyering.net>
81998
81999         * m4/warning.m4: New file, derived from bison's file by the same name.
82000
82001 2006-05-03  Bruno Haible  <bruno@clisp.org>
82002
82003         * lib/stdint_.h: Shorter URL.
82004         * lib/inttypes.h: Likewise.
82005
82006 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82007
82008         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
82009
82010 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82011
82012         * lib/verify.h: Document the internals better.  Most of this change
82013         was written by Bruno Haible.
82014
82015 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82016
82017         * doc/verify.texi: New file, partly based on a proposal by
82018         Bruno Haible.
82019
82020 2006-05-02  Bruno Haible  <bruno@clisp.org>
82021
82022         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
82023         test from here...
82024         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
82025
82026 2006-04-29  Bruno Haible  <bruno@clisp.org>
82027
82028         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
82029         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
82030
82031 2006-04-29  Bruno Haible  <bruno@clisp.org>
82032
82033         * gnulib-tool: Make --update option actually work.
82034
82035 2006-04-29  Bruno Haible  <bruno@clisp.org>
82036
82037         * doc/gcd.texi: New file.
82038         * doc/gnulib.texi: Include it.
82039
82040 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
82041
82042         * lib/getdate.y (get_date): When adding relative date, start with the
82043         initial time, not with the result of the first mktime call.
82044
82045 2006-04-25  Bruno Haible  <bruno@clisp.org>
82046
82047         * gnulib-tool (func_import): Output the include directives in three
82048         blocks, sorted separately.
82049         Reported by Ben Pfaff <blp@cs.stanford.edu>.
82050
82051 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
82052
82053         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
82054         to define main with arguments, for C++.  Reported by Eric Blake.
82055         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
82056         Prefer 'int main ()' to 'int main (void)', for C++.
82057         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
82058         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
82059         for 'main', for C99 and C++.
82060
82061 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
82062
82063         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
82064         Don't assume that exit status -1 is valid.
82065         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82066         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
82067         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
82068         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
82069         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
82070         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
82071         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
82072         functions can be used without declaring them, or that you can
82073         exit with status -1.
82074         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
82075
82076 2006-04-24  Karl Berry  <karl@gnu.org>
82077
82078         * config/srclist.txt (longdouble.m4): sync lost.
82079
82080 2006-04-24  Eric Blake  <ebb9@byu.net>
82081
82082         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
82083
82084 2006-04-24  Bruno Haible  <bruno@clisp.org>
82085
82086         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
82087         poll() implementation in AIX.
82088         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82089
82090 2006-04-24  Bruno Haible  <bruno@clisp.org>
82091
82092         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
82093         assigned exactly once.
82094
82095 2006-04-23  Claudio Fontana  <claudio@gnu.org>
82096             Bruno Haible  <bruno@clisp.org>
82097
82098         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
82099         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
82100         for AM_CPPFLAGS.
82101
82102 2006-04-23  Bruno Haible  <bruno@clisp.org>
82103
82104         * modules/copy-file: Depend on unistd.
82105         * modules/execute: Likewise.
82106         * modules/fatal-signal: Likewise.
82107         * modules/findprog: Likewise.
82108         * modules/mkdtemp : Likewise.
82109         * modules/pipe: Likewise.
82110         * modules/wait-process: Likewise.
82111
82112 2006-04-23  Bruno Haible  <bruno@clisp.org>
82113
82114         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
82115         condition was already detected.
82116         Reported by Ben Pfaff <blp@cs.stanford.edu>.
82117
82118 2006-04-23  Bruno Haible  <bruno@clisp.org>
82119
82120         * lib/copy-file.c: Include <unistd.h> unconditionally.
82121         * lib/execute.c: Likewise.
82122         * lib/fatal-signal.c: Likewise.
82123         * lib/findprog.c: Likewise.
82124         * lib/mkdtemp.c: Likewise.
82125         * lib/pipe.h: Likewise.
82126         * lib/pipe.c: Likewise.
82127         * lib/wait-process.h: Likewise.
82128
82129 2006-04-23  Bruno Haible  <bruno@clisp.org>
82130
82131         * gnulib-tool (func_usage): Fix --import description. Document
82132         --update.
82133         (func_import): Create temporary file in a temporary directory, if
82134         --dry-run is specified. Silence errors from 'grep' when there are no
82135         m4 files in $m4dir.
82136         (func_create_testdir): Silence errors from 'grep' when there are no
82137         m4 files in $m4dir.
82138         Reported by Karl Berry <karl@freefriends.org>.
82139
82140 2006-04-20  Bruno Haible  <bruno@clisp.org>
82141
82142         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
82143         one argument, so that the code will be portable to Autoconf 2.60.
82144         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
82145         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
82146         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
82147
82148 2006-04-19  Derek Price  <derek@ximbiot.com>
82149             Eric Blake  <ebb9@byu.net>
82150
82151         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
82152         rather than "/full/path.h".  Update comment to match.  Shorten &
82153         generalize m4_translit call via AS_TR_CPP.
82154
82155 2006-04-19  Derek Price  <derek@ximbiot.com>
82156             Eric Blake  <ebb9@byu.net>
82157
82158         * lib/inttypes.h: Correct grammar in comment.
82159
82160 2006-04-18  Derek Price  <derek@ximbiot.com>
82161             Paul Eggert  <eggert@cs.ucla.edu>
82162
82163         * modules/inttypes: New file.
82164         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
82165
82166 2006-04-18  Derek Price  <derek@ximbiot.com>
82167             Paul Eggert  <eggert@cs.ucla.edu>
82168
82169         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
82170         New files.
82171
82172 2006-04-18  Derek Price  <derek@ximbiot.com>
82173             Paul Eggert  <eggert@cs.ucla.edu>
82174
82175         * lib/inttypes.h: New file.
82176         * lib/strtoimax.c: Assume <inttypes.h>.
82177
82178 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
82179
82180         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
82181         isn't mounted.  Problem reported by Kir Kolyshkin.
82182
82183 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
82184
82185         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
82186         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
82187         Derek R. Price.
82188         * lib/regex.h (RE_DUP_MAX): Update comment to match current
82189         implementation.
82190
82191 2006-04-12  Eric Blake  <ebb9@byu.net>
82192
82193         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
82194         is now done automatically by the corresponding Autoconf macro.
82195
82196 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
82197
82198         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
82199         time_r.h.
82200
82201 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82202
82203         Merge regex changes from libc, removing some of our
82204         POSIX-conformance changes that were rejected and redoing them in a
82205         less-intrusive way.
82206
82207         * lib/regcomp.c (re_compile_internal, init_dfa):
82208         Length arg is now size_t, not Idx.  All uses changed.
82209         (peek_token): Forward decl now says internal_function.
82210         (__re_error_msgid, __re_error_msgid_idx):
82211         Now static rather than extern with attribute_hidden.
82212         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
82213         For some reason libc prefers K&R style defns for external functions.
82214         (regerror) [!defined _LIBC]: Likewise.
82215         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
82216         (seek_collating_symbol_entry, lookup_collation_sequence_value):
82217         (build_range_exp, build_collating_symbol):
82218         Use K&R-style defn.
82219         (re_compile_fastmap): Use '\0' to memset, not 0.
82220         (utf8_sb_map): Make the calculations more obvious.
82221         (init_dfa, parse_bracket_exp, build_charclass_op):
82222         Call calloc and cast result, as glibc does.
82223         (init_word_char, fetch_token, peek_token, peek_token_bracket):
82224         (build_range_exp, build_collating_symbol):
82225         Now internal functions.
82226
82227         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
82228
82229         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
82230         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
82231         Don't depend on VMS; depend on __VMS instead, for POSIX
82232         namespace cleanness.
82233         (regoff_t): Define to ssize_t, not long int.
82234
82235         Remove the REG_ macros named below.  Instead, make the old names
82236         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
82237         __USE_GNU_REGEX.
82238         (REG_BACKSLASH_ESCAPE_IN_LISTS):
82239         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
82240         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
82241         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
82242         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
82243         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
82244         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
82245         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
82246         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
82247         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
82248         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
82249         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
82250         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
82251         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
82252         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
82253         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
82254         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
82255         (REG_NREGS):
82256         Remove.  All uses replaced by the old RE_* names.
82257         (RE_BACKSLASH_ESCAPE_IN_LISTS):
82258         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
82259         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
82260         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
82261         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
82262         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
82263         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
82264         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
82265         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
82266         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
82267         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
82268         Don't bother having these macros be independent of each others'
82269         values, since they no longer exist in the POSIX name space.
82270
82271         Rename the following member names back to their old names,
82272         unless !__USE_GNU_REGEX.  All uses changed back.
82273         (buffer): Renamed from re_buffer.
82274         (allocated): Renamed from re_allocated.
82275         (used): Renamed from re_used.
82276         (syntax): Renamed from re_syntax.
82277         (fastmap): Renamed from re_fastmap.
82278         (translate): Renamed from re_translate.
82279         (can_be_null): Renamed from re_can_be_null.
82280         (regs_allocated): Renamed from re_regs_allocated.
82281         (fastmap_accurate): Renamed from re_fastmap_accurate.
82282         (no_sub): Renamed from re_no_sub.
82283         (not_bol): Renamed from re_not_bol.
82284         (not_eol): Renamed from re_not_eol.
82285         (newline_anchor): Renamed from re_newline_anchor.
82286         (num_regs): Renamed from rm_num_regs.
82287         (start): Renamed from rm_start.
82288         (end): Renamed from rm_end.
82289
82290         (free_state): Move up a bit.
82291
82292         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
82293         #define to be empty.
82294         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
82295         when that is what is intended.
82296         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
82297         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
82298         (MAX): New macro.
82299         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
82300         All uses changed back to re_malloc, etc.  It's now the caller's
82301         responsibility to check for overflow; all callers changed.
82302         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
82303         (re_x2nrealloc): Remove.
82304         (free_state): Remove decl.
82305
82306         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
82307         (re_set_registers, re_exec):
82308         Use K&R-style defn.
82309
82310         2006-01-31  Roland McGrath  <roland@redhat.com>
82311
82312         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
82313         Reported by Mike Frysinger <vapier@gentoo.org>.
82314
82315         2006-01-15  Andreas Jaeger  <aj@suse.de>
82316
82317         [BZ #1950]
82318         * lib/regex_internal.c (re_string_reconstruct): Adjust for
82319         build_wcs_upper_buffer change.
82320         (build_wcs_upper_buffer): Change return type.
82321
82322         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
82323
82324         * lib/regex_internal.h: Include <stdint.h> if available.
82325
82326         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
82327
82328         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
82329
82330         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
82331
82332         * lib/regcomp.c: Adjust for changed secondary hash function.
82333
82334         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
82335
82336         * lib/regex.h: Pretty printing.
82337         Clean up namespace a bit.
82338
82339         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
82340
82341         * lib/regexec.c (update_cur_sifted_state, check_arrival,
82342         check_arrival_add_next_nodes): Avoid using uninitialized variable.
82343
82344         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82345                     Ulrich Drepper  <drepper@redhat.com>
82346
82347         [BZ #1302]
82348         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
82349         changed.
82350         (bitset_word_t): Renamed from bitset_word.  All uses changed.
82351
82352         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
82353
82354         [BZ #281]
82355         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
82356         * lib/regcomp.c: Remove unnecessary uses of
82357         unsigned RE_TRANSLATE_TYPE.
82358         * lib/regex_internal.h: Likewise.
82359         * lib/regex_internal.c: Likewise.
82360         * lib/regexec.c: Likewise.
82361         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
82362
82363         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
82364
82365         * lib/regexec.c (find_recover_state): Remove unnecessary
82366         initialization.
82367         (transit_state_bkref): Make DFA a const pointer.
82368         (get_subexp): Likewise.
82369         (check_arrival): Likewise.
82370         (update_cur_sifted_state): Likewise.
82371         (re_search_internal): Likewise.
82372         (prune_impossible_nodes): Likewise.
82373         (acquire_init_state_context): Likewise.
82374         (proceed_next_node): Likewise.
82375         (set_regs): Likewise.
82376         (free_fail_stack_return): Likewise.
82377         (check_arrival_expand_ecl): Mark DFA parameter as const.
82378         (check_arrival_expand_ecl_sub): Likewise.
82379         (check_subexp_limits): Likewise.
82380         (sub_epsilon_src_nodes):  Likewise.
82381         (add_epsilon_src_nodes):  Likewise.
82382         (merge_state_array): Likewise.
82383         (update_regs): Likewise.
82384         (build_trtable): Likewise.
82385         (sift_states_backward): Mark MCTX parameter as const.
82386         (build_sifted_states): Likewise.
82387         (update_cur_sifted_state): Likewise.
82388         (sift_states_mkref): Likewise.
82389         (check_arrival_expand_ecl): Mark eclosure as const.
82390         (check_dst_limits_calc_pos_1): Likewise.
82391         * lib/regex_internal.h (re_match_context_t): Make dfa a const
82392         pointer.
82393
82394         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
82395
82396         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
82397         (transit_state_sb): Likewise.
82398         (transit_state_mb): Likewise.
82399         (sift_states_iter_mb): Likewise.
82400         (check_arrival_add_next_nodes): Likewise.
82401         (check_node_accept_bytes): Change first parameter to pointer-to-const.
82402         [_LIBC] (re_search_2_stub): Use mempcpy.
82403
82404         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
82405         mbrtowc for very simple UTF-8 case.
82406
82407         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
82408         a pointer-to-const.
82409         (re_acquire_state_context): Likewise.
82410         * lib/regex_internal.h: Adjust prototypes.
82411
82412         * lib/regex.c: Prevent using C++ compilers.
82413
82414         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
82415         (re_acquire_state_context): Likewise.
82416
82417 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82418
82419         * modules/regex (Depends-on): Add ssize_t.
82420
82421 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82422
82423         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
82424         translation table.
82425
82426 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82427
82428         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
82429
82430 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
82431             Bruno Haible  <bruno@clisp.org>
82432
82433         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
82434         <sys/types.h> and <inttypes.h>.
82435
82436 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82437
82438         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
82439         `__error_t_defined', so argp.h will not typedef the former.
82440
82441 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
82442
82443         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
82444         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
82445         glibc names.  Even if glibc is changed to conform to POSIX, the
82446         traditional names will be available anyway, since regex depends on
82447         the extensions module.  Also, fix a longstanding typo in the
82448         implementation of Spencer ERE test #75 from grep 2.3.  Problems
82449         reported by Emanuele Giaquinta.  Also, change sense of cached
82450         variable, so that the message makes sense.
82451
82452 2006-03-24  Simon Josefsson  <jas@extundo.com>
82453
82454         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
82455         including some doc fixes.
82456         (base64_encode_alloc): Fix +1 bug on allocation failures.
82457
82458 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82459
82460         * lib/base64.c (base64_encode): Do not read past end of array with
82461         unsanitized input on systems with CHAR_BIT > 8.
82462
82463 2006-03-24  Eric Blake  <ebb9@byu.net>
82464
82465         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
82466
82467 2006-03-22  Karl Berry  <karl@gnu.org>
82468
82469         * config/srclist.txt (*setenv.[ch]): get from coreutils.
82470         * config/srclistvars.sh (COREUTILS): new var.
82471
82472 2006-03-17  Jim Meyering  <jim@meyering.net>
82473
82474         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
82475         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
82476
82477 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82478
82479         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
82480         no longer needs it.  Instead, check that regoff_t is as least
82481         as wide as ptrdiff_t.
82482
82483         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
82484         so that our regex.h stays compatible with the installed regex.
82485         This is helpful for installers who configure --without-included-regex.
82486         Problem reported by Emanuele Giaquinta.
82487
82488 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82489
82490         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
82491         Typedef to long int, not to off_, as POSIX will likely change
82492         in that direction.
82493
82494 2006-03-15  Eric Blake  <ebb9@byu.net>
82495
82496         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
82497
82498 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82499
82500         * lib/argp-help.c (validate_uparams): Fix typo
82501         * lib/argp-parse.c (argp_default_options): Consistently begin help
82502         messages with a lowercase letter.
82503
82504 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
82505
82506         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
82507         overrun buffers and shouldn't be used (much as gets shouldn't be
82508         used).
82509         * lib/time_r.c (asctime_r, ctime_r): Likewise.
82510
82511 2006-03-08  Simon Josefsson  <jas@extundo.com>
82512
82513         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
82514         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82515
82516 2006-03-08  Simon Josefsson  <jas@extundo.com>
82517
82518         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
82519         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82520
82521 2006-03-08  Simon Josefsson  <jas@extundo.com>
82522
82523         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
82524         signal that configure disabled the device.
82525
82526 2006-03-08  Simon Josefsson  <jas@extundo.com>
82527
82528         * build-aux/maint.mk: Fix refresh-po, to handle no translated
82529         languages.
82530
82531 2006-03-07  Simon Josefsson  <jas@extundo.com>
82532
82533         * modules/getopt (Depends-on): Add unistd.
82534
82535         * modules/unistd: New file.
82536
82537 2006-03-07  Simon Josefsson  <jas@extundo.com>
82538
82539         * modules/gc-random: New file.
82540
82541 2006-03-07  Simon Josefsson  <jas@extundo.com>
82542
82543         * m4/unistd_h.m4: New file.
82544
82545 2006-03-07  Simon Josefsson  <jas@extundo.com>
82546
82547         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
82548         test to be side-effect free by storing the result in the cache
82549         variable gl_cv_lib_readline, and moving the assignment of
82550         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
82551         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82552
82553 2006-03-07  Simon Josefsson  <jas@extundo.com>
82554
82555         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
82556         error on missing devices (the functions will return an error).
82557
82558         * m4/gc.m4: Move random stuff to gc-random.m4
82559
82560 2006-03-07  Simon Josefsson  <jas@extundo.com>
82561
82562         * lib/unistd_.h: New file.
82563
82564 2006-03-07  Simon Josefsson  <jas@extundo.com>
82565
82566         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
82567
82568 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82569
82570         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
82571         Problem reported by Juan Manuel Guerrero.
82572
82573 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82574
82575         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
82576         the unistd module.
82577         * lib/getlogin_r.c: Likewise.
82578         * lib/getlogin_r.h: Likewise.
82579         * lib/glob.c: Likewise.
82580         * lib/pagealign_alloc.c: Likewise.
82581         * lib/unistd_.h: Remove; no longer needed.
82582
82583 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82584
82585         * MODULES.html.sh (Support for systems lacking POSIX:2001):
82586         Add unistd.
82587         * modules/c-stack (Depends-on): Add unistd.
82588         * modules/getlogin_r: Likewise.
82589         * modules/glob: Likewise.
82590         * modules/pagealign_alloc: Likewise.
82591         * modules/unistd (Files): Remove lib/unistd_.h.
82592         (EXTRA_DIST): Remove.
82593         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
82594         need unistd_.h.
82595         (MOSTLYCLEANFILES): Remove unistd.h-t.
82596
82597 2006-03-03  Simon Josefsson  <jas@extundo.com>
82598
82599         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
82600
82601 2006-03-03  Simon Josefsson  <jas@extundo.com>
82602
82603         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
82604         libidn and bison.
82605
82606 2006-03-03  Simon Josefsson  <jas@extundo.com>
82607
82608         * build-aux/maint.mk: Add indent target.
82609
82610 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
82611
82612         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
82613         our replacement poll.h in any case, to avoid a differing
82614         declaration from a system header.  Seen on AIX.
82615
82616 2006-03-01  Simon Josefsson  <jas@extundo.com>
82617
82618         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
82619         <kasal@ucw.cz>.
82620
82621 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82622
82623         * modules/gettime (Depends-on): Add extensions module.
82624         * modules/nanosleep (Depends-on): Likewise.
82625         * modules/settime (Depends-on): Likewise.
82626
82627 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82628
82629         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
82630         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
82631         pedantically.
82632         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82633         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
82634
82635         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
82636         not "==".  Reported by Ralf Wildenhues.
82637
82638 2006-03-01  Karl Berry  <karl@gnu.org>
82639
82640         * doc/Copyright/request-*: new files, synced from gnuorg.
82641
82642 2006-03-01  Karl Berry  <karl@gnu.org>
82643
82644         * config/srclist.txt (Copyright/*): new entries.
82645
82646 2006-02-28  Simon Josefsson  <jas@extundo.com>
82647
82648         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
82649
82650 2006-02-27  Simon Josefsson  <jas@extundo.com>
82651
82652         * lib/base64.h: Indent #define's.  From Jim Meyering
82653         <jim@meyering.net>.
82654
82655 2006-02-27  Jim Meyering  <jim@meyering.net>
82656
82657         Revert the change of 2006-02-24, so these files can continue
82658         to be sync'd from gettext.
82659         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
82660         of `config.h'.
82661
82662 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82663
82664         * modules/intprops: New file.
82665         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
82666         Add intprops.
82667         * modules/getloadavg (Files): Remove lib/intprops.h.
82668         (Depends-on): Add intprops.
82669         * modules/human: Likewise.
82670         * modules/inttostr: Likewise.
82671         * modules/openat: Likewise.
82672         * modules/sig2str: Likewise.
82673         * modules/userspec: Likewise.
82674         * modules/utimecmp: Likewise.
82675         * modules/xnanosleep: Likewise.
82676         * modules/xstrtol: Likewise.
82677
82678 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
82679
82680         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
82681         * modules/lock-tests (TESTS): Use $(EXEEXT).
82682         * modules/tls-tests: Likewise.
82683         * modules/argp-tests: Likewise.
82684         (check_PROGRAMS): New var, replacing...
82685         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
82686
82687 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82688
82689         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
82690         `config.h'.
82691
82692 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
82693
82694         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
82695
82696 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82697
82698         Sync from coreutils.
82699         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
82700         gl_CHDIR_SAFER.
82701
82702 2006-02-22  Jim Meyering  <jim@meyering.net>
82703
82704         Sync from coreutils.
82705         * m4/chdir-safer.m4: New file.
82706
82707 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
82708
82709         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
82710         AT_FDCWD exceeds INT_MAX.
82711         * lib/openat.h (AT_FDCWD): Likewise.
82712
82713 2006-02-17  Eric Blake  <address@hidden>
82714
82715         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
82716
82717 2006-02-16  Simon Josefsson  <jas@extundo.com>
82718
82719         * modules/getaddrinfo (Depends-on): Add sys_socket.
82720
82721 2006-02-15  Simon Josefsson  <jas@extundo.com>
82722
82723         * build-aux/maint.mk: Add dsyntax-check rule.
82724
82725 2006-02-15  Eric Blake  <ebb9@byu.net>
82726
82727         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
82728         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
82729         'present but cannot compile' warnings on cygwin.
82730         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
82731         use ws2tcpip.h if sys/socket.h works.
82732         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
82733         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
82734
82735 2006-02-14  Simon Josefsson  <jas@extundo.com>
82736
82737         * modules/maintainer-makefile (Files): Rename.
82738
82739         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
82740         and (the local) Makefile.cfg to maint-cfg.mk.
82741
82742         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
82743         to the latter.
82744
82745         * modules/maintainer-makefile: New module.
82746
82747         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
82748         severaly stripped to make it possible to build it up from scratch
82749         with reliable tests.
82750
82751         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
82752         fixes to permit overriding the default actions when configure and
82753         makefile are not available.
82754
82755 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
82756
82757         Sync from coreutils.
82758         * modules/lstat (Depends-on): Don't depend on xalloc.
82759         (License): Change from GPL to LGPL, since this is now simply a
82760         replacement for a libc function.
82761
82762 2006-02-14  Jim Meyering  <jim@meyering.net>
82763
82764         Sync from coreutils.
82765
82766         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
82767         failure on deficient systems, and simplify gnulib lgpl dependencies.
82768         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
82769         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
82770
82771         * lib/xalloc-die.c: Remove unused definition of N_.
82772
82773 2006-02-14  Jim Meyering  <jim@meyering.net>
82774
82775         Sync from coreutils.
82776         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
82777         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
82778         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
82779         double-quote uses of that variable, to accommodate the rare case in
82780         which getmntent is available in none of the libraries checked.  This
82781         happens at least on FreeBSD 5.0.
82782
82783 2006-02-13  Simon Josefsson  <jas@extundo.com>
82784
82785         * gnulib-tool (Usage): Fix --import, from
82786         karl@freefriends.org (Karl Berry).
82787
82788 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82789
82790         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
82791
82792 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
82793
82794         * lib/argp-namefrob.h: Restore changes accidentally lost during the
82795         "autoupdate" on 2005-12-12.
82796
82797 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82798
82799         * modules/closeout (Depends-on): Remove atexit.
82800
82801 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82802
82803         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
82804         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
82805
82806 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
82807
82808         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
82809         __EXTENSIONS__ if this causes compilation to fail.  Problem
82810         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
82811         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
82812
82813 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
82814
82815         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
82816         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
82817         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
82818         All uses changed.
82819
82820 2006-01-26  Simon Josefsson  <jas@extundo.com>
82821
82822         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
82823         prototype is visible on mingw32.
82824
82825         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
82826         for mingw32.
82827
82828         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
82829         mingw32).
82830
82831 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
82832
82833         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
82834         attempt to open for write; this always fails, at least on POSIX
82835         hosts.  This reinstates the 2006-01-09 change, which was
82836         inadvertently removed.
82837
82838 2006-01-26  Bruno Haible  <bruno@clisp.org>
82839
82840         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
82841         Reported by Paul Eggert.
82842
82843 2006-01-26  Bruno Haible  <bruno@clisp.org>
82844             Paul Eggert  <eggert@cs.ucla.edu>
82845
82846         * lib/stdbool_.h (_Bool)
82847         [(! (defined __cplusplus || defined __BEOS__)
82848           && !defined __GNUC__
82849           && !(defined __HP_cc || defined __xlc__
82850                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
82851                || defined __sgi))]:
82852         #define to signed char in these cases too; this simplifies
82853         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
82854         etc., separately) and makes it more conservative.
82855
82856 2006-01-25  Simon Josefsson  <jas@extundo.com>
82857
82858         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
82859         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
82860         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
82861
82862 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82863
82864         * lib/argp-namefrob.h: Bugfix. Remove stray #
82865
82866 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
82867
82868         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
82869         so that we test the test.
82870         Check for yet another HP-UX cc bug involving *bool |= bool.
82871
82872 2006-01-25  Karl Berry  <karl@gnu.org>
82873
82874         * config/srclist.txt (vasnprintf.c): sync lost.
82875
82876 2006-01-25  Jim Meyering  <jim@meyering.net>
82877
82878         Sync from the stable (b5) branch of coreutils:
82879
82880         * lib/fts.c (fts_children): Don't let close() clobber errno from
82881         failed fchdir().
82882
82883         * lib/fts.c (fts_stat): When following a symlink-to-directory,
82884         don't necessarily interpret stat-fails+lstat-succeeds as indicating
82885         a dangling symlink.  That can also happen at least for ELOOP.
82886         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
82887         FYI, this bug predates the inclusion of fts.c in coreutils.
82888
82889         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
82890         in their own block, so pre-c99 compilers don't object.
82891
82892         Avoid the double-free (first in fts_read, second in fts_close) that
82893         would occur when an `active' directory is made inaccessible (e.g.,
82894         via chmod a-x) during a traversal.
82895         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82896         before returning.  Reproduce this failure by
82897         mkdir -p a/b; cd a; chmod a-x . b
82898         Reported by Stavros Passas.
82899
82900 2006-01-25  Jim Meyering  <jim@meyering.net>
82901
82902         * lib/fileblocks.c: Remove more useless parentheses.
82903         * lib/readutmp.h: Likewise.
82904
82905 2006-01-25  Bruno Haible  <bruno@clisp.org>
82906
82907         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
82908         warnings.
82909         Reported by Paul Eggert.
82910
82911 2006-01-25  Bruno Haible  <bruno@clisp.org>
82912
82913         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
82914         rid of a trap command. For Solaris sh.
82915         Reported by Mark D. Baushke <mdb@gnu.org>.
82916
82917 2006-01-24  Simon Josefsson  <jas@extundo.com>
82918
82919         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
82920         Bruno.
82921
82922 2006-01-24  Karl Berry  <karl@gnu.org>
82923
82924         * config/srclist.txt (argp-namefrob.h): sync lost.
82925
82926 2006-01-24  Jim Meyering  <jim@meyering.net>
82927
82928         * modules/openat (Files): Add lib/intprops.h.
82929         From Mark D. Baushke.
82930
82931 2006-01-24  Jim Meyering  <jim@meyering.net>
82932
82933         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
82934         Reported by Mark D. Baushke.
82935
82936 2006-01-24  Jim Meyering  <jim@meyering.net>
82937
82938         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
82939
82940 2006-01-24  Bruno Haible  <bruno@clisp.org>
82941
82942         * modules/strnlen (Maintainer): Change from glibc to all.
82943
82944 2006-01-24  Bruno Haible  <bruno@clisp.org>
82945
82946         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
82947         Patch by Paul Eggert.
82948
82949 2006-01-24  Bruno Haible  <bruno@clisp.org>
82950
82951         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
82952         already has it.
82953         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
82954         2005-11-26.
82955
82956         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
82957         'signed char' to avoid problems with the built-in _Bool type.
82958         Reported by Paul Eggert on 2005-11-26.
82959
82960 2006-01-24  Bruno Haible  <bruno@clisp.org>
82961
82962         * gnulib-tool (func_import): Avoid constructing complicated sed
82963         expressions inside backquote.
82964         Report and solution by Mark D. Baushke <mdb@gnu.org>.
82965
82966 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
82967
82968         These changes imported from libc.
82969         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
82970         test and two separate function calls.
82971         * lib/strndup.c (__strndup): Add libc_hidden_def.
82972
82973 2006-01-23  Simon Josefsson  <jas@extundo.com>
82974
82975         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
82976         Remove the test_*_SOURCES variable: automake infers it by default.
82977         * modules/tls-tests: Likewise.
82978
82979 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82980
82981         Work around porting bugs reported by Dieter in
82982         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
82983         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
82984         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
82985         Include "getopt.h" first, to check interface.
82986         (getenv): Declare only if defined HAVE_DECL_GETENV &&
82987         !HAVE_DECL_GETENV.
82988         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
82989         (__strndup): Revert to K&R-style function dfns, the glibc style.
82990         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
82991         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
82992         Include strnlen.h first, to get prototype properly.
82993         (strnlen): Renamed from __strnlen.
82994         Remove weak alias.
82995
82996 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82997
82998         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
82999
83000 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83001
83002         * config/srclist.txt: Adjust to reflect glibc reorganization.
83003         This affects only comments.
83004
83005 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
83006
83007          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
83008          Reported by Bruce Korb <bkorb@gnu.org>.
83009
83010 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
83011
83012         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
83013         to pacify gcc -Wswitch-default.
83014
83015 2006-01-22  Bruno Haible  <bruno@clisp.org>
83016
83017         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
83018         temporary buffer for sprintf, take into account the precision also
83019         for 'd', 'i', 'u', 'o', 'x', 'X'.
83020
83021 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
83022
83023         * modules/argp-tests: New module
83024         * tests/test-argp.c: New file
83025         * tests/test-argp-2.sh: New file
83026
83027 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
83028
83029         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
83030         (__argp_base_name): Removed
83031         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
83032         typo.
83033         (__argp_base_name): Provide macro definition or extern declaration
83034         depending on the configuration
83035
83036 2006-01-20  Simon Josefsson  <jas@extundo.com>
83037
83038         * modules/inet_ntop (Depends-on): Depend on sys_socket.
83039
83040 2006-01-20  Simon Josefsson  <jas@extundo.com>
83041
83042         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
83043
83044 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
83045
83046         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
83047         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
83048         Suggested by Bruno Haible.
83049
83050 2006-01-20  Karl Berry  <karl@gnu.org>
83051
83052         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
83053         until changes propagate, I guess.
83054
83055 2006-01-19  Simon Josefsson  <jas@extundo.com>
83056
83057         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
83058
83059 2006-01-19  Simon Josefsson  <jas@extundo.com>
83060
83061         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
83062
83063 2006-01-19  Simon Josefsson  <jas@extundo.com>
83064
83065         * gnulib-tool: Set check_PROGRAMS.
83066
83067         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
83068         modules/des-tests, modules/gc-arcfour-tests,
83069         modules/gc-arctwo-tests, modules/gc-des-tests,
83070         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
83071         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
83072         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
83073         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
83074         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
83075         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
83076         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
83077         test_*_SOURCES.
83078
83079 2006-01-18  Simon Josefsson  <jas@extundo.com>
83080
83081         * modules/socklen (Depends-on): Depend on sys_socket.
83082
83083 2006-01-18  Simon Josefsson  <jas@extundo.com>
83084
83085         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
83086         modules/des-tests, modules/gc-arcfour-tests,
83087         modules/gc-arctwo-tests, modules/gc-des-tests,
83088         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
83089         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
83090         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
83091         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
83092         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
83093         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
83094         $(EXEEXT) to automake TESTS variable, for mingw32.
83095
83096 2006-01-17  Simon Josefsson  <jas@extundo.com>
83097
83098         * modules/socklen (Include): Need sys/socket.h.
83099
83100 2006-01-17  Bruno Haible  <bruno@clisp.org>
83101
83102         * modules/ssize_t (Include): Add <sys/types.h>.
83103
83104 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
83105
83106         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
83107         it's not portable and it doesn't work with cross-compiles.
83108         Problem reported by Bruno Haible.  Fix missing-$ typo in
83109         'test "gl_cv_ignore_unused_libraries" ...' that prevented
83110         -zignore from being used with Sun's C compiler.
83111
83112 2006-01-12  Simon Josefsson  <jas@extundo.com>
83113
83114         * lib/base64.c: Fix warning, reported by Bruno Haible
83115         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
83116
83117 2006-01-12  Bruno Haible  <bruno@clisp.org>
83118
83119         * modules/ldd: New file.
83120         * build-aux/ldd.sh.in: New file.
83121         * MODULES.html.sh (Support for building libraries and executables): Add
83122         ldd.
83123
83124 2006-01-12  Bruno Haible  <bruno@clisp.org>
83125
83126         * m4/ldd.m4: New file.
83127
83128 2006-01-12  Bruno Haible  <bruno@clisp.org>
83129
83130         * gnulib-tool (func_import, func_create_testdir): Don't go into an
83131         endless loop while replacing $auxdir with build-aux.
83132
83133 2006-01-11  Simon Josefsson  <jas@extundo.com>
83134
83135         * lib/stdint_.h (SIZE_MAX): Add missing (.
83136
83137 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
83138
83139         Sync from coreutils.
83140         * lib/md5.c: Fix commentary typos.
83141         (alignof, UNALIGNED_P): No need for a GCC-specific version.
83142         * lib/md5.h (__attribute__): Remove; unused.
83143         * lib/sha1.c: Fix commentary to match md5 better.
83144         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
83145         so that we don't need to worry about alignment.  All uses changed.
83146         This merges the 2005-10-28 md5 change into sha1.
83147
83148 2006-01-11  Jim Meyering  <jim@meyering.net>
83149
83150         Sync from coreutils.
83151         * lib/md5.c (OP): Fix spacing.
83152
83153 2006-01-11  Bruno Haible  <bruno@clisp.org>
83154
83155         Ensure automatic ordering between gl_LOCK and gl_ARGP.
83156         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
83157         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
83158
83159 2006-01-11  Bruno Haible  <bruno@clisp.org>
83160
83161         Ensure automatic ordering between gl_LOCK and gl_ARGP.
83162         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
83163         the "early" section as well.
83164
83165 2006-01-11  Bruno Haible  <bruno@clisp.org>
83166
83167         Avoid "ar: no archive members specified" error on MacOS X.
83168         * gnulib-tool (func_modules_add_dummy): New function.
83169         (func_import, func_create_testdir): Invoke it.
83170
83171 2006-01-11  Bruno Haible  <bruno@clisp.org>
83172
83173         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
83174         with $auxdir in AC_CONFIG_FILES statements.
83175
83176 2006-01-11  Bruno Haible  <bruno@clisp.org>
83177
83178         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
83179         Initialize also noinst_HEADERS to empty.
83180
83181 2006-01-11  Bruno Haible  <bruno@clisp.org>
83182
83183         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
83184         variables.
83185         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
83186         autoreconf.
83187
83188 2006-01-11  Bruno Haible  <bruno@clisp.org>
83189
83190         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
83191         overridable by the user.
83192         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83193
83194 2006-01-10  Simon Josefsson  <jas@extundo.com>
83195
83196         * modules/sys_socket: New file.
83197
83198 2006-01-10  Simon Josefsson  <jas@extundo.com>
83199
83200         * m4/sys_socket_h.m4: New file.
83201
83202 2006-01-10  Simon Josefsson  <jas@extundo.com>
83203
83204         * lib/socket_.h: New file.
83205
83206 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83207
83208         * modules/readutmp (Maintainer): Add myself.
83209
83210 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83211
83212         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
83213         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
83214         People who are still concerned with buggy memcmp implementations
83215         can invoke gl_FUNC_MEMCMP themselves.
83216
83217 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83218
83219         * lib/regex_internal.h (BITSET_WORD_BITS):
83220         Work around a bug in 64-bit PGC (before version 6.1-2), where the
83221         preprocessor mishandles large unsigned values as if they were signed.
83222         Problem reported by Claudio Fontana in
83223         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
83224
83225 2006-01-10  Jim Meyering  <jim@meyering.net>
83226
83227         Avoid the double-free (first in fts_read, second in fts_close) that
83228         would occur when an `active' directory is made inaccessible (e.g.,
83229         via chmod a-x) during a traversal.
83230         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
83231         before returning.  Reproduce this failure by
83232         mkdir -p a/b; cd a; chmod a-x . b
83233         Reported by Stavros Passas.
83234
83235         Sync from coreutils.
83236         * lib/sha1.c: Tweak grammar in a comment.
83237
83238 2006-01-10  Jim Meyering  <jim@meyering.net>
83239
83240         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
83241         Patch by Joerg Sonnenberger.
83242
83243 2006-01-10  Bruno Haible  <bruno@clisp.org>
83244
83245         * modules/readutmp: Depend on module free.
83246         * modules/strtok_r: Depend on module restrict.
83247
83248 2006-01-10  Bruno Haible  <bruno@clisp.org>
83249
83250         * modules/gettext (configure.ac): Add an invocation of
83251         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
83252
83253 2006-01-10  Bruno Haible  <bruno@clisp.org>
83254
83255         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
83256         Reported by Werner Lemberg <wl@gnu.org>.
83257
83258 2006-01-10  Bruno Haible  <bruno@clisp.org>
83259
83260         * lib/localcharset.c: Update from GNU gettext.
83261
83262 2006-01-10  Bruno Haible  <bruno@clisp.org>
83263
83264         * lib/argp.h (__const): Remove macro. Use const instead.
83265         * lib/argp-fmtstream.h (__const): Likewise.
83266         * lib/glob_.h (__const): Remove macro.
83267         * lib/glob-libc.h: Use const instead of __const.
83268
83269 2006-01-10  Bruno Haible  <bruno@clisp.org>
83270
83271         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
83272         variable.
83273         Needed to avoid an automake error regarding the 'gettext' module.
83274
83275 2006-01-09  Simon Josefsson  <jas@extundo.com>
83276
83277         * modules/inet_ntop (Depends-on): Add restrict.
83278
83279 2006-01-09  Simon Josefsson  <jas@extundo.com>
83280
83281         * modules/gc-rijndael-tests (License): Put under LGPL.
83282
83283         * modules/gc-des-tests (License): Likewise.
83284
83285         * modules/gc-arcfour-tests (License): Likewise.
83286
83287         * modules/gc-arctwo-tests (License): Likewise.
83288
83289         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
83290
83291         * modules/gc-hmac-sha1-tests (Files): Likewise.
83292
83293         * modules/gc-hmac-md5-tests (License): Likewise.
83294
83295         * modules/gc-sha1-tests (License): Likewise.
83296
83297         * modules/gc-md5-tests (License): Likewise.
83298
83299         * modules/gc-md4-tests (License): Likewise.
83300
83301         * modules/gc-md2-tests (License): Likewise.
83302
83303         * modules/gc-tests (License): Likewise.
83304
83305         * modules/des-tests (License): Likewise.
83306
83307         * modules/md4-tests (License): Likewise.
83308
83309         * modules/md2-tests (License): Likewise.
83310
83311 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83312
83313         Sync from coreutils:
83314
83315         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
83316         * modules/lib-ignore: New file.
83317         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
83318         chdir-safer.m4, lchmod.m4.
83319         * modules/openat: Add mkdirat.c, openat-priv.h.
83320
83321 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83322
83323         Sync from coreutils.
83324         * m4/lib-ignore.m4: New file.
83325         * m4/lchmod.m4: New file.
83326
83327 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83328
83329         Sync from coreutils.
83330         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
83331         for write access: POSIX says that must fail.
83332         * lib/fts.c (diropen): Likewise.
83333         * lib/save-cwd.c (save_cwd): Likewise.
83334         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
83335         well, for minor improvements on hosts that lack O_DIRECTORY.
83336         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
83337         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
83338         Fall back on chown if open failed with EACCES.
83339
83340         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
83341         Report an error at compile-time if only a 1-second nominal clock
83342         resolution is found.
83343
83344         * lib/lchmod.h: New file.
83345         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
83346         (make_dir_parents): Use lchown rather than chown, and
83347         lchmod rather than chmod.
83348
83349         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
83350         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
83351         "proc" reported by n0dalus.
83352
83353         * lib/mountlist.c: Include <limits.h>.
83354         (dev_from_mount_options)
83355         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
83356         New function.  It no longer assumes "dev=" has the System V meaning
83357         on Linux (since it doesn't).  It also parses "dev=" more carefully.
83358         (read_file_system_list)
83359         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
83360         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
83361         dev= in that case.
83362
83363         * lib/posixtm.h (PDS_PRE_2000): New macro.
83364         * lib/posixtm.c (year): Arg is now syntax_bits rather than
83365         allow_century.  All usages changed.  Reject dates outside the range
83366         1969-1999 if PDS_PRE_2000 is used.
83367
83368 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83369
83370         Sync from coreutils.
83371         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
83372         (Time of day items): Mention the possibility of leap seconds.
83373         Problem reported by Dr. David Alan Gilbert.
83374
83375 2006-01-09  Jim Meyering  <jim@meyering.net>
83376
83377         Sync from coreutils.
83378
83379         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
83380
83381         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
83382
83383         * lib/modechange.c (mode_compile): Reject an invalid mode string
83384         that starts with an octal digit.  From Andreas Gruenbacher.
83385
83386         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
83387         and dup to open_safer and dup_safer, respectively.
83388         (openat_permissive): Fix typo in comment.
83389
83390         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
83391         "gettext.h"; either no longer needed or are guaranteed by openat.h.
83392         (_): Remove; no longer needed.
83393         (openat): Renamed from rpl_openat; no need for rpl_openat
83394         since openat.h renames openat for us.
83395         Replace most of the body with a call to openat_permissive,
83396         to avoid duplicate code.
83397         Port to (probably hypothetical) environments were mode_t is
83398         wider than int.
83399         (openat_permissive): Require mode arg, so that we can check
83400         types better.  Put it just after flags.  Change cwd failure
83401         indicator from pointer-to-bool to pointer-to-errno-value.
83402         All callers changed.
83403         Invoke openat_save_fail and/or openat_restore_fail if
83404         cwd_errno is null, so that openat can call us.
83405         (openat_permissive, fdopendir, fstatat, unlinkat):
83406         Simplify errno handling to avoid some duplicate code,
83407         as it's OK to set errno on success.
83408         * lib/openat.h: Revamp code so that function macros depend on
83409         __OPENAT_PREFIX only, not also on AT_FDCWD.
83410         (openat_ro): Remove.  Caller changed to use openat_permissive.
83411         (openat_permissive): Now a macro, if not a function.
83412         (openat_restore_fail, openat_save_fail): Now always functions,
83413         since mkdirat needs them even if __OPENAT_PREFIX is defined.
83414
83415         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
83416         and openat.c.
83417         * lib/mkdirat.c: Include openat-priv.h.
83418         Remove definitions of macros defined therein.
83419         * lib/openat.c: Likewise.
83420
83421         * lib/mkdirat.c (mkdirat): New file and function.
83422         * lib/openat.h (mkdirat): Declare.
83423
83424         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
83425
83426         * lib/openat.h (openat_permissive): Declare.
83427         (openat_ro): Define.
83428
83429         * lib/openat.c (EXPECTED_ERRNO): New macro.
83430         (openat_permissive): New function -- used in remove.c rewrite.
83431         (all functions): Set errno just before returning, only if there
83432         was an actual failure.
83433         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
83434
83435         Emulate openat-family functions using Linux's procfs, if possible.
83436         Idea and some code based on Ulrich Drepper's glibc changes.
83437
83438         * lib/openat.c: (BUILD_PROC_NAME): New macro.
83439         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
83440         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
83441         before falling back on save_cwd and restore_cwd.
83442         (fdopendir, fstatat, unlinkat): Likewise.
83443
83444         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
83445         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
83446
83447         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
83448         as second argument to va_arg.  Otherwise, some versions of gcc
83449         warn that `if this code is reached, the program will abort'.
83450
83451 2006-01-09  Jim Meyering  <jim@meyering.net>
83452
83453         Sync from coreutils.
83454         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
83455         Require openat-priv.h.
83456
83457 2006-01-09  Bruno Haible  <bruno@clisp.org>
83458
83459         * modules/strnlen (Include): Use strnlen.h.
83460
83461 2006-01-09  Bruno Haible  <bruno@clisp.org>
83462
83463         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
83464
83465 2006-01-09  Bruno Haible  <bruno@clisp.org>
83466
83467         * lib/sysexit_.h (EX_OK): New macro.
83468         Suggested by Martin Lambers <marlam@marlam.de>.
83469
83470 2006-01-09  Bruno Haible  <bruno@clisp.org>
83471
83472         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
83473         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
83474
83475 2006-01-09  Bruno Haible  <bruno@clisp.org>
83476
83477         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
83478         numbers.
83479
83480 2006-01-09  Bruno Haible  <bruno@clisp.org>
83481
83482         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
83483         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
83484         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
83485         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
83486
83487 2006-01-09  Bruno Haible  <bruno@clisp.org>
83488
83489         * build-aux/javacomp.sh.in: New file, moved from lib/.
83490         * modules/javacomp-script (Files): Update.
83491         (configure.ac): Add AC_CONFIG_FILES invocation.
83492         (EXTRA_DIST): Remove variable.
83493
83494         * build-aux/javaexec.sh.in: New file, moved from lib/.
83495         * modules/javaexec (Files): Update.
83496         (configure.ac): Add AC_CONFIG_FILES invocation.
83497         (EXTRA_DIST): Remove javaexec.sh.in.
83498
83499         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
83500         * modules/csharpcomp-script (Files): Update.
83501         (configure.ac): Add AC_CONFIG_FILES invocation.
83502         (EXTRA_DIST): Remove variable.
83503
83504         * build-aux/csharpexec.sh.in: New file, moved from lib/.
83505         * modules/csharpexec (Files): Update.
83506         (configure.ac): Add AC_CONFIG_FILES invocation.
83507         (EXTRA_DIST): Remove csharpexec.sh.in.
83508
83509 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83510
83511         Sync from coreutils.
83512
83513         Add POSIX ACL support
83514         * lib/acl.h (copy_acl, set_acl): Add declarations.
83515         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
83516         systems other than Linux.
83517         (chmod_or_fchmod): New function: use fchmod when possible,
83518         and chmod otherwise.
83519         (file_has_acl): Add a POSIX ACL implementation, with a
83520         Linux-specific subcase.
83521         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
83522         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
83523         acls are unsupported.
83524         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
83525         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
83526         are unsupported.
83527
83528 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83529
83530         Sync from coreutils.
83531         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
83532
83533 2006-01-07  Bruno Haible  <bruno@clisp.org>
83534
83535         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
83536         gl_EARLY.
83537
83538 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83539
83540         * lib/strftime.c (tzname): Don't declare if it is already #defined.
83541         Problem reported for Mingw by Mark Junker.
83542
83543 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83544
83545         * README: Gnulib normally doesn't generate a tarball.
83546
83547 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
83548
83549         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
83550         long int, not int, for nanosecond counts, so that people who are
83551         used to POSIX struct timespec won't be surprised.  Reported by Jim
83552         Meyering.
83553
83554 2005-12-28  Bruno Haible  <bruno@clisp.org>
83555
83556         * build-aux/config.rpath: Update from GNU gettext.
83557
83558 2005-12-16  Jim Meyering  <jim@meyering.net>
83559
83560         * modules/fprintftime: New module.
83561         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
83562
83563 2005-12-16  Jim Meyering  <jim@meyering.net>
83564
83565         * m4/fprintftime.m4: New file.
83566
83567 2005-12-16  Jim Meyering  <jim@meyering.net>
83568
83569         * lib/fprintftime.c, lib/fprintftime.h: New files.
83570
83571 2005-12-15  Simon Josefsson  <jas@extundo.com>
83572
83573         * modules/socklen (configure.ac): Fix M4 macro name, to align with
83574         new m4/socklen.m4.
83575
83576 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83577
83578         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
83579         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
83580
83581 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83582
83583         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
83584         * lib/argp-help.c (fill_in_uparams): Check if the constructed
83585         struct uparams is valid. Fall back to the default values if it is
83586         not.
83587
83588 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83589
83590         * modules/argp (Files): Add argp-pin.c
83591         (Depends-on): dirname
83592         (lib_SOURCES): Add argp-pin.c
83593
83594 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83595
83596         * m4/argp.m4:  Check if program_invocation_name and
83597         program_invocation_short_name are declared and define appropriate
83598         macros if they are not.
83599
83600 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83601
83602         * lib/argp-help.c (__argp_base_name): New function
83603         (__argp_short_program_name): Rewrite using __argp_base_name
83604         * lib/argp-namefrob.h: Define program_invocation_name and
83605         program_invocation_short_name if requested
83606         (__argp_base_name): Add prototype
83607         * lib/argp-parse.c (argp_def): Use gettext wrappers
83608         (argp_default_parser): Use __argp_base_name
83609         * lib/argp-pin.c: New file. Defines program_invocation_name and
83610         program_invocation_short_name on systems that lack them.
83611
83612 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83613
83614         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
83615         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83616         porting problem reported by Georg Schwarz in
83617         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83618
83619 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83620
83621         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
83622         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83623         porting problem reported by Georg Schwarz in
83624         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83625
83626 2005-12-05  Bruno Haible  <bruno@clisp.org>
83627
83628         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
83629         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
83630         Reported by Mark Junker <mjscod@gmx.de>.
83631
83632 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
83633
83634         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
83635         Use implementation from Albert Chin, with some
83636         comments/corrections by Stepan Kasal and myself.
83637
83638 2005-12-02  Bruno Haible  <bruno@clisp.org>
83639
83640         * gnulib-tool (func_import): Accept GPLed build tool modules when
83641         --lgpl is given.
83642         * modules/csharpcomp-script: New file.
83643         * modules/csharpcomp: Depend on it.
83644         * modules/javacomp-script: New file.
83645         * modules/javacomp: Depend on it.
83646         Suggested by Simon Josefsson.
83647
83648 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
83649
83650         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
83651         statement, to work around an HP-UX 10.20 compiler bug reported by
83652         Peter O'Gorman.
83653
83654 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83655
83656         * modules/savedir (Depends-on): Add openat.
83657
83658 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83659
83660         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
83661         (uintmax_t) [defined uintmax_t]: Do not declare.
83662         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
83663         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
83664         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
83665         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
83666         sake of portability to weird hosts that C allows (though we don't
83667         know of any practical examples).
83668
83669         * lib/savedir.h (fdsavedir): New decl.
83670         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
83671         contains most of the former guts of savedir.
83672         (savedir): Use savedirstream.
83673         Include "openat.h".
83674
83675 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83676
83677         * modules/obstack (Files): Add m4/ulonglong.m4.
83678         Problem reported by Davide Angelocola.
83679
83680 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
83681
83682         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
83683         coreutils no longer futzes with rounding modes.
83684
83685 2005-11-14  Jim Meyering  <jim@meyering.net>
83686
83687         * lib/mkstemp-safer.c: Include <config.h>, required for possible
83688         replacement of mkstemp.
83689
83690 2005-11-10  Simon Josefsson  <jas@extundo.com>
83691
83692         * lib/readline.c: Remove EOL.
83693
83694 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83695
83696         * modules/gethrxtime (Depends-on): Add gettime.
83697
83698 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83699
83700         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
83701         or gettimeofday; no longer needed.
83702
83703 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83704
83705         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
83706         time business.
83707         (gethrxtime) [! (HAVE_NANOUPTIME
83708         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
83709         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
83710         our own approximation.
83711
83712 2005-11-08  Eric Blake  <ebb9@byu.net>
83713
83714         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83715
83716 2005-11-08  Eric Blake  <ebb9@byu.net>
83717
83718         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83719
83720 2005-11-04  Bruno Haible  <bruno@clisp.org>
83721
83722         * gnulib-tool: Implement --update mode.
83723
83724 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83725
83726         Fix porting problem reported by Theodoros V. Kalamatianos.
83727         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
83728         Don't assume that futimes failing means we must fail.
83729
83730 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83731
83732         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
83733         variables to suggest the intended function of the PATH_MAX check.
83734
83735 2005-10-30  Kean Johnston  <jkj@sco.com>
83736
83737         Trivial changes to support SCO systems.
83738         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
83739         as PATH_MAX.
83740         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
83741         where __ptr is null when no I/O is pending.
83742
83743 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83744
83745         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
83746         leave errno alone.  Problem reported by Dmitry V. Levin.
83747
83748 2005-10-28  Simon Josefsson  <jas@extundo.com>
83749
83750         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
83751         Test more.
83752
83753         * tests/test-gc-md2.c, tests/test-md2.c: New files.
83754
83755         * modules/md2, modules/md2-tests: New files.
83756
83757 2005-10-28  Simon Josefsson  <jas@extundo.com>
83758
83759         * m4/inet_ntop.m4: More tests.
83760
83761         * m4/gc-md2.m4, md2.m4: New file.
83762
83763 2005-10-28  Simon Josefsson  <jas@extundo.com>
83764
83765         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
83766         "restrict" keywords, as per POSIX.  Protect the function
83767         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
83768         Don't use K&R prototypes.  Check the sprintf return values.
83769         Re-define EAFNOSUPPORT if not present.  Indent.
83770
83771         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
83772         suggested by Bruno Haible <bruno@clisp.org>.
83773
83774         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
83775
83776         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
83777
83778         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
83779         libgcrypt).
83780
83781         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
83782
83783         * lib/md2.h, lib/md2.c: New files.
83784
83785 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
83786
83787         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
83788         errno alone.  Problem reported by Frederic Jolliton.
83789
83790 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
83791
83792         * modules/verify (License): Change from GPL to LGPL.  This is a
83793         tiny module and there are apparently near-equivalents that are
83794         under the BSD license.
83795
83796 2005-10-24  Simon Josefsson  <jas@extundo.com>
83797
83798         * modules/sha1: Relicense to LGPL.
83799
83800 2005-10-24  Simon Josefsson  <jas@extundo.com>
83801
83802         * lib/md4.h: Shrink buffer size, now that we changed the type.
83803
83804 2005-10-23  Simon Josefsson  <jas@extundo.com>
83805
83806         * gnulib-tool (func_import): Fix --tests-base.
83807
83808 2005-10-22  Simon Josefsson  <jas@extundo.com>
83809
83810         * modules/arcfour (Depends-on): Need stdint.
83811
83812 2005-10-22  Simon Josefsson  <jas@extundo.com>
83813
83814         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
83815         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
83816
83817 2005-10-22  Simon Josefsson  <jas@extundo.com>
83818
83819         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
83820         suggested by Bruno Haible <bruno@clisp.org>.
83821
83822 2005-10-22  Simon Josefsson  <jas@extundo.com>
83823
83824         * lib/crc.h: Include stddef.h, for size_t.
83825
83826 2005-10-22  Simon Josefsson  <jas@extundo.com>
83827
83828         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
83829         arcfour_context struct (simplify test vector testing in GNU
83830         Shishi).
83831
83832 2005-10-21  Simon Josefsson  <jas@extundo.com>
83833
83834         * modules/des, modules/des-tests: New files.
83835
83836         * modules/gc-des, modules/gc-des-tests: New files.
83837
83838         * tests/test-des.c, tests/test-gc-des.c: New file.
83839
83840 2005-10-21  Simon Josefsson  <jas@extundo.com>
83841
83842         * modules/arctwo, modules/arctwo-tests: New files.
83843
83844         * tests/test-arctwo.c: New file.
83845
83846         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
83847
83848         * tests/test-gc-arctwo.c: New file.
83849
83850 2005-10-21  Simon Josefsson  <jas@extundo.com>
83851
83852         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
83853         Bruno Haible <bruno@clisp.org>.
83854
83855         * m4/gc-des.m4: New file.
83856
83857 2005-10-21  Simon Josefsson  <jas@extundo.com>
83858
83859         * m4/arctwo.m4: New file.
83860
83861         * m4/gc-arctwo.m4: New file.
83862
83863 2005-10-21  Simon Josefsson  <jas@extundo.com>
83864
83865         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
83866         block.
83867
83868 2005-10-21  Simon Josefsson  <jas@extundo.com>
83869
83870         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
83871         <bruno@clisp.org>.
83872
83873         * lib/hmac-sha1.c (hmac_sha1): Likewise.
83874
83875         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
83876         Bruno Haible <bruno@clisp.org>.
83877
83878         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
83879         <bruno@clisp.org>.
83880
83881 2005-10-21  Simon Josefsson  <jas@extundo.com>
83882
83883         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
83884
83885 2005-10-21  Simon Josefsson  <jas@extundo.com>
83886
83887         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
83888
83889 2005-10-21  Simon Josefsson  <jas@extundo.com>
83890
83891         * lib/des.h, lib/des.c: New files.
83892
83893         * lib/gc-gnulib.c: Support DES.c
83894
83895 2005-10-21  Simon Josefsson  <jas@extundo.com>
83896
83897         * lib/arctwo.h, lib/arctwo.c: New files.
83898
83899         * lib/gc-gnulib.c: Support ARCTWO.
83900
83901 2005-10-21  Simon Josefsson  <jas@extundo.com>
83902
83903         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
83904         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83905
83906 2005-10-21  Simon Josefsson  <jas@extundo.com>
83907
83908         * gnulib-tool (func_import, func_create_testdir): Define automake
83909         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
83910         Makefile.am snippet),
83911         suggested by Bruno Haible <bruno@clisp.org>.
83912
83913         * modules/gc (Makefile.am): Use it.
83914
83915 2005-10-21  Bruno Haible  <bruno@clisp.org>
83916
83917         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
83918         patch.
83919
83920 2005-10-19  Simon Josefsson  <jas@extundo.com>
83921
83922         * tests/test-gc-rijndael.c: New file.
83923
83924         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
83925
83926 2005-10-19  Simon Josefsson  <jas@extundo.com>
83927
83928         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
83929         interface too.
83930
83931 2005-10-19  Simon Josefsson  <jas@extundo.com>
83932
83933         * tests/test-gc-arcfour.c: New file.
83934
83935         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
83936
83937 2005-10-19  Simon Josefsson  <jas@extundo.com>
83938
83939         * modules/gc-md4, modules/gc-md4-tests: New file.
83940
83941         * tests/test-gc-md4.c: New file.
83942
83943 2005-10-19  Simon Josefsson  <jas@extundo.com>
83944
83945         * m4/gc-md4.m4: New file.
83946
83947 2005-10-19  Simon Josefsson  <jas@extundo.com>
83948
83949         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
83950         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
83951         <kasal@ucw.cz>.
83952
83953 2005-10-19  Simon Josefsson  <jas@extundo.com>
83954
83955         * m4/gc-arcfour.m4: New file.
83956
83957         * m4/gc-rijndael.m4: New file.
83958
83959 2005-10-19  Simon Josefsson  <jas@extundo.com>
83960
83961         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
83962
83963 2005-10-19  Simon Josefsson  <jas@extundo.com>
83964
83965         * lib/gc-gnulib.c: Support ARCFOUR.
83966
83967 2005-10-19  Simon Josefsson  <jas@extundo.com>
83968
83969         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
83970         support.
83971
83972         * lib/gc.h: Add ECB enum type.
83973
83974         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
83975
83976 2005-10-18  Simon Josefsson  <jas@extundo.com>
83977
83978         * tests/test-md5.c: New file.
83979
83980         * modules/md5-tests: New file.
83981
83982 2005-10-18  Simon Josefsson  <jas@extundo.com>
83983
83984         * tests/test-md4.c: New file.
83985
83986         * modules/md4, modules/md4-tests: New files.
83987
83988 2005-10-18  Simon Josefsson  <jas@extundo.com>
83989
83990         * m4/md4.m4: New file.
83991
83992 2005-10-18  Simon Josefsson  <jas@extundo.com>
83993
83994         * lib/md4.h, lib/md4.c: New files, based on md5.?.
83995
83996 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
83997
83998         * gnulib-tool (func_create_testdir): Omit the second check whether
83999         BUILT_SOURCES in nonempty.
84000
84001 2005-10-17  Simon Josefsson  <jas@extundo.com>
84002
84003         * tests/test-rijndael.c: New file.
84004
84005 2005-10-17  Simon Josefsson  <jas@extundo.com>
84006
84007         * modules/sha1: Depend on stdint instead of md5.
84008
84009         * modules/md5: Depend on stdint, remove uint32_t.
84010
84011 2005-10-17  Simon Josefsson  <jas@extundo.com>
84012
84013         * modules/gc-sha1-tests: New file.
84014
84015         * tests/test-gc-sha1.c: New file.
84016
84017 2005-10-17  Simon Josefsson  <jas@extundo.com>
84018
84019         * m4/md5.m4: Remove call to uint32_t.m4.
84020
84021 2005-10-17  Simon Josefsson  <jas@extundo.com>
84022
84023         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
84024
84025         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
84026         md5.h.
84027
84028         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
84029
84030         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
84031
84032 2005-10-17  Simon Josefsson  <jas@extundo.com>
84033
84034         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
84035
84036 2005-10-17  Simon Josefsson  <jas@extundo.com>
84037
84038         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
84039
84040 2005-10-17  Simon Josefsson  <jas@extundo.com>
84041
84042         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
84043
84044         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
84045
84046 2005-10-17  Bruno Haible  <bruno@clisp.org>
84047
84048         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
84049         that it can also be used in a test.
84050
84051 2005-10-16  Bruno Haible  <bruno@clisp.org>
84052
84053         * gnulib-tool (func_emit_tests_Makefile_am): Also define
84054         TESTS_ENVIRONMENT, so that individual tests can augment it.
84055
84056         * gnulib-tool (func_create_testdir): Use an intermediate target for
84057         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
84058         macros, like $(ALLOCA_H), which cannot be passed through the command
84059         line.
84060
84061 2005-10-15  Simon Josefsson  <jas@extundo.com>
84062
84063         * modules/rijndael-tests: New file.
84064
84065         * modules/rijndael: New file.
84066
84067 2005-10-15  Simon Josefsson  <jas@extundo.com>
84068
84069         * m4/rijndael.m4: New file.
84070
84071 2005-10-15  Simon Josefsson  <jas@extundo.com>
84072
84073         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
84074
84075         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
84076
84077 2005-10-14  Simon Josefsson  <jas@extundo.com>
84078
84079         * tests/test-arcfour.c: New file.
84080
84081         * modules/arcfour, modules/arcfour-tests: New files.
84082
84083 2005-10-14  Simon Josefsson  <jas@extundo.com>
84084
84085         * m4/arcfour.m4: New file.
84086
84087 2005-10-14  Simon Josefsson  <jas@extundo.com>
84088
84089         * lib/arcfour.h, lib/arcfour.c: New files.
84090
84091 2005-10-14  Roland McGrath  <roland@redhat.com>
84092
84093         Import from libc.  [BZ #1331]
84094         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
84095         macro argument.
84096         Reported by Matej Vela <vela@debian.org>.
84097
84098 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
84099
84100         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
84101         include <wchar.h>; no longer needed.
84102
84103 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
84104
84105         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
84106
84107 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
84108         and  Ulrich Drepper  <drepper@redhat.com>
84109
84110         Import from libc.
84111         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
84112         instead of inline stream orientation test and two separate
84113         function calls.  Pay no attention to USE_IN_LIBIO.
84114
84115 2005-10-13  Simon Josefsson  <jas@extundo.com>
84116
84117         * modules/gc-hmac-md5-tests: New file.
84118
84119         * tests/test-gc-hmac-sha1.c: New file.
84120
84121         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
84122
84123         * modules/gc-hmac-md5-tests: New file.
84124
84125         * tests/test-gc-md5.c: New file.
84126
84127         * modules/gc-md5-tests: New file.
84128
84129 2005-10-13  Simon Josefsson  <jas@extundo.com>
84130
84131         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
84132         Move memory allocation outside of loop.
84133
84134 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
84135
84136         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
84137         intermediate directory is in a read-only file system.  Problem
84138         reported by Eric Blake.
84139
84140 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
84141
84142         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
84143
84144 2005-10-12  Simon Josefsson  <jas@extundo.com>
84145
84146         * tests/test-hmac-sha1.c: New file.
84147
84148         * modules/hmac-sha1-tests: New file.
84149
84150         * modules/hmac-sha1: New file.
84151
84152 2005-10-12  Simon Josefsson  <jas@extundo.com>
84153
84154         * modules/gc-sha1: New file.
84155
84156 2005-10-12  Simon Josefsson  <jas@extundo.com>
84157
84158         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
84159
84160         * tests/test-gc-pbkdf2-sha1.c: New file.
84161
84162 2005-10-12  Simon Josefsson  <jas@extundo.com>
84163
84164         * modules/gc-md5, modules/gc-hmac-md5: New files.
84165
84166         * modules/gc (Files): Remove md5, memxor and hmac files.
84167
84168 2005-10-12  Simon Josefsson  <jas@extundo.com>
84169
84170         * m4/gc-pbkdf2-sha1.m4: New file.
84171
84172         * m4/gc-hmac-sha1.m4: New file.
84173
84174         * m4/gc-sha1: New file.
84175
84176         * m4/hmac-sha1.m4: New file.
84177
84178 2005-10-12  Simon Josefsson  <jas@extundo.com>
84179
84180         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
84181
84182         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
84183
84184 2005-10-12  Simon Josefsson  <jas@extundo.com>
84185
84186         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
84187         suggested by Bruno Haible <bruno@clisp.org>.
84188
84189 2005-10-12  Simon Josefsson  <jas@extundo.com>
84190
84191         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
84192
84193 2005-10-12  Simon Josefsson  <jas@extundo.com>
84194
84195         * lib/gc-pbkdf2-sha1.c: New file.
84196
84197         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
84198
84199 2005-10-12  Simon Josefsson  <jas@extundo.com>
84200
84201         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
84202
84203         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
84204
84205 2005-10-12  Simon Josefsson  <jas@extundo.com>
84206
84207         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
84208         GC_USE_HMAC_MD5, respectively.
84209
84210         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
84211         (gc_md5): Fix typo.
84212
84213         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
84214
84215         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
84216
84217         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
84218
84219 2005-10-12  Bruno Haible  <bruno@clisp.org>
84220
84221         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
84222         Reported by Stepan Kasal <kasal@ucw.cz>.
84223
84224 2005-10-11  Simon Josefsson  <jas@extundo.com>
84225
84226         * tests/test-crc.c: New file.
84227
84228         * modules/crc, modules/crc-tests: New files.
84229
84230 2005-10-11  Simon Josefsson  <jas@extundo.com>
84231
84232         * m4/crc.m4: New file.
84233
84234 2005-10-11  Simon Josefsson  <jas@extundo.com>
84235
84236         * lib/gc.h: Add gc_hash and gc_hash_buffer.
84237
84238         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
84239
84240         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
84241
84242 2005-10-11  Simon Josefsson  <jas@extundo.com>
84243
84244         * lib/crc.h, lib/crc.c: New files.
84245
84246         * lib/gc.h (gc_hash_buffer): Add doc.
84247
84248 2005-10-11  Bruno Haible  <bruno@clisp.org>
84249
84250         * modules/c-strcasestr: New file.
84251         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
84252
84253 2005-10-11  Bruno Haible  <bruno@clisp.org>
84254
84255         * modules/c-strcase: New file.
84256         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
84257
84258 2005-10-11  Bruno Haible  <bruno@clisp.org>
84259
84260         * lib/strcasecmp.c: Include limits.h.
84261         (strcasecmp): Avoid integer overflow on exotic platforms.
84262         * lib/strncasecmp.c: Include limits.h.
84263         (strncasecmp): Avoid integer overflow on exotic platforms.
84264         Reported by Paul Eggert.
84265
84266 2005-10-11  Bruno Haible  <bruno@clisp.org>
84267
84268         * lib/c-strcasestr.h: New file, from GNU gettext.
84269         * lib/c-strcasestr.c: New file, from GNU gettext.
84270
84271 2005-10-11  Bruno Haible  <bruno@clisp.org>
84272
84273         * lib/c-strcase.h: New file, from GNU gettext.
84274         * lib/c-strcasecmp.c: New file, from GNU gettext.
84275         * lib/c-strncasecmp.c: New file, from GNU gettext.
84276
84277 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
84278
84279         * modules/mempcpy (License): GPL -> LGPL.
84280         * modules/strchrnul (License): Likewise.
84281         * modules/sysexits (License): Likewise.
84282
84283 2005-10-08  Simon Josefsson  <jas@extundo.com>
84284
84285         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
84286
84287 2005-10-07  Simon Josefsson  <jas@extundo.com>
84288
84289         * m4/memxor.m4: Remove gl_C_RESTRICT call.
84290
84291 2005-10-06  Simon Josefsson  <jas@extundo.com>
84292
84293         * tests/test-hmac-md5.c: New file.
84294
84295         * modules/hmac-md5-tests: New file.
84296
84297         * modules/hmac-md5: New file.
84298
84299 2005-10-06  Simon Josefsson  <jas@extundo.com>
84300
84301         * m4/hmac-md5.m4: New file.
84302
84303         * m4/memxor.m4: Require gl_C_RESTRICT.
84304
84305 2005-10-06  Simon Josefsson  <jas@extundo.com>
84306
84307         * lib/memxor.c (memxor): Avoid casts and warnings.
84308
84309 2005-10-06  Simon Josefsson  <jas@extundo.com>
84310
84311         * lib/hmac-md5.c: New file.
84312
84313         * lib/hmac.h: New file.
84314
84315 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
84316
84317         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
84318         promotes to int, not unsigned int, to catch the AIX 5.3
84319         compiler bug.
84320
84321 2005-10-05  Simon Josefsson  <jas@extundo.com>
84322
84323         * modules/memxor: New file.
84324
84325         * modules/iconv (Files): Move config.rpath to havelib, it is used
84326         there.
84327
84328         * modules/havelib (Files): Add config.rpath.
84329
84330 2005-10-05  Simon Josefsson  <jas@extundo.com>
84331
84332         * m4/memxor.m4: New file.
84333
84334 2005-10-05  Simon Josefsson  <jas@extundo.com>
84335
84336         * lib/memxor.c (memxor): Fix compiler error.
84337
84338         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
84339         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
84340
84341         * lib/memxor.h, lib/memxor.c: New files.
84342
84343         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
84344         we assume all systems have it, suggested by Jim Meyering
84345         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
84346         any systems lack sys/socket.h; mingw32 is known to lack it, but we
84347         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
84348         same reasons.
84349
84350 2005-10-05  Simon Josefsson  <jas@extundo.com>
84351
84352         * config/srclist.txt: Add glibc bug 1423 for md5.h.
84353
84354 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
84355
84356         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
84357         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
84358         needed, since the source code now assumes these .h files.
84359
84360 2005-10-05  Derek Price  <derek@ximbiot.com>
84361
84362         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
84363
84364 2005-10-05  Bruno Haible  <bruno@clisp.org>
84365
84366         * modules/stdint (License): Change to LGPL.
84367
84368 2005-10-04  Simon Josefsson  <jas@extundo.com>
84369
84370         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
84371         D. Baushke" <mdb@gnu.org>.
84372
84373 2005-10-04  Bruno Haible  <bruno@clisp.org>
84374
84375         * lib/verify.h (verify_true): Provide alternative definition for C++.
84376
84377 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
84378
84379         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
84380         (SSIZE_MAX): New macro, if not already defined.
84381         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
84382         than 2 GiB.
84383
84384 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84385
84386         Sync from coreutils.
84387         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
84388         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
84389         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
84390         ULLONG_MAX doesn't work with 2.7.2.1.
84391
84392 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84393
84394         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
84395         From Ben Pfaff.
84396
84397         * modules/exclude (Depends-on): Depend on verify.
84398         * modules/strtoimax (Depends-on): Likewise.
84399         * modules/utimecmp (Depends-on): Likewise.
84400
84401 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84402
84403         * lib/exclude.c: Include verify.h.
84404         (verify): Remove.  All callers changed to use verify.h's version.
84405         * lib/strtoimax.c: Likewise.
84406         * lib/utimecmp.c: Likewis.e
84407
84408         Sync from coreutils.
84409         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
84410         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
84411         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
84412         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
84413         bother returning ENOSYS if settimeofday or stime fails; just let
84414         them return whatever errno they want to return.
84415         * lib/utimens.c: Include unistd.h, for dup2.
84416         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
84417         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
84418
84419 2005-10-02  Jim Meyering  <jim@meyering.net>
84420
84421         Sync from coreutils.
84422         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
84423         from glibc-2.2.5 that fails for read-only files.
84424
84425 2005-10-02  Jim Meyering  <jim@meyering.net>
84426
84427         Sync from coreutils.
84428         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
84429         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
84430         `#if HAVE_CONFIG_H'.
84431         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
84432         Remove AT_FDCWD test.
84433         Do not consume the fd unless successful.
84434         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
84435         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
84436         block, so that we don't even try to compile it if settimeofday is
84437         available.  This works around a compilation failure on OSF1 V5.1,
84438         due to stime requiring a `long int*' while tv_sec is `int'.
84439
84440 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
84441
84442         Sync from coreutils.
84443         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
84444         against `yes', rather than just testing for nonempty.
84445
84446 2005-10-01  Simon Josefsson  <jas@extundo.com>
84447
84448         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
84449         and Darwin.
84450
84451         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
84452         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
84453         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
84454         freeaddrinfo and gai_strerror are declared by the POSIX headers.
84455         Check if struct addrinfo is declared.
84456
84457 2005-10-01  Simon Josefsson  <jas@extundo.com>
84458
84459         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
84460         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
84461         AI_* and EAI_* definitions.  Protect function declarations.
84462
84463 2005-10-01  Jim Meyering  <jim@meyering.net>
84464
84465         Sync from coreutils.
84466
84467         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
84468         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
84469         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
84470         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84471         in the inet and nsl libraries.  Required on Solaris 5.7.
84472
84473 2005-10-01  Jim Meyering  <jim@meyering.net>
84474
84475         Sync from coreutils.
84476         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84477         in the inet and nsl libraries.  Required on Solaris 5.7.
84478
84479 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
84480
84481         * lib/getdelim.c (getdelim): Remove unused variables.
84482
84483 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
84484
84485         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
84486         so that the code works even with ancient cpp.  Portability problem
84487         with GCC 2.7.2.1 reported by Thomas M.Ott.
84488
84489 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
84490
84491         * modules/regex (Depends-on): Add strcase.
84492
84493         * modules/gethostname (Licence): Change from GPL to LGPL, since
84494         gethostname.c is a trivial implementation of a standard library
84495         function.
84496         * modules/poll (License): Change from GPL to LGPL, since it's
84497         derived from LGPL code.
84498
84499 2005-09-27  Jim Meyering  <jim@meyering.net>
84500
84501         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
84502         HAVE_CONFIG_H.
84503
84504         * lib/intprops.h (signed_type_or_expr__): Define.
84505         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
84506         for unsigned types.
84507
84508 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
84509
84510         * lib/verify.h (verify_expr): Remove, replacing with:
84511         (verify_true): New macro that returns true instead of void.
84512         (verify_type__): Remove.
84513         (verify): Use verify_true rather than verify_type__.
84514
84515 2005-09-26  Bruno Haible  <bruno@clisp.org>
84516
84517         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
84518         is necessary.
84519         (lib_SOURCES): Remove mbchar.c.
84520         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
84521         (Files): Add m4/mbrtowc.m4.
84522         * modules/mbiter: Likewise.
84523         * modules/mbuiter: Likewise.
84524
84525 2005-09-26  Bruno Haible  <bruno@clisp.org>
84526
84527         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
84528         compile mbchar.c if they are not both present.
84529         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
84530         * m4/mbiter.m4 (gl_MBITER): Likewise.
84531         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
84532         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
84533         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
84534
84535 2005-09-25  Jim Meyering  <jim@meyering.net>
84536
84537         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
84538         also uses socklen_t.
84539
84540 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
84541
84542         * lib/utimens.c (ENOSYS): Define if not already defined.
84543         (futimens): Support having a null PATH if the file descriptor
84544         is nonnegative.
84545
84546         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
84547         Remove.
84548         (__attribute): Define to empty unless GCC 3.1 or later.
84549         This works around a core dump on OpenBSD 3.4, which has GCC
84550         2.95.3, which dumps core when given __attribute__(()).  It also
84551         simplifies other tests, since we really don't want to bother with
84552         worrying about which ancient version of GCC supported what.
84553         Original problem reported by Yoann Vandoorselaere, with part of
84554         the fix suggested by Derek Price.
84555
84556 2005-09-24  Jim Meyering  <jim@meyering.net>
84557
84558         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
84559         so we can once again use a positive bitfield width of 1 -- now we
84560         don't have to explain why we were using a bitfield width of 2.
84561
84562 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84563
84564         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
84565         and similarly for the other external symbols.  Problem reported
84566         by James Gallager.
84567
84568         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
84569         bug reported by Jim Meyering.
84570
84571         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
84572         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
84573         not needed, since socklen is a prerequisite module.
84574
84575 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84576
84577         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
84578         Problem reported by Eric Blake.
84579         (getaddrinfo): Initialize se so that it's not garbage.
84580         Redo internal storage allocation so that it doesn't make unportable
84581         assumptions about alignment.
84582         Fix a memory leak.
84583
84584         * lib/utimens.c (futimens): Use futimesat if available.
84585         Prefer it to futimes since it doesn't have the futimes bug.
84586
84587         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
84588         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
84589         Instead, declare a function that returns a pointer to an array,
84590         and use verify_type__ to declare the size of the array.
84591         Problem and germ of a solution reported by Bruno Haible.
84592         (verify_type__): Use 2, not 1, for bitfield size, to avoid
84593         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
84594
84595 2005-09-23  Jim Meyering  <jim@meyering.net>
84596
84597         Sync from coreutils.
84598         Correct build failure (socklen_t not defined) on at least
84599         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
84600         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
84601
84602 2005-09-23  Jim Meyering  <jim@meyering.net>
84603
84604         * modules/getaddrinfo (Depends-on): Add socklen.
84605
84606 2005-09-23  Bruno Haible  <bruno@clisp.org>
84607
84608         * tests/test-verify.c: New file.
84609
84610 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84611
84612         Sync from coreutils.
84613
84614         * modules/argmatch (Depends-on): Add verify.
84615         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
84616         unistd-safer.
84617         * modules/save-cwd (Depends-on): Likewise.
84618
84619         * modules/openat (Files): Add lib/openat-die.c.
84620         (Depends-on): Remove error, exitfail.
84621         Add dirname.
84622
84623         * modules/verify: New file.
84624         * MODULES.html.sh (Diagnostics <assert.h>): New section,
84625         with "verify" module.
84626
84627 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84628
84629         Sync from coreutils.
84630
84631         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
84632         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
84633         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
84634         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
84635         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
84636         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
84637         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
84638         Don't bother checking for string.h, stdlib.h, unistd.h.
84639         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
84640         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
84641         module's job.
84642         * m4/jm-macros.m4 (gl_MACROS): Likewise.
84643         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
84644
84645         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
84646         (gl_GETDATE): Use it.
84647
84648         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
84649
84650 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84651
84652         Sync from coreutils.
84653
84654         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
84655         stat-time.h.
84656         * lib/argmatch.h: Include verify.h
84657         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
84658         (ARGMATCH_ASSERT): Remove; unused.
84659         * lib/canonicalize.c: Assume STDC_HEADERS.
84660         * lib/exclude.c: Include "strcase.h".
84661         * lib/regex_internal.h [!defined _LIBC]: Likewise.
84662         * lib/getusershell.c: Include stdio--.h rather than stdio.h
84663         and stdio-safer.h.
84664         (getusershell): Call fopen, not fopen_safer.
84665         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
84666         Do not include unistd-safer.h.
84667         (save_cwd): Don't call fd_safer; no longer needed
84668         now that we include fcntl--.h.
84669
84670         * lib/getdate.y (relative_time): New type.
84671         (RELATIVE_TIME_0): New constant.
84672         (parser_control): Use relative_time instead of doing it ourselves.
84673         (%union): Add new relative_time rel member.
84674         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
84675         Now typeless.
84676         (relunit, relunit_snumber): Now of type rel.
84677         (zone, rel, relunit, get_date): Adjust to above changes.
84678
84679         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
84680         Do not include unistd-safer.h.
84681         (getloadavg): Don't call fd_safer; no longer needed
84682         now that we include fcntl--.h.
84683
84684         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
84685         (make_dir_parents): Treat ENOSYS like EEXIST.
84686
84687         Improve quality of diagnostics on restore_cwd failure.
84688         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
84689         (make_dir_parents): Last arg is now int * (for errno), not bool *.
84690         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
84691         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
84692         each time through the loop.  Do not diagnose restore_cwd failure;
84693         that is the caller's job (and perhaps the caller does not care).
84694
84695         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
84696         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
84697         If the file already exists but is not a directory, don't bother
84698         to try to make its parents.
84699         Close potential file descriptor leak if we can't chdir("/") (!).
84700         Don't always return true if chdir($PWD) fails; return true only
84701         if the requested action was done successfully (except for the
84702         chdir($PWD)).
84703         Don't log final directory unless we actually made it.
84704         Refactor to avoid duplicate code to fix up permissions.
84705         Don't attempt to fix up parent permissions if chdir($PWD) fails.
84706
84707         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
84708         to make it a bit faster and (I hope) clearer.
84709         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
84710         Fix bug in formats like %2N.
84711
84712         * lib/verify.h: New file.
84713
84714 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84715
84716         Sync from coreutils.
84717         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
84718
84719 2005-09-22  Jim Meyering  <jim@meyering.net>
84720
84721         Sync from coreutils.
84722
84723         * m4/lstat.m4 (gl_FUNC_LSTAT):
84724         Use AC_LIBSOURCES to require lstat.c and lstat.h.
84725         Remove obsolete comment.
84726         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
84727         * m4/xstrtod.m4: Likewise.
84728
84729         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
84730
84731 2005-09-22  Jim Meyering  <jim@meyering.net>
84732
84733         Sync from coreutils.
84734
84735         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
84736
84737         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
84738         the .tm_year member, since otherwise gcc-4.0 would now warn about
84739         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
84740
84741         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
84742         order to avoid an unsuppressible warning from gcc on 64-bit systems.
84743
84744         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
84745         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
84746         when run in a time zone for which daylight savings time is in effect
84747         for the starting date.
84748
84749         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
84750         stop us from restricting permissions of just-created absolute-named
84751         directories.
84752         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
84753         to restore initial working directory.
84754         * lib/mkdir-p.c (make_dir_parents): New parameter:
84755         different_working_dir, to tell caller if/when we change the working
84756         directory and are unable to return to the initial one.
84757         * lib/mkdir-p.h (make_dir_parents): Update prototype.
84758         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
84759         `return false'.  This fixes a bug introduced on 2004-07-30.
84760
84761         * lib/openat.c (fdopendir): Be sure to close the supplied
84762         file descriptor before returning.  This makes our replacement
84763         implementation a little closer to Solaris's, where fdopendir
84764         ties the file descriptor to the returned DIR* pointer.
84765         * lib/openat.c (unlinkat): New function.
84766         * lib/openat.h (unlinkat): Add prototype.
84767         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
84768         (openat_restore_fail): Rename from openat_restore_die.
84769         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
84770
84771         Provide an alternative to exiting immediately upon save_cwd or
84772         restore_cwd failure.  Now, an application can arrange e.g.,
84773         to perform a longjump in that case.
84774         * lib/openat.c: Include dirname.h.
84775         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
84776         (rpl_openat, fdopendir, fstatat): Call openat_save_die
84777         and openat_restore_die rather than calling error directly.
84778         Don't include "error.h" or "exitfail.h"; they're no longer needed.
84779
84780         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
84781         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
84782         define.
84783
84784         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
84785         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
84786                             int utc, int nanoseconds);
84787         Background:
84788         date should not have to allocate a megabyte of virtual memory to
84789         handle a format argument like +%1048575T.  When implemented with
84790         strftime, it must allocate such a buffer, use strftime to fill it
84791         in, print it, then free it.
84792         With fprintftime, it simply prints everything and exits.
84793         With no need for memory allocation, that's one fewer way to fail.
84794         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
84795         optional field width, not before, so we accept %9:z, not %:9z.
84796         (my_strftime): Be sure to use L_('x') for literals.
84797
84798         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
84799         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
84800         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
84801         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
84802         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
84803         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
84804         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
84805         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
84806         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
84807         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
84808         * lib/xgethostname.c, lib/xreadlink.c:
84809         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
84810
84811         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
84812         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
84813         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
84814         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84815         and don't include <sys/file.h>).
84816
84817 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
84818
84819         Sync from coreutils.
84820
84821         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
84822         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
84823         [!LDAV_DONE]: Avoid unused variable warning.
84824
84825 2005-09-21  Bruno Haible  <bruno@clisp.org>
84826
84827         * lib/unicodeio.h (unicode_to_mb): New declaration.
84828
84829 2005-09-20  Derek Price  <derek@ximbiot.com>
84830
84831         * lib/getaddrinfo.c: Don't include <netdb.h> included from
84832         getaddrinfo.h.
84833
84834 2005-09-20  Bruno Haible  <bruno@clisp.org>
84835
84836         * gnulib-tool: Remove trailing slashes from the values specified for
84837         --source-base, --m4-base, --tests-base, --aux-dir.
84838         Suggested by Simon Josefsson <jas@extundo.com>.
84839
84840 2005-09-20  Bruno Haible  <bruno@clisp.org>
84841
84842         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
84843         func_modules_to_filelist, func_import, func_create_testdir): Make all
84844         sorting results locale-independent, so that gnulib-cache.m4 doesn't
84845         change when gnulib-tool is invoked in a different locale.
84846
84847 2005-09-19  Simon Josefsson  <jas@extundo.com>
84848
84849         * m4/socklen.m4: Fix typo.
84850
84851 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84852
84853         Use a consistent style for including <config.h>.
84854         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
84855         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
84856         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
84857         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
84858         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
84859         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
84860         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
84861         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
84862         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
84863         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
84864         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
84865         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
84866         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
84867         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
84868         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
84869         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
84870         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
84871         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
84872         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
84873         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
84874         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
84875         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
84876         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
84877         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
84878         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
84879         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
84880         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
84881         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
84882         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
84883         lib/xstrtoumax.c, lib/yesno.c:
84884         Standardize inclusion of config.h.
84885         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
84886         lib/inttostr.h:  Removed inclusion of config.h from header files.
84887         * lib/inttostr.c:  Adjusted in-tree users.
84888         * lib/timespec.h: Remove superfluous warning to include config.h.
84889         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
84890         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
84891         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
84892         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
84893         config.h with HAVE_CONFIG_H.
84894
84895 2005-09-19  Jim Meyering  <jim@meyering.net>
84896
84897         * modules/pathmax (License): Change to LGPL.
84898
84899 2005-09-19  Derek Price  <derek@ximbiot.com>
84900
84901         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
84902
84903 2005-09-19  Bruno Haible  <bruno@clisp.org>
84904
84905         * gnulib-tool (import): Provide default for --tests-base.
84906
84907 2005-09-19  Bruno Haible  <bruno@clisp.org>
84908
84909         * doc/quote.texi: New file, extracted from gnulib.texi.
84910         * doc/ctime.texi: New file, extracted from gnulib.texi.
84911         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
84912         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
84913         * doc/gnulib.texi: Include them.
84914
84915 2005-09-18  Bruno Haible  <bruno@clisp.org>
84916
84917         Portability fix.
84918         * gnulib-tool (func_readlink): New function.
84919         (func_ln_if_changed): Use it.
84920
84921 2005-09-18  Bruno Haible  <bruno@clisp.org>
84922
84923         * gnulib-tool: Support --with-tests also with --import.
84924         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
84925         (func_import): Use variables $testsbase and $inctests. Emit a
84926         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
84927         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
84928         SUBDIRS += $testsdir.
84929         (func_create_testdir): Update.
84930
84931 2005-09-18  Bruno Haible  <bruno@clisp.org>
84932
84933         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
84934         instead of $dry_run.
84935         (func_cp_if_changed, func_mv_if_changed): Remove functions.
84936         (func_ln_if_changed): Don't handle dry-run here.
84937         (func_import): In dry-run mode, detect more precisely which actions
84938         would be performed, and don't use "...ing" verbs.
84939
84940 2005-09-18  Bruno Haible  <bruno@clisp.org>
84941
84942         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
84943         (func_import): Use join on two temporary files instead of three nested
84944         loops, in order to determine which files are new or old.
84945
84946 2005-09-18  Bruno Haible  <bruno@clisp.org>
84947
84948         * gnulib-tool (func_import): Comment out code that spits out the
84949         new files with --dry-run.
84950
84951 2005-09-18  Bruno Haible  <bruno@clisp.org>
84952
84953         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
84954
84955 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84956
84957         * lib/stat-time.h: New file.
84958         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
84959         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
84960         in a different way.
84961         (timespec_cmp): New function.
84962         * lib/utimecmp.c: Include stat-time.h.
84963         (SYSCALL_RESOLUTION): Depend on whether various struct stat
84964         members exist, not on the obsolescent ST_MTIM_NSEC.
84965         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
84966
84967 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84968
84969         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
84970
84971 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84972
84973         * MODULES.html.sh (File system functions): Add stat-time.
84974         * modules/stat-time: New file.
84975         * modules/timespec (Files): Remove m4/st_mtim.m4; this
84976         is now done in a different way, by the stat-time module.
84977         * modules/utimecmp (Depends-on): Add stat-time.
84978
84979 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
84980
84981         * m4/st_mtim.m4: Remove.  Superseded by...
84982         * m4/stat-time.m4: New file.
84983         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
84984         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
84985
84986 2005-09-15  Derek Price  <derek@ximbiot.com>
84987
84988         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
84989
84990 2005-09-15  Derek Price  <derek@ximbiot.com>
84991
84992         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
84993         * lib/regex_internal.c: Ditto, using this...
84994         (__GNUC_PREREQ): ...new macro.
84995         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
84996         using...
84997         (__GNUC_PREREQ): ...this new macro.
84998
84999         * lib/strstr.h: Include string.h. Define strstr as a macro here.
85000
85001 2005-09-15  Derek Price  <derek@ximbiot.com>
85002             Paul Eggert  <eggert@cs.ucla.edu>
85003
85004         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
85005         changes, consolidating in...
85006         * lib/regex_internal.h: ...this file.
85007
85008 2005-09-13  Jim Meyering  <jim@meyering.net>
85009
85010         * lib/canon-host.c: Filter through gnu indent and reword comments
85011         slightly.
85012         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
85013
85014 2005-09-13  Derek Price  <derek@ximbiot.com>
85015
85016         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
85017         failure.
85018         Reported by Jim Meyering  <jim@meyering.net>.
85019
85020 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
85021
85022         * lib/base64.c: Typo.
85023         (base64_encode): Put b64str in initialized data section.
85024
85025 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
85026
85027         Merge glibc and coreutils changes into gnulib, plus a few
85028         extra fixes.
85029         * lib/md5.c: Use #error rather than a string.
85030         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
85031         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
85032         (__attribute__): Define to empty for non recent-GCC.
85033         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
85034         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
85035         Renamed from their non-__ counterparts, with new macros replacing
85036         them if not _LIBC.  Add __THROW attribute.
85037         (rol): Remove.
85038         (struct md5_ctx): Align buffer if using GCC.
85039         * lib/sha1.h (struct sha1_ctx): Likewise.
85040         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
85041         The old name was backwards.
85042         (NOTSWAP): Remove; not used.
85043         (rol): New macro, moved here from md5.h.
85044         (sha1_process_block): Remove a FIXME that doesn't make sense.
85045
85046 2005-09-12  Derek Price  <derek@ximbiot.com>
85047
85048         Return usable errors from canon-host.
85049         * lib/canon-host.h: New file.
85050         * lib/canon-host.c (canon_host): Wrap...
85051         (canon_host_r): ...this new function, which now relies exclusively on
85052         getaddrinfo.
85053         (ch_strerror): New function.
85054         (last_cherror): New global.
85055         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
85056         interface.
85057         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
85058         void *.
85059         (freeaddrinfo): Free ai->ai_canonname when set.
85060
85061 2005-09-12  Derek Price  <derek@ximbiot.com>
85062
85063         Make canon-host require getaddrinfo.
85064         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
85065         AC_LIBSOURCE canon-host.h.  Call...
85066         (gl_PREREQ_CANON_HOST): ...this new function, which requires
85067         gl_GETADDRINFO.
85068         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
85069
85070 2005-09-12  Derek Price  <derek@ximbiot.com>
85071
85072         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
85073         LGPL.
85074         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
85075
85076 2005-09-12  Derek Price  <derek@ximbiot.com>
85077
85078         * lib/gai_strerror.c: Include config.h when available.  Include
85079         getaddrinfo.h before other headers to test interface.
85080         Reported by Larry Jones <lawrence.jones@ugs.com>.
85081
85082 2005-09-12  Derek Price  <derek@ximbiot.com>
85083             Paul Eggert  <eggert@cs.ucla.edu>
85084
85085         * modules/glob (Files): Add glob-libc.h.
85086
85087 2005-09-12  Derek Price  <derek@ximbiot.com>
85088             Paul Eggert  <eggert@cs.ucla.edu>
85089
85090         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
85091         glob_.h, glob-libc.h.
85092         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
85093
85094 2005-09-12  Derek Price  <derek@ximbiot.com>
85095             Paul Eggert  <eggert@cs.ucla.edu>
85096
85097         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
85098         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
85099         protecting things that should be done only in gnulib contexts.
85100         * lib/glob_.h: New file, containing only the glob things needed for
85101         gnulib.
85102         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
85103         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
85104         (glob, globfree, glob_pattern_p): Now defined simply in terms of
85105         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
85106         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
85107         and to respect the namespace rules better.
85108
85109 2005-09-08  Simon Josefsson  <jas@extundo.com>
85110
85111         * modules/socklen: New file.
85112
85113 2005-09-08  Simon Josefsson  <jas@extundo.com>
85114
85115         * m4/socklen.m4: New file.
85116
85117 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85118
85119         * modules/utimens (Files): Add m4/utimbuf.m4, since
85120         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
85121         Reported by Sergey Poznyakoff.
85122
85123 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85124
85125         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
85126         definitions, since that's the preferred style in glibc.
85127         Fix a minor spacing issue, and update copyright notice to match
85128         glibc's.
85129
85130 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85131
85132         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
85133
85134 2005-09-06  Simon Josefsson  <jas@extundo.com>
85135
85136         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
85137         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
85138
85139 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
85140
85141         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
85142         warning.
85143
85144 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
85145
85146         * config/srclist.txt: Add glibc bug 1302.
85147
85148 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
85149
85150         Change bitset word type from unsigned int to unsigned long int,
85151         as this has better performance on typical 64-bit hosts.
85152         Port bitset code to hosts with unusual word sizes.
85153         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
85154         (build_collating_symbol):
85155         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
85156         argument is a bitset.  This is merely a style issue, but it makes
85157         it clearer that an entire array is expected.
85158         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
85159         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
85160         Port to the case where bitset_word is not the same as unsigned int.
85161         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85162         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
85163         Likewise.
85164         * lib/regexec.c (check_dst_limits_calc_pos_1,
85165         check_subexp_matching_top):
85166         (build_trtable, group_nodes_into_DFAstates):
85167         Likewise.
85168         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
85169         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
85170         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
85171         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
85172         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
85173         * lib/regcomp.c (optimize_subexps, lower_subexp):
85174         Work even if bitset_word has holes in its bitwise representation.
85175         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
85176         * lib/regexec.c (check_dst_limits_calc_pos_1,
85177         check_subexp_matching_top):
85178         Likewise.
85179         * lib/regex_internal.c (re_string_reconstruct):
85180         Don't assume UCHAR_MAX == 255.
85181         * lib/regex_internal.h (bitset_set_all): Likewise.
85182         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
85183         All uses changed.
85184         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
85185         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
85186         All uses changed.
85187         (BITSET_WORD_MAX): New macro.
85188         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
85189         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
85190         (bitset_empty, bitset_copy):
85191         Prefer sizeof (bitset) to multiplying it out ourselves.
85192         (bitset_not_merge): Remove; unused.
85193         (bitset_contain): Return bool, not unsigned int with one bit on.
85194         All callers changed.
85195         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
85196         alignment than re_node_set; do this by defining a new internal
85197         type struct dests_alloc and using it to allocate memory.
85198
85199 2005-09-05  Bruno Haible  <bruno@clisp.org>
85200
85201         * gnulib-tool (func_import): Fix comparison in handling of symbolic
85202         links.
85203
85204 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
85205
85206         * modules/size_max (Makefile.am): Add size_max.h
85207
85208 2005-09-04  Derek Price  <derek@ximbiot.com>
85209
85210         * gnulib-tool (func_import): Fix reversed $symbolic logic.
85211
85212 2005-09-03  Simon Josefsson  <jas@extundo.com>
85213
85214         * gnulib-tool: Fix typo.
85215
85216 2005-09-03  Simon Josefsson  <jas@extundo.com>
85217
85218         * config/srclist.txt: Add glibc bug 1293.
85219
85220 2005-09-03  Derek Price  <derek@ximbiot.com>
85221
85222         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
85223         From Larry Jones <lawrence.jones@ugs.com>.
85224
85225 2005-09-02  Simon Josefsson  <jas@extundo.com>
85226
85227         * modules/socklen: New file.
85228
85229 2005-09-02  Simon Josefsson  <jas@extundo.com>
85230
85231         * modules/havelib: New module.
85232
85233         * modules/gettext, modules/iconv, modules/lock, modules/readline:
85234         Use havelib.
85235
85236 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
85237
85238         Check for arithmetic overflow when calculating sizes, to prevent
85239         some buffer-overflow issues.  These patches are conservative, in the
85240         sense that when I couldn't determine whether an overflow was possible,
85241         I inserted a run-time check.
85242         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
85243         macros.
85244         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
85245         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
85246         (re_xnrealloc, re_x2nrealloc): New inline functions.
85247         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
85248         parse_bracket_exp):
85249         (build_equiv_class, build_charclass): Check for arithmetic overflow
85250         in size expression calculations.
85251         * lib/regex_internal.c (re_string_realloc_buffers):
85252         (build_wcs_upper_buffer, re_node_set_add_intersect):
85253         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
85254         (re_dfa_add_node, register_state): Likewise.
85255         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
85256         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
85257         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
85258         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
85259
85260 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
85261
85262         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
85263         m4/ulonglong.m4.  Problem reported by Martin Lambers.
85264
85265 2005-09-02  Bruno Haible  <bruno@clisp.org>
85266
85267         Support for lib vs. lib64 distinction on biarch platforms.
85268         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
85269         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
85270         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
85271
85272 2005-09-02  Bruno Haible  <bruno@clisp.org>
85273
85274         * gnulib-tool (import): In the other first-use case, provide defaults
85275         as well.
85276
85277 2005-09-02  Bruno Haible  <bruno@clisp.org>
85278
85279         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
85280         patches not yet found in the latest gettext release.
85281
85282 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85283
85284         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
85285         to avoid a collision with bits/local_lim.h in glibc.
85286         All uses changed.  Problem reported by Dmitry V. Levin in
85287         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
85288
85289         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
85290         bugs in int versus size_t comparisons.
85291         (re_string_context_at): Fix bug where the code assumed that
85292         Idx is signed.
85293
85294         Use bool where appropriate.
85295         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
85296         All callers changed.
85297         (calc_eclosure_iter): Likewise, for ROOT arg.
85298         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
85299         (build_charclass_op): Likewise, for NON_MATCH arg.
85300         * lib/regex_internal.c (re_string_allocate, re_string_construct):
85301         (re_string_construct_common): Likewise, for ICASE arg.
85302         * lib/regexec.c (re_search_2_stub, re_search_stub):
85303         Likewise, for RET_LEN arg.
85304         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
85305         (set_regs): Likewise, for FL_BACKTRACK arg.
85306         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
85307         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
85308         (calc_eclosure_iter, parse_bracket_exp):
85309         Use bool for internal variables that are booleans.
85310         * lib/regexec.c (re_search_internal, check_matching,
85311         proceed_next_node):
85312         (set_regs, build_sifted_states, sift_states_bkref):
85313         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
85314         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85315         (find_collation_sequence_value):
85316         Likewise.
85317         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
85318         (re_node_set_compare):
85319         Return bool, not int. All callers changed.
85320         * lib/regexec.c (check_halt_node_context, check_dst_limits):
85321         (build_trtable, check_node_accept): Likewise.
85322         * lib/regex_internal.h: Include stdbool.h.
85323
85324         Fix bugs uncovered when converting to bool.
85325         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
85326         failure instead of charging ahead blindly.
85327         * lib/regex_internal.c (register_state): Likewise.
85328         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
85329         for freeing internal storage.
85330         (group_nodes_into_DFA_states): Use unsigned int, not int, for
85331         bitset pieces used as boolean, to avoid undefined behavior
85332         on hosts that do int overflow checking.
85333
85334 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85335
85336         * config/srclist.txt: Add glibc bugs 1285-1287.
85337
85338 2005-09-01  Jim Meyering  <jim@meyering.net>
85339
85340         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
85341         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
85342         Require gl_STAT_MACROS, too.
85343
85344 2005-09-01  Bruno Haible  <bruno@clisp.org>
85345
85346         * gnulib-tool (import): In the first-use case, provide defaults.
85347
85348 2005-09-01  Bruno Haible  <bruno@clisp.org>
85349
85350         * gnulib-tool (func_import): Remove the .tmp files.
85351
85352 2005-09-01  Bruno Haible  <bruno@clisp.org>
85353
85354         * gnulib-tool (func_import): Fix handling of symbolic links.
85355
85356 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85357
85358         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
85359         old glibc regex code mishandles strings longer than 2**31 bytes.
85360         This patch fixes this when the regex code is used in gnulib
85361         (i.e., outside glibc).
85362
85363         This patch should not affect the use of the regex code inside
85364         glibc.  No doubt this problem also needs to be handled for glibc
85365         as well, but the result will be an incompatible change to the
85366         glibc ABI, and the old ABI will have to be supported too.  That
85367         can be the the subject for another patch.
85368
85369         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
85370         governing whether the rest of this patch is active.  By default,
85371         the macro is disabled and the patch has no effect.
85372         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
85373         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
85374         (struct re_pattern_buffer, re_search, re_search_2, re_match):
85375         (re_match_2, re_set_registers): Use the new types.
85376         * lib/regex_internal.h (Idx, re_hashval_t): New types.
85377         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
85378         New macros.
85379         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
85380         (re_string_context_at, bin_tree_t, re_dfastate_t):
85381         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
85382         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
85383         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
85384         (re_string_char_size_at, re_string_wchar_at):
85385         (re_string_elem_size_at):
85386         Use the new types and macros to port to 64-bit hosts.
85387         Use unsigned types for internal values, so that the code
85388         mostly works even for arrays larger than SSIZE_MAX.
85389         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
85390         (search_duplicated_node, calc_eclosure_iter, fetch_number):
85391         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
85392         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
85393         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
85394         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
85395         (calc_inveclosure, parse_dup_op, build_range_exp):
85396         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
85397         (fetch_number, create_token_tree, mark_opt_subexp):
85398         Likewise.
85399         * lib/regex_internal.c (re_string_construct_common,
85400         create_ci_newstate):
85401         (create_cd_newstate, re_string_allocate, re_string_construct):
85402         (re_string_realloc_buffers, build_wcs_upper_buffer):
85403         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85404         (re_string_reconstruct, re_string_peek_byte_case):
85405         (re_string_fetch_byte_case, re_string_context_at):
85406         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85407         (re_node_set_init_copy, re_node_set_add_intersect):
85408         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85409         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85410         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85411         (re_acquire_state, re_acquire_state_context, register_state):
85412         Likewise.
85413         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
85414         search_cur_bkref_entry):
85415         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
85416         (re_search_internal, re_search_2_stub, re_search_stub)
85417         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
85418         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
85419         (update_cur_sifted_state, check_dst_limits):
85420         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85421         (check_subexp_limits, sift_states_bkref, merge_state_array):
85422         (check_subexp_matching_top, get_subexp, get_subexp_sub):
85423         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
85424         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85425         (expand_bkref_cache, check_node_accept_bytes):
85426         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
85427         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
85428         (acquire_init_state_context, check_halt_node_context):
85429         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
85430         (sift_states_backward, clean_state_log_if_needed):
85431         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
85432         (find_recover_state, transit_state_sb, transit_state_mb):
85433         (transit_state_bkref, build_trtable, match_ctx_clean):
85434         Likewise.
85435         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
85436         to work around an assumption that REG_MISSING is negative.
85437
85438         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
85439         (seek_collating_symbol_entry) [defined _LIBC]:
85440         (lookup_collation_sequence_value) [defined _LIBC]:
85441         (build_range_exp, build_collating_symbol) [defined _LIBC]:
85442         Use prototypes rather than old-style function definitions.
85443         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
85444         (transit_state_sb) [0]:
85445         (find_collation_sequence_value) [defined _LIBC]: Likewise.
85446
85447         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
85448         rm_eo.
85449
85450         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
85451         (optimize_subexps, lower_subexp):
85452         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
85453         since the signed shift might overflow.  Use 1u<<31 instead.
85454         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85455         Likewise.
85456         * lib/regexec.c (check_dst_limits_calc_pos_1,
85457         check_subexp_matching_top): Likewise.
85458
85459         * lib/regcomp.c (optimize_subexps, lower_subexp):
85460         Use CHAR_BIT rather than 8, for clarity.
85461         * lib/regexec.c (check_dst_limits_calc_pos_1):
85462         (check_subexp_matching_top): Likewise.
85463         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
85464         have to worry about portability issues when shifting it left.
85465         Remove no-longer-needed test for table_size > 0.
85466         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
85467         in a word, as the resulting behavior is undefined.
85468         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
85469         in one case, a <= should have been an <, and in another case the
85470         whole test was missing.
85471         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
85472         the standard name CHAR_BIT.
85473         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
85474         this is not true on one's complement and signed-magnitude hosts.
85475
85476         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
85477         next_last_offset.
85478         (struct re_dfa_t): Remove unused member states_alloc.
85479         * lib/regcomp.c (init_dfa): Don't initialize unused members.
85480
85481 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85482
85483         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
85484         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
85485         and large-file glibc and in 32-bit large-file Solaris.
85486
85487 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85488
85489         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
85490         lengths fit in regoff_t; this isn't true if regoff_t is the same
85491         width as size_t.
85492         * lib/regex.c (re_search_internal): 5th arg is LAST_START
85493         (= START + RANGE) instead of RANGE.  This avoids overflow
85494         problems when regoff_t is the same width as size_t.
85495         All callers changed.
85496         (re_search_2_stub): Check for overflow when adding the
85497         sizes of the two strings.
85498         (re_search_stub): Check for overflow when adding START
85499         to RANGE; if it occurs, substitute the extreme value.
85500
85501 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85502
85503         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
85504
85505 2005-08-31  Jim Meyering  <jim@meyering.net>
85506
85507         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
85508         a pointer-to-const.
85509         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
85510         (register_state): Likewise.
85511         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
85512         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85513         (group_nodes_into_DFAstates): Likewise.
85514
85515 2005-08-31  Jim Meyering  <jim@meyering.net>
85516
85517         * check-module: Add a FIXME comment.
85518
85519 2005-08-31  Eric Blake  <ebb9@byu.net>
85520
85521         * modules/unistd-safer (Files): Add unistd--.h.
85522         * modules/stdio-safer (Files): Add stdio--.h.
85523
85524 2005-08-31  Derek Price  <derek@ximbiot.com>
85525
85526         * lib/getdelim.c (getdelim): Return EOF on EOF.
85527         Reported by Larry Jones <lawrence.jones@ugs.com>.
85528
85529 2005-08-31  Bruno Haible  <bruno@clisp.org>
85530
85531         Avoid unnecessary diffs in the generated lib/Makefile.am.
85532         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
85533         the generated files.
85534         (func_import): Don't set cmd.
85535
85536 2005-08-31  Bruno Haible  <bruno@clisp.org>
85537
85538         * lib/strstr.c: Include <stddef.h>, for NULL.
85539         * lib/strcasestr.c: Likewise.
85540         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
85541
85542 2005-08-31  Bruno Haible  <bruno@clisp.org>
85543
85544         * gnulib-tool: New option --macro-prefix.
85545         (func_import): Use macro_prefix.
85546         (import): Handle option --macro-prefix.
85547
85548 2005-08-31  Bruno Haible  <bruno@clisp.org>
85549
85550         * gnulib-tool (import): Rename most ac_* variables to cached_*.
85551         Also use new variables cached_lgpl, cached_libtool.
85552
85553 2005-08-31  Bruno Haible  <bruno@clisp.org>
85554
85555         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
85556         always instantiating them.
85557
85558 2005-08-31  Bruno Haible  <bruno@clisp.org>
85559
85560         * gnulib-tool (func_import): Read the previous cached settings
85561         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
85562         earlier added by gnulib but are now dropped. Warn when a gnulib file
85563         overwrites a non-gnulib file.
85564
85565 2005-08-31  Bruno Haible  <bruno@clisp.org>
85566
85567         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
85568         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
85569         projects that don't keep autogenerated files in CVS. Put into
85570         actioncmd only the specified modules, not the transitive closure.
85571
85572 2005-08-31  Bruno Haible  <bruno@clisp.org>
85573
85574         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
85575         Create directories that shall be filled.
85576         (import): Don't look for gl_* macros in configure.ac. Recurse across
85577         all directories containing a gnulib-cache.m4 files, if meaningful.
85578
85579 2005-08-31  Bruno Haible  <bruno@clisp.org>
85580
85581         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
85582         (import): Set seen_libtool when we see gl_LIBTOOL.
85583
85584 2005-08-31  Bruno Haible  <bruno@clisp.org>
85585
85586         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
85587         declaration macro definitions from generated gnulib.m4.
85588
85589 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
85590
85591         * lib/iconvme.h: Add prototype for iconv_alloc.
85592
85593 2005-08-29  Simon Josefsson  <jas@extundo.com>
85594
85595         * lib/iconvme.c: Fix errno.
85596
85597 2005-08-29  Bruno Haible  <bruno@clisp.org>
85598
85599         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
85600         that it works when the directory contains spaces.
85601
85602 2005-08-29  Bruno Haible  <bruno@clisp.org>
85603
85604         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
85605
85606 2005-08-29  Bruno Haible  <bruno@clisp.org>
85607
85608         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
85609         Emit more advice.
85610
85611 2005-08-29  Bruno Haible  <bruno@clisp.org>
85612         and Stepan Kasal  <kasal@ucw.cz>
85613
85614         * check-module: If more parameters are given, check each of them
85615         separately; add more exceptions, as noted by Jim Meyering.
85616         (check_module): New procedure.
85617         (%exempt_header): Now contains all exceptions.
85618
85619 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
85620
85621         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
85622
85623 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85624
85625         * lib/iconvme.c: Split iconv_string into iconv_alloc.
85626
85627 2005-08-28  Bruno Haible  <bruno@clisp.org>
85628
85629         * m4/gnulib-tool.m4: New file.
85630
85631 2005-08-27  Jim Meyering  <jim@meyering.net>
85632
85633         * modules/unistd-safer (Files): Add pipe-safer.c.
85634         * modules/fcntl-safer (Files): Add creat-safer.c.
85635
85636 2005-08-27  Jim Meyering  <jim@meyering.net>
85637
85638         * m4/stdlib-safer.m4: New file.  From coreutils.
85639         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
85640         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
85641         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
85642         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
85643         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
85644
85645 2005-08-27  Jim Meyering  <jim@meyering.net>
85646
85647         * lib/fopen-safer.c: Merge minor changes from coreutils.
85648         * lib/dup-safer.c: Likewise.
85649         * lib/fd-safer.c: Likewise.
85650
85651         Merge from coreutils.
85652         * lib/stdio--.h: New file.
85653         * lib/stdlib--.h: New file.
85654         * lib/mkstemp-safer.c: New file.
85655
85656         GNU tar needs these.
85657         * lib/pipe-safer.c: New file.
85658         * lib/creat-safer.c: New file.
85659         * lib/fcntl--.h (creat): Define to creat_safer.
85660         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
85661         * lib/unistd--.h (pipe): Define to pipe_safer.
85662         * lib/unistd-safer.h: Declare pipe_safer.
85663
85664 2005-08-26  Simon Josefsson  <jas@extundo.com>
85665
85666         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
85667         Haible <bruno@clisp.org>.
85668
85669 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
85670
85671         * lib/regex_internal.h: Remove all references to
85672         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
85673         or better.
85674         (bitset_not, bitset_merge, bitset_not_merge):
85675         (bitset_mask, re_string_allocate, re_string_construct):
85676         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
85677         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
85678         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
85679         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
85680         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85681         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85682         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
85683         (re_acquire_state_context):
85684         Remove unnecessary forward decls.
85685         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
85686         Put __attribute at function definition,
85687         now that the function decl has been removed.
85688         * lib/regex_internal.c (re_string_peek_byte_case):
85689         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
85690         Likewise.
85691
85692 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
85693
85694         * m4/regex.m4: Add AC_PREREQ(2.50).
85695         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
85696
85697 2005-08-25  Simon Josefsson  <jas@extundo.com>
85698
85699         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
85700         __fsetlocking.
85701
85702 2005-08-25  Simon Josefsson  <jas@extundo.com>
85703
85704         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
85705         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
85706         GLIBC specific code.
85707
85708 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85709
85710         Make regex safe for g++.  This fixes one real bug (an "err"
85711         that should have been "*err").  g++ problem reported by
85712         Sam Steingold.
85713         * lib/regex_internal.h (re_calloc): New macro, consistent with
85714         re_malloc etc.  All callers of calloc changed to use re_calloc.
85715         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
85716         not int.  All callers changed.
85717         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
85718         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
85719         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
85720         (find_recover_state): Change "err" to "*err"; this fixes what
85721         appears to be a real bug.
85722         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
85723         versus int.
85724
85725 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85726
85727         * modules/regex (Depends-on): Add malloc, since the code
85728         assumes that !malloc(0) means failure.
85729
85730 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85731
85732         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
85733
85734         alloca modernization/simplification for regex.
85735         * lib/regex.c: Remove portability cruft for alloca.  This no longer
85736         needs to be at the start of the file, and can be moved into
85737         regex_internal.h and simplified.
85738         * lib/regex_internal.h: Include <alloca.h>.
85739         (__libc_use_alloca) [!defined _LIBC]: New macro.
85740         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
85741         now works outside glibc.
85742
85743 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85744
85745         * config/srclist.txt: Add glibc bugs 1241, 1245.
85746
85747 2005-08-25  Jim Meyering  <jim@meyering.net>
85748
85749         * lib/open-safer.c: Include <config.h>.
85750         Otherwise, we'd lose LARGEFILE support in any file using
85751         e.g. "fcntl--.h"
85752
85753 2005-08-25  Bruno Haible  <bruno@clisp.org>
85754
85755         * m4/minmax.m4: Require autoconf 2.52.
85756         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
85757         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
85758         alternatives of translit over the alphabet.
85759         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
85760
85761 2005-08-24  Simon Josefsson  <jas@extundo.com>
85762
85763         * tests/test-getpass.c: New file.
85764
85765 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85766
85767         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
85768         for GNU regex features.
85769
85770 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85771
85772         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
85773         * lib/regex.h (regerror): Likewise.
85774
85775         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
85776         requires this.  (The code never needed it.)
85777
85778         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
85779         All uses of recently-renamed identifiers changed to use the new,
85780         POSIX-compliant names.  The code will build and run just fine
85781         without these changes, but it's better to eat our own dog food
85782         and use the standard-conforming names.
85783
85784         * lib/regex.h: Fix a multitude of POSIX name space violations.
85785         These changes have an effect only for programs that define
85786         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
85787         do not change anything for programs compiled in the normal way.
85788         Also, there is no effect on the ABI.
85789
85790         (_REGEX_SOURCE): New macro.
85791         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
85792         defined and _GNU_SOURCE is not; this fixes a name space violation.
85793
85794         Rename the following macros to obey POSIX requirements.
85795         The old names are still visible as macros if _REGEX_SOURCE is defined.
85796         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
85797         RE_BACKSLASH_ESCAPE_IN_LISTS.
85798         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
85799         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
85800         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
85801         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
85802         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
85803         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
85804         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
85805         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
85806         (REG_INTERVALS): renamed from RE_INTERVALS.
85807         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
85808         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
85809         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
85810         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
85811         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
85812         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
85813         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
85814         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
85815         RE_UNMATCHED_RIGHT_PAREN_ORD.
85816         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
85817         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
85818         (REG_DEBUG): renamed from RE_DEBUG.
85819         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
85820         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
85821         unusual, since we can't clash with the POSIX REG_ICASE.
85822         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
85823         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
85824         (REG_NO_SUB): renamed from RE_NO_SUB.
85825         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
85826         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
85827         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
85828         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
85829         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
85830         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
85831         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
85832         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
85833         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
85834         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
85835         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
85836         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
85837         RE_SYNTAX_POSIX_MINIMAL_BASIC.
85838         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
85839         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
85840         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
85841         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
85842         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
85843         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
85844         (REG_FIXED): Renamed from REGS_FIXED.
85845         (REG_NREGS): Renamed from RE_NREGS.
85846
85847         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
85848         of other REG_* macros, since POSIX says the user is allowed to
85849         #undef these macros selectively.
85850
85851         (reg_errcode_t): Update comment stating what other tables need
85852         to be consistent.
85853
85854         Rename the following enum values to obey POSIX requirements.
85855         The old names are still visible as macros.
85856         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
85857         is not defined, since GNU is supposed to be a superset of POSIX as
85858         much as possible, and since we want reg_errcode_t to be a signed
85859         type for implementation consistency.
85860         (_REG_NOERROR): Renamed from REG_NOERROR.
85861         (_REG_NOMATCH): Renamed from REG_NOMATCH.
85862         (_REG_BADPAT): Renamed from REG_BADPAT.
85863         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
85864         (_REG_ECTYPE): Renamed from REG_ECTYPE.
85865         (_REG_EESCAPE): Renamed from REG_EESCAPE.
85866         (_REG_ESUBREG): Renamed from REG_ESUBREG.
85867         (_REG_EBRACK): Renamed from REG_EBRACK.
85868         (_REG_EPAREN): Renamed from REG_EPAREN.
85869         (_REG_EBRACE): Renamed from REG_EBRACE.
85870         (_REG_BADBR): Renamed from REG_BADBR.
85871         (_REG_ERANGE): Renamed from REG_ERANGE.
85872         (_REG_ESPACE): Renamed from REG_ESPACE.
85873         (_REG_BADRPT): Renamed from REG_BADRPT.
85874         (_REG_EEND): Renamed from REG_EEND.
85875         (_REG_ESIZE): Renamed from REG_ESIZE.
85876         (_REG_ERPAREN): Renamed from REG_ERPAREN.
85877         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
85878         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
85879         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
85880         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
85881
85882         (_REG_RE_NAME, _REG_RM_NAME): New macros.
85883         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
85884         changed.  But support the old name if the new one is not defined
85885         and if _REGEX_SOURCE.
85886
85887         Change the following member names in struct re_pattern_buffer.
85888         The old names are still supported if !_REGEX_SOURCE.
85889         The new names are always supported, regardless of _REGEX_SOURCE.
85890         (re_buffer): Renamed from buffer.
85891         (re_allocated): Renamed from allocated.
85892         (re_used): Renamed from used.
85893         (re_syntax): Renamed from syntax.
85894         (re_fastmap): Renamed from fastmap.
85895         (re_translate): Renamed from translate.
85896         (re_can_be_null): Renamed from can_be_null.
85897         (re_regs_allocated): Renamed from regs_allocated.
85898         (re_fastmap_accurate): Renamed from fastmap_accurate.
85899         (re_no_sub): Renamed from no_sub.
85900         (re_not_bol): Renamed from not_bol.
85901         (re_not_eol): Renamed from not_eol.
85902         (re_newline_anchor): Renamed from newline_anchor.
85903
85904         Change the following member names in struct re_registers.
85905         The old names are still supported if !_REGEX_SOURCE.
85906         The new names are always supported, regardless of _REGEX_SOURCE.
85907         (rm_num_regs): Renamed from num_regs.
85908         (rm_start): Renamed from start.
85909         (rm_end): Renamed from end.
85910
85911         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
85912         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
85913         Prepend __ to parameter names.
85914
85915         Undo yesterday's changes.
85916
85917 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85918
85919         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
85920         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
85921         lib/regex.c.
85922
85923 2005-08-24  Jim Meyering  <jim@meyering.net>
85924
85925         Sync from coreutils.
85926         * m4/fcntl-safer.m4: New file.
85927
85928         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
85929         and object files for this module.
85930
85931 2005-08-24  Jim Meyering  <jim@meyering.net>
85932
85933         Sync from coreutils.
85934         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
85935
85936 2005-08-24  Jim Meyering  <jim@meyering.net>
85937
85938         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
85939         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
85940
85941 2005-08-24  Jim Meyering  <jim@meyering.net>
85942
85943         * modules/fcntl-safer: New module.
85944         * modules/fts (Depends-on): Add fcntl-safer.
85945         * MODULES.html.sh (File descriptor based Input/Output):
85946         Add fcntl-safer.
85947
85948 2005-08-24  Bruno Haible  <bruno@clisp.org>
85949
85950         Support for unit test modules.
85951         * modules/README: Mention tests modules.
85952         * modules/TEMPLATE-TESTS: New file.
85953         * gnulib-tool: New options --extract-tests-module, --with-tests and
85954         --tests-base (unused for the moment).
85955         (testsbase, inctests): New variables.
85956         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
85957         (func_verify_module): Exclude TEMPLATE-TESTS.
85958         (func_verify_nontests_module, func_verify_tests_module): New functions.
85959         (func_get_dependencies): Add implicit dependency for tests modules.
85960         (func_get_tests_module): New function.
85961         (func_modules_transitive_closure): When --with-tests was specified,
85962         include the unit tests as well, unless explicitly avoided.
85963         (func_emit_lib_Makefile_am): Ignore the tests modules here.
85964         (func_emit_tests_Makefile_am): New function.
85965         (func_create_testdir): When --with-tests was specified, emit a
85966         tests/ directory.
85967         * MODULES.html.sh (Future developments): Update.
85968
85969 2005-08-24  Bruno Haible  <bruno@clisp.org>
85970
85971         * modules/tls-tests: New file.
85972         * tests/test-tls.c: New file, from GNU gettext.
85973
85974 2005-08-24  Bruno Haible  <bruno@clisp.org>
85975
85976         * modules/lock-tests: New file.
85977         * tests/test-lock.c: New file, from GNU gettext.
85978
85979 2005-08-24  Bruno Haible  <bruno@clisp.org>
85980
85981         * lib/lock.h: Add multiple inclusion guard.
85982         * lib/tls.h: Add multiple inclusion guard.
85983
85984 2005-08-24  Bruno Haible  <bruno@clisp.org>
85985
85986         * gnulib-tool: Add support for the --aux-dir option to
85987         --create-testdir, --create-megatestdir, --test, --megatest.
85988         (func_create_testdir, func_create_megatestdir): Optionally emit a
85989         AC_CONFIG_AUX_DIR directive.
85990         (create-testdir, create-megatestdir, test, megatest): Provide a
85991         default value for $auxdir.
85992
85993 2005-08-24  Bruno Haible  <bruno@clisp.org>
85994
85995         * gnulib-tool (import): Use compound statement instead of subshell
85996         where possible.
85997
85998 2005-08-24  Bruno Haible  <bruno@clisp.org>
85999
86000         * gnulib-tool (import): Change --aux-dir default to "build-aux".
86001
86002 2005-08-24  Bruno Haible  <bruno@clisp.org>
86003
86004         * gnulib-tool (func_version): Update.
86005
86006 2005-08-24  Bruno Haible  <bruno@clisp.org>
86007
86008         * gnulib-tool (func_import, func_create_testdir,
86009         func_create_megatestdir): Quote all autoconf macro arguments.
86010
86011 2005-08-24  Bruno Haible  <bruno@clisp.org>
86012
86013         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
86014         option --force, because --force causes the aclocal.m4 of each
86015         subdirectory to be newer than the corresponding config.h.in.
86016
86017 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86018
86019         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
86020         All contents moved to gl_REGEX.
86021         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
86022         assume that it does.
86023
86024 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86025
86026         * lib/regex.h (REG_NOSYS)
86027         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
86028         Define, since POSIX requires it as of 2001.
86029         (_REG_ENOSYS)
86030         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
86031         New private symbol, used to keep the enum signed in all cases.
86032         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
86033         Youngman in
86034         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
86035
86036         * lib/regex_internal.c (re_string_skip_chars, register_state):
86037         (calc_state_hash):
86038         Remove forward decls; no longer needed now that we use prototypes.
86039         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
86040         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
86041         (clean_state_log_if_needed): Likewise.
86042
86043 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86044
86045         * config/srclist.txt: Add glibc bugs 1231-1233.
86046
86047 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86048
86049         Fix problems reported by Sam Steingold in
86050         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
86051         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
86052         assumed that reg_errcode_t is a signed type, which is not
86053         necessarily true if _XOPEN_SOURCE is not defined.
86054         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
86055         since some compilers warn about it otherwise.
86056
86057 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86058
86059         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
86060         (init_word_char, create_initial_state, duplicate_node_closure):
86061         (fetch_token, peek_token_bracket, build_range_exp):
86062         (build_collating_symbol): Remove forward decls; no longer needed
86063         now that we use prototypes.
86064
86065         * lib/regcomp.c:
86066         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
86067         (re_compile_fastmap_iter, regcomp, regerror, regfree):
86068         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
86069         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
86070         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
86071         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
86072         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
86073         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
86074         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
86075         (build_range_exp, build_collating_symbol, parse_bracket_exp):
86076         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
86077         (build_charclass, build_charclass_op, fetch_number, create_tree):
86078         (create_token_tree, mark_opt_subexp, duplicate_tree):
86079         Use prototypes rather than old-style definitions.
86080
86081         * lib/regex_internal.c:
86082         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
86083         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
86084         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
86085         (re_string_reconstruct, re_string_peek_byte_case):
86086         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
86087         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
86088         (re_node_set_init_copy, re_node_set_add_intersect):
86089         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
86090         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
86091         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
86092         (re_acquire_state, re_acquire_state_context, register_state):
86093         (create_ci_newstate, create_cd_newstate, free_state):
86094         Likewise.
86095         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
86096         re_search_2):
86097         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
86098         (re_search_internal, prune_impossible_nodes):
86099         (acquire_init_state_context, check_matching, static):
86100         (check_halt_node_context, check_halt_state_context, proceed_next_node):
86101         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
86102         (update_regs, sift_states_backward, build_sifted_states):
86103         (clean_state_log_if_needed, merge_state_array):
86104         (update_cur_sifted_state, add_epsilon_src_nodes):
86105         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
86106         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
86107         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
86108         (find_recover_state, check_subexp_matching_top, transit_state_mb):
86109         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
86110         (check_arrival, check_arrival_add_next_nodes):
86111         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
86112         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
86113         (check_node_accept_bytes, check_node_accept, extend_buffers):
86114         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
86115         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
86116         (sift_ctx_init):
86117         Likewise.
86118
86119         * lib/regex_internal.h:
86120         (re_string_allocate, re_string_construct, re_string_reconstruct):
86121         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
86122         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
86123         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
86124         (re_string_context_at, re_string_peek_byte_case):
86125         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
86126         is defined, since we now use prototypes always.
86127
86128         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
86129         C89 or better.  All uses removed.
86130
86131 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86132
86133         * config/srclist.txt: Add glibc bugs 1220-1227.
86134
86135 2005-08-20  Jim Meyering  <jim@meyering.net>
86136
86137         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
86138         of unused local, dfa.
86139
86140 2005-08-20  Bruno Haible  <bruno@clisp.org>
86141
86142         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
86143
86144 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86145
86146         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
86147         (re_node_set_insert_last, re_dfa_add_node):
86148         Rename local variables to avoid GCC shadowing warnings.
86149
86150 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86151
86152         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
86153         [defined lint]: Suppress bogus uninitialized-variable warnings.
86154
86155         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
86156         and let the caller return REG_ESPACE if out of space.  This
86157         removes an uninitialied-variable warning with GCC 4.0.1, and also
86158         avoids taking the address of a local variable.  All callers
86159         changed.
86160
86161 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86162
86163         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
86164         $LIBCSRC/posix/regexec.c.
86165         Add glibc bug 1217 for regcomp.c.
86166
86167 2005-08-19  Jim Meyering  <jim@meyering.net>
86168
86169         * lib/regexec.c (proceed_next_node): Redo local variables to
86170         avoid GCC shadowing warnings.
86171
86172 2005-08-18  Bruno Haible  <bruno@clisp.org>
86173
86174         * lib/strstr.c (strstr): Fix return value in multibyte case.
86175         * lib/strcasestr.c (strcasestr): Likewise.
86176
86177 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
86178
86179         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
86180
86181 2005-08-17  Jim Meyering  <jim@meyering.net>
86182
86183         Make the %s format (seconds since the epoch) work for a negative
86184         number and when used with a zero-padded field width, e.g. %015s.
86185
86186         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
86187         label so that it precedes the code to set `digits'.  Otherwise,
86188         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
86189         print `00-22'.  Now, it prints `-0022', as it should.
86190
86191 2005-08-17  Bruno Haible  <bruno@clisp.org>
86192
86193         * modules/strstr (Files): Add m4/mbrtowc.m4.
86194         (Depends-on): Add mbuiter.
86195
86196 2005-08-17  Bruno Haible  <bruno@clisp.org>
86197
86198         * modules/strcasestr: New file.
86199         * MODULES.html.sh (String handling, based on ANSI C 89): Add
86200         strcasestr.
86201
86202 2005-08-17  Bruno Haible  <bruno@clisp.org>
86203
86204         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
86205
86206 2005-08-17  Bruno Haible  <bruno@clisp.org>
86207
86208         * modules/mbuiter: New file.
86209         * MODULES.html.sh (Extended multibyte and wide character utilities):
86210         Add mbuiter.
86211
86212 2005-08-17  Bruno Haible  <bruno@clisp.org>
86213
86214         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
86215         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
86216
86217 2005-08-17  Bruno Haible  <bruno@clisp.org>
86218
86219         * m4/strcasestr.m4: New file.
86220
86221 2005-08-17  Bruno Haible  <bruno@clisp.org>
86222
86223         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
86224         * lib/strstr.c: Completely rewritten, with multibyte locale support.
86225
86226 2005-08-17  Bruno Haible  <bruno@clisp.org>
86227
86228         * lib/strcasestr.h: New file.
86229         * lib/strcasestr.c: New file.
86230
86231 2005-08-17  Bruno Haible  <bruno@clisp.org>
86232
86233         * lib/strcasecmp.c: Use mbuiter.h.
86234
86235 2005-08-17  Bruno Haible  <bruno@clisp.org>
86236
86237         * lib/mbuiter.h: New file.
86238
86239 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
86240
86241         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
86242         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
86243         and gl_GETOPT are both invoked via different paths (as happens
86244         with GNU tar CVS because it uses both argp and getopt), the former
86245         wins.
86246
86247 2005-08-16  Bruno Haible  <bruno@clisp.org>
86248
86249         * modules/tls: New file.
86250         * MODULES.html.sh (Multithreading): Add tls.
86251
86252 2005-08-16  Bruno Haible  <bruno@clisp.org>
86253
86254         * modules/strnlen1: New file.
86255         * MODULES.html.sh (String handling): Add strnlen1.
86256
86257 2005-08-16  Bruno Haible  <bruno@clisp.org>
86258
86259         * modules/strcase (Files): Add m4/mbrtowc.m4.
86260         (Depends-on): Add strnlen1, mbchar.
86261
86262 2005-08-16  Bruno Haible  <bruno@clisp.org>
86263
86264         * modules/mbiter: New file.
86265         * MODULES.html.sh (Extended multibyte and wide character utilities):
86266         Add mbiter.
86267
86268 2005-08-16  Bruno Haible  <bruno@clisp.org>
86269
86270         * modules/mbfile: New file.
86271         * MODULES.html.sh (Extended multibyte and wide character utilities):
86272         Add mbfile.
86273
86274 2005-08-16  Bruno Haible  <bruno@clisp.org>
86275
86276         * modules/mbchar: New file.
86277         * MODULES.html.sh (Extended multibyte and wide character utilities):
86278         New section.
86279
86280 2005-08-16  Bruno Haible  <bruno@clisp.org>
86281
86282         * m4/tls.m4: New file, from GNU gettext.
86283
86284 2005-08-16  Bruno Haible  <bruno@clisp.org>
86285
86286         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
86287         always.
86288         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
86289
86290 2005-08-16  Bruno Haible  <bruno@clisp.org>
86291
86292         * m4/mbiter.m4: New file.
86293
86294 2005-08-16  Bruno Haible  <bruno@clisp.org>
86295
86296         * m4/mbfile.m4: New file.
86297
86298 2005-08-16  Bruno Haible  <bruno@clisp.org>
86299
86300         * m4/mbchar.m4: New file.
86301
86302 2005-08-16  Bruno Haible  <bruno@clisp.org>
86303
86304         * lib/tls.h: New file, from GNU gettext.
86305         * lib/tls.c: New file, from GNU gettext.
86306
86307 2005-08-16  Bruno Haible  <bruno@clisp.org>
86308
86309         * lib/strnlen1.h: New file.
86310         * lib/strnlen1.c: New file.
86311
86312 2005-08-16  Bruno Haible  <bruno@clisp.org>
86313
86314         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
86315         (mbi_init): Update.
86316         (mbi_avail, mbi_advance): Let the iteration end before the terminating
86317         NUL byte, not after it.
86318
86319 2005-08-16  Bruno Haible  <bruno@clisp.org>
86320
86321         * lib/strcase.h (strcasecmp): Add note in comments.
86322         * lib/strncasecmp.c: Use code from strcasecmp.c.
86323         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
86324         (strcasecmp): Work correctly in multibyte locales.
86325
86326 2005-08-16  Bruno Haible  <bruno@clisp.org>
86327
86328         * lib/mbiter.h: New file.
86329
86330 2005-08-16  Bruno Haible  <bruno@clisp.org>
86331
86332         * lib/mbfile.h: New file.
86333
86334 2005-08-16  Bruno Haible  <bruno@clisp.org>
86335
86336         * lib/mbchar.h: New file.
86337         * lib/mbchar.c: New file.
86338
86339 2005-08-16  Bruno Haible  <bruno@clisp.org>
86340
86341         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
86342         the valid ones. Makes the comparison operations transitive:
86343         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
86344         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
86345
86346 2005-08-15  Simon Josefsson  <jas@extundo.com>
86347
86348         * modules/ssize_t (License): Change to 'unlimited'.
86349
86350         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
86351
86352 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
86353
86354         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
86355         Add comments for each pending glibc patch.
86356
86357 2005-08-15  Bruno Haible  <bruno@clisp.org>
86358
86359         * lib/regex.h (__restrict_arr): Don't define to __restrict if
86360         __cplusplus is defined.
86361
86362 2005-08-14  Jim Meyering  <jim@meyering.net>
86363
86364         Sync from coreutils.
86365
86366         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
86367         Use the hash-table-based cycle-detection code not just when
86368         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
86369         Reported by James Youngman in
86370         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
86371         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
86372         FTS_TIGHT_CYCLE_CHECK.
86373         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
86374         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
86375         once again.
86376         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
86377         * lib/fts.c (fd_safer): Remove decl.
86378         Include fcntl--.h rather than unistd-safer.h
86379         (fts_safe_changedir): Don't call fd_safer; no longer needed
86380         now that we include fcntl--.h.
86381
86382 2005-08-12  Simon Josefsson  <jas@extundo.com>
86383
86384         * modules/getndelim2: Use ssize_t module.
86385         * modules/getnline: Likewise.
86386         * modules/safe-read: Likewise.
86387         * modules/xreadlink: Likewise.
86388
86389         * modules/ssize_t: New file.
86390
86391 2005-08-12  Simon Josefsson  <jas@extundo.com>
86392
86393         * m4/readline.m4: Look for termcap, curses or ncurses if required.
86394
86395 2005-08-12  Simon Josefsson  <jas@extundo.com>
86396
86397         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86398         ssize_t.
86399
86400 2005-08-12  Simon Josefsson  <jas@extundo.com>
86401
86402         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
86403         readline, getdelim and check_version.
86404         (Support for systems lacking ISO C 99: Sizes of integer types):
86405         Add size_max.
86406
86407 2005-08-12  Bruno Haible  <bruno@clisp.org>
86408
86409         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
86410
86411 2005-08-11  Simon Josefsson  <jas@extundo.com>
86412
86413         * modules/readline: New file.
86414
86415         * modules/strnlen (Files): Add strnlen.h.
86416
86417 2005-08-11  Simon Josefsson  <jas@extundo.com>
86418
86419         * m4/readline.m4: New file.
86420
86421 2005-08-11  Simon Josefsson  <jas@extundo.com>
86422
86423         * lib/readline.h, readline.c: New file.
86424
86425 2005-08-11  Simon Josefsson  <jas@extundo.com>
86426
86427         * doc/gnulib.texi (Initial import, Finishing touches): Mention
86428         gl_AVOID.
86429
86430 2005-08-11  Bruno Haible  <bruno@clisp.org>
86431
86432         * lib/strnlen.h (strnlen): Change parameter name to match comment.
86433
86434 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
86435
86436         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
86437
86438 2005-08-10  Simon Josefsson  <jas@extundo.com>
86439
86440         * tests/test-iconvme.c: New file.
86441
86442 2005-08-10  Simon Josefsson  <jas@extundo.com>
86443
86444         * m4/strnlen.m4: New file.
86445
86446         * m4/strndup.m4: Don't check for strnlen declaration, done in
86447         strnlen.m4.
86448
86449 2005-08-10  Simon Josefsson  <jas@extundo.com>
86450
86451         * lib/strndup.c: Use strnlen.h.
86452
86453         * lib/strnlen.h: New file.
86454
86455 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
86456
86457         * README: Typos.
86458
86459 2005-08-02  Simon Josefsson  <jas@extundo.com>
86460
86461         * modules/readline: New file.
86462
86463 2005-08-02  Simon Josefsson  <jas@extundo.com>
86464
86465         * modules/getdelim: New file.
86466
86467         * modules/getline: Rewrite, don't use getndelim2.
86468
86469 2005-08-02  Simon Josefsson  <jas@extundo.com>
86470
86471         * m4/getline.m4: Separate out getdelim stuff into separate module.
86472
86473         * m4/getdelim.m4: New file.
86474
86475 2005-08-02  Simon Josefsson  <jas@extundo.com>
86476
86477         * lib/getline.h, getline.c: Rewrite.
86478
86479         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
86480
86481 2005-07-31  Bruno Haible  <bruno@clisp.org>
86482
86483         * lib/lock.h (gl_lock_initializer): New macro.
86484         (gl_lock_define_initialized): Use it.
86485         (gl_rwlock_initializer): New macro.
86486         (gl_rwlock_define_initialized): Use it.
86487         (gl_recursive_lock_initializer): New macro.
86488         (gl_recursive_lock_define_initialized): Use it.
86489
86490 2005-07-30  Karl Berry  <karl@gnu.org>
86491
86492         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
86493         Report from Ben Pfaff, regarding getopt.
86494
86495 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
86496
86497         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
86498         normal way.
86499         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
86500         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
86501         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
86502         (gl_GETOPT): Use the new macros.  Most of the implementation
86503         is moved to the new macros.  This is for programs like Emacs
86504         that don't want all the functionality of gl_GETOPT.
86505
86506 2005-07-26  Bruno Haible  <bruno@clisp.org>
86507
86508         * m4/lock.m4: Update from GNU gettext.
86509
86510 2005-07-26  Bruno Haible  <bruno@clisp.org>
86511
86512         * lib/lock.h: Update from GNU gettext.
86513         * lib/lock.c: Update from GNU gettext.
86514
86515 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
86516
86517         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
86518         obsolescent AC_TRY_RUN.  Include the default includes files, for
86519         'exit'.
86520
86521 2005-07-24  Bruno Haible  <bruno@clisp.org>
86522
86523         * modules/visibility: New file.
86524         * MODULES.html.sh (Misc): Add visibility.
86525
86526 2005-07-24  Bruno Haible  <bruno@clisp.org>
86527
86528         * m4/visibility.m4: New file.
86529
86530 2005-07-24  Bruno Haible  <bruno@clisp.org>
86531
86532         * doc/visibility.texi: New file.
86533
86534 2005-07-22  Bruno Haible  <bruno@clisp.org>
86535
86536         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
86537         $(ALLOCA_H), redundant through BUILT_SOURCES.
86538         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
86539         redundant through BUILT_SOURCES.
86540         * modules/byteswap (Makefile.am): Remove explicit dependency on
86541         $(BYTESWAP_H), redundant through BUILT_SOURCES.
86542         * modules/fnmatch (Makefile.am): Remove explicit dependency on
86543         $(FNMATCH_H), redundant through BUILT_SOURCES.
86544         * modules/getopt (Makefile.am): Remove explicit dependency on
86545         $(GETOPT_H), redundant through BUILT_SOURCES.
86546         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
86547         redundant through BUILT_SOURCES.
86548         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
86549         redundant through BUILT_SOURCES.
86550         * modules/stdbool (Makefile.am): Remove explicit dependency on
86551         $(STDBOOL_H), redundant through BUILT_SOURCES.
86552         * modules/stdint (Makefile.am): Remove explicit dependency on
86553         $(STDINT_H), redundant through BUILT_SOURCES.
86554         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
86555         Remove explicit dependency on $(SYSEXITS_H).
86556         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
86557
86558 2005-07-18  Simon Josefsson  <jas@extundo.com>
86559
86560         * lib/check-version.c (check_version): Accept identical versions too.
86561
86562 2005-07-18  Bruno Haible  <bruno@clisp.org>
86563
86564         * modules/lock: New file.
86565         * MODULES.html.sh (Multithreading): New section.
86566
86567 2005-07-18  Bruno Haible  <bruno@clisp.org>
86568
86569         * m4/lock.m4: New file, from GNU gettext.
86570
86571 2005-07-18  Bruno Haible  <bruno@clisp.org>
86572
86573         * lib/lock.h: New file, from GNU gettext.
86574         * lib/lock.c: New file, from GNU gettext.
86575
86576 2005-07-18  Bruno Haible  <bruno@clisp.org>
86577
86578         * lib/lock.h (gl_once_t): New type.
86579         (gl_once_define, gl_once): New macros.
86580         * lib/lock.c (fresh_once): New variable.
86581         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
86582         functions.
86583
86584 2005-07-16  Simon Josefsson  <jas@extundo.com>
86585
86586         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
86587         workaround, suggested by Bruno.
86588
86589 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86590
86591         * modules/xalloc (Depends-on): Add xalloc-die.
86592         * modules/xvasprintf (Depends-on): Add xalloc-die.
86593
86594 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86595
86596         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
86597         with a minor change.
86598
86599 2005-07-15  Bruno Haible  <bruno@clisp.org>
86600
86601         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
86602         When using lib/poll.c, define poll as rpl_poll.
86603
86604 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
86605
86606         * modules/argp (Depends-on): Remove unlocked-io.
86607
86608 2005-07-14  Derek Price  <derek@ximbiot.com>
86609
86610         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
86611         for glob symlink bug.
86612
86613 2005-07-14  Bruno Haible  <bruno@clisp.org>
86614
86615         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
86616         Instead, test for *_unlocked function declarations directly.
86617
86618 2005-07-11  Simon Josefsson  <jas@extundo.com>
86619
86620         * modules/size_max: New file.
86621
86622         * modules/xsize: Depend on size_max module for size_max.m4.
86623
86624 2005-07-11  Simon Josefsson  <jas@extundo.com>
86625
86626         * lib/size_max.h: New file.
86627
86628 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
86629
86630         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
86631         copyright symbol and the year.
86632         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
86633         (version_etc_va): Use parameterized copyright notice.
86634         Reword to conform to the current GNU coding standards.
86635
86636 2005-07-11  Karl Berry  <karl@gnu.org>
86637
86638         * doc/gnulib.texi (Quoting): new node.
86639         (Initial import): more info, from Patrice.
86640
86641 2005-07-11  Bruno Haible  <bruno@clisp.org>
86642
86643         * gnulib-tool (func_usage): Document option --avoid.
86644         (Command line options): Handle --avoid.
86645         (func_acceptable): New function.
86646         (func_modules_transitive_closure): Use it.
86647
86648 2005-07-11  Bruno Haible  <bruno@clisp.org>
86649
86650         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
86651         Reported by Jim Meyering.
86652
86653 2005-07-10  Bruno Haible  <bruno@clisp.org>
86654
86655         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
86656         Needed when size_t is smaller than 'unsigned int'.
86657         Reported by Paul Eggert.
86658
86659 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86660
86661         * modules/argp (Depends-on): Add unlocked-io
86662
86663 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86664
86665         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
86666         block of defines.
86667
86668 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
86669
86670         * config/srclist.txt: Comment out regcomp.c, since we have a porting
86671         fix now.
86672
86673 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
86674         and Paul Eggert  <eggert@cs.ucla.edu>
86675
86676         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
86677         in wint_t, not wchar_t.  Remove now-unnecessary cast.
86678
86679 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86680
86681         * modules/regex (Files): Add lib/regex_internal.c,
86682         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
86683         (Depends-on): Add extensions.
86684         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
86685
86686 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86687
86688         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
86689         pathconf.
86690         * m4/same.m4 (gl_SAME): Likewise.
86691         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
86692
86693         * m4/regex.m4: Adjust to new libc regex implementation.
86694         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
86695         all the .c and .h parts of (the new) regex.
86696         Quote the m4 stuff better.
86697         Check for RE_ICASE bug of old gnulib.
86698         Check for REG_STARTEND of recent libc.
86699         Rename local variables from jm_* to gl_*.
86700         Quote operand of "test -f".
86701         Say "recent enough" version of libc, not "version 2".
86702         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
86703         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
86704         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
86705         Remove check for btowc, isascii.
86706         Require AM_LANGINFO_CODESET.
86707
86708 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86709
86710         * lib/regex.c, regex.h: Sync from libc.
86711         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
86712         * lib/regexec.c:
86713         New files, synced from libc, except that regex_internal.h
86714         currently has a small porting fix.
86715
86716 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86717
86718         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
86719         regex_internal.c, regexec.c.
86720         Add regex_internal.h too, but as a comment, since the libc version
86721         is currently broken in gnulib mode.
86722
86723 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
86724
86725         Support programs like Emacs that use gnulib but not gettext.
86726         * MODULES.html.sh (Internationalization functions): Add gettext-h.
86727         * modules/gettext-h: New file.
86728         * modules/gettext (Files): Remove lib/gettext.h.
86729         (Depends-on): Add gettext-h.
86730         (Makefile.am): Remove lib_SOURCES.
86731         * modules/argmatch, modules/c-stack, modules/closeout:
86732         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
86733         * modules/execute, modules/file-type, modules/getaddrinfo:
86734         * modules/getopt, modules/human, modules/javacomp:
86735         * modules/javaexec, modules/mkdir-p, modules/obstack:
86736         * modules/openat, modules/pagealign_alloc, modules/pipe:
86737         * modules/quotearg, modules/regex, modules/rpmatch:
86738         * modules/unicodeio, modules/userspec, modules/version-etc:
86739         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
86740         * modules/xsetenv:
86741         Depend on gettext-h, not gettext.
86742
86743 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
86744
86745         * gnulib-tool (func_import): Add support for 'public domain' license.
86746         * modules/alloca, modules/atexit, modules/memmove:
86747         Now public domain, not GPL.
86748         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
86749         * modules/realloc, modules/strerror, modules/strtod:
86750         Now LGPL, not GPL.
86751
86752 2005-07-05  Bruno Haible  <bruno@clisp.org>
86753
86754         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
86755         autoconf CVS. Needed for mingw.
86756
86757 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86758
86759         Remove the dependency of the strftime module on the tzset module.
86760         * modules/strftime (Depends-on): Remove dependency on tzset.
86761
86762 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86763
86764         Remove the dependency of the strftime module on the tzset module.
86765         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
86766         gl_FUNC_TZSET_CLOBBER.
86767
86768 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86769
86770         Remove the dependency of the strftime module on the tzset module.
86771         * lib/strftime.c (my_strftime)
86772         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
86773         Copy the input structure, to work around some of the bug with
86774         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
86775         Solaris releases, you should also use the tzset module, but we won't
86776         require it as a dependency any more since we don't want LGPLed code
86777         to depend on GPLed code.
86778
86779 2005-07-02  Jim Meyering  <jim@meyering.net>
86780
86781         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
86782         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
86783         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
86784         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
86785
86786 2005-07-02  Jim Meyering  <jim@meyering.net>
86787
86788         * lib/backupfile.c (backup_args): Change a `0' to NULL.
86789
86790 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
86791
86792         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
86793         declares only 'struct timespec;' (!).
86794
86795 2005-07-01  Jim Meyering  <jim@meyering.net>
86796
86797         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
86798         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
86799         * lib/save-cwd.c, tempname.c:
86800         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
86801         and don't include <sys/file.h>).
86802
86803 2005-06-29  Jim Meyering  <jim@meyering.net>
86804
86805         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
86806         type name.  Use the variable name instead.
86807         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
86808         Likewise.
86809
86810 2005-06-28  Simon Josefsson  <jas@extundo.com>
86811
86812         * modules/check-version (Files): Add check-version.m4.
86813
86814 2005-06-28  Simon Josefsson  <jas@extundo.com>
86815
86816         * m4/check-version.m4: New file, suggested by Jim Meyering
86817         <jim@meyering.net>.
86818
86819 2005-06-28  Simon Josefsson  <jas@extundo.com>
86820
86821         * lib/check-version.h, lib/check-version.c: New files.
86822
86823 2005-06-28  Simon Josefsson  <jas@extundo.com>
86824
86825         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
86826         collision with global variable.  Better indentation.  Don't
86827         increment buffer pointer beyond buffer end.  Based on comments
86828         from Paul Eggert <eggert@cs.ucla.edu>.
86829
86830         * lib/base64.h: Indent.
86831
86832 2005-06-28  Simon Josefsson  <jas@extundo.com>
86833
86834         * doc/gnulib.texi (Library version handling): New section.
86835
86836 2005-06-28  Jim Meyering  <jim@meyering.net>
86837
86838         * check-module (find_included_lib_files): Hard-code another
86839         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
86840         but modules/fts-lgpl (correctly) does not list those files.
86841
86842         * modules/canonicalize (Files): Add lib/pathmax.h.
86843
86844 2005-06-25  Simon Josefsson  <jas@extundo.com>
86845
86846         * modules/check-version: New file.
86847
86848 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
86849
86850         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
86851         initializer of struct addrinfo, as an indication that we don't
86852         care how many members the structure has.
86853
86854 2005-06-24  Derek Price  <derek@ximbiot.com>
86855         and Bruno Haible  <bruno@clisp.org>
86856
86857         Remove stat module & update lstat.
86858         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
86859         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
86860         * m4/stat.m4: Remove this file.
86861
86862 2005-06-24  Derek Price  <derek@ximbiot.com>
86863         and Bruno Haible  <bruno@clisp.org>
86864
86865         Remove stat module & update lstat.
86866         * lib/stat.c: Remove this file...
86867         (slash_aware_lstat): ...moving this content and its support...
86868         * lib/lstat.c (rpl_lstat): ...into here.
86869         * lib/lstat.h: New file.
86870
86871 2005-06-24  Derek Price  <derek@ximbiot.com>
86872         and Bruno Haible  <bruno@clisp.org>
86873
86874         Remove stat module & update lstat.
86875         * config/srclist.txt (libc sources): Remove stat.
86876
86877 2005-06-24  Derek Price  <derek@ximbiot.com>
86878         and Bruno Haible  <bruno@clisp.org>
86879
86880         Remove stat module & update lstat.
86881         * MODULES.html.sh (stat): Remove.
86882         * MODULES.html: Regenerated.
86883         * modules/lstat (Description): Correct function name.
86884         (Files): Add "lstat.h".
86885         (Depends-on): Remove stat, add xalloc, stat-macros.
86886         * modules/stat: Remove this file.
86887         (Include): Add "lstat.h", remove <sys/stat.h>.
86888
86889 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86890
86891         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
86892         (ranged_convert): Don't save conversion in a temporary struct.
86893         This causes a warning with GCC 4.0.0, and anyway in the typical
86894         case it's not worth the extra 100 bytes or so of code.
86895         (ranged_convert, __mktime_internal): When calling a function via a
86896         pointer P, use P () rather than (*P) (), as we now assume C89 or
86897         better.
86898
86899 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86900
86901         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
86902         "who -r" failed to give output.  Problem reported by Tim Waugh.
86903
86904         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
86905         (xcalloc): Use it to avoid needless tests.
86906         Problem reported by Jim Meyering.
86907
86908 2005-06-20  Derek Price  <derek@ximbiot.com>
86909
86910         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
86911         unnecessary for Autoconfs > 2.59c.
86912
86913 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86914
86915         * lib/argp.h (__option_is_short): Check upper limit of
86916         __key. Isprint() requires its argument to have the value
86917         of an unsigned char or EOF.
86918
86919 2005-06-16  Jim Meyering  <jim@meyering.net>
86920
86921         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
86922         when either N or S is zero.
86923
86924 2005-06-16  Derek Price  <derek@ximbiot.com>
86925
86926         * m4/bison.m4: Declare YACC & YFLAGS precious.
86927
86928 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
86929
86930         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
86931         multibyte string or pattern, fall back on unibyte matching.
86932         Problem reported by James Youngman.
86933
86934 2005-06-08  Bruno Haible  <bruno@clisp.org>
86935
86936         * modules/csharpcomp: New file.
86937         * MODULES.html.sh (C#): Add csharpcomp.
86938
86939 2005-06-08  Bruno Haible  <bruno@clisp.org>
86940
86941         * m4/csharpcomp.m4: New file, from GNU gettext.
86942
86943 2005-06-08  Bruno Haible  <bruno@clisp.org>
86944
86945         * lib/csharpcomp.h: New file, from GNU gettext.
86946         * lib/csharpcomp.c: New file, from GNU gettext.
86947         * lib/csharpcomp.sh.in: New file, from GNU gettext.
86948
86949 2005-06-08  Bruno Haible  <bruno@clisp.org>
86950
86951         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
86952         warning on mingw.
86953
86954 2005-06-07  Derek Price  <derek@ximbiot.com>
86955
86956         Sync from CVS.
86957         * lib/glob_.h: Indent nested #ifdef.
86958
86959 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86960
86961         Sync from coreutils.
86962         Use "file name" when talking about file names, instead of "filename"
86963         or "path", as per the GNU coding standards.
86964         * lib/mkdir-p.c: Renamed from makepath.c.
86965         (make_dir_parents): Renamed from make_path.  All callers changed.
86966         * lib/mkdir-p.h: Likewise.  All includers changed.
86967         * lib/filenamecat.c: Renamed from path-concat.c.
86968         (file_name_concat): Renamed from path_concat.  All callers changed.
86969         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
86970         * lib/filenamecat.h: Likewise.  All includers changed.
86971         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
86972         in comments or local variable names.
86973         * lib/basename.c: Likewise.
86974         * lib/canonicalize.c, canonicalize.h: Likewise.
86975         * lib/dirname.c, dirname.h: Likewise.
86976         * lib/euidaccess.c: Likewise.
86977         * lib/exclude.c: Likewise
86978         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
86979         * lib/fsusage.c, fsuage.h: Likewise.
86980         * lib/fts.c, fts_.h: Likewise.
86981         * lib/getcwd.c: Likewise.
86982         * lib/getloadavg.c: Likewise.
86983         * lib/mkstemp.c: Likewise.
86984         * lib/mountlist.c, mountlist.h: Likewise.
86985         * lib/openat.c, openat.h: Likewise.
86986         * lib/readlink-stub.c: Likewise.
86987         * lib/readutmp.c, readutmp.h: Likewise.
86988         * lib/rename.c: Likewise.
86989         * lib/rmdir.c: Likewise.
86990         * lib/same.c: Likewise.
86991         * lib/savedir.c: Likewise.
86992         * lib/stripslash.c: Likewise.
86993         * lib/tempname.c: Likewise.
86994         * lib/xreadlink.c: Likewise.
86995         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
86996         All uses changed.
86997         * lib/exclude.h: Likewise.
86998
86999         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
87000         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87001         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
87002         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87003         * lib/pathmax.h: Include <limits.h> unconditionally, since other
87004         files have been getting away with it for years (MORE/BSD 4.3
87005         is extinct now).
87006         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
87007         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87008
87009         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
87010         Define to 256, not 255, as per modern POSIX.
87011
87012 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87013
87014         Sync from coreutils.
87015         Use "file name" when talking about file names, instead of "filename"
87016         or "path", as per the GNU coding standards.
87017         * MODULES.html.sh: mkdir-p renamed from makepath.
87018         filenamecat renamed from path-concat.
87019         * modules/filenamecat: Renamed from modules/path-concat.
87020         (Files): filenamecat.h and filenamecat.c renamed from
87021         path-concat.h and path-concat.c.
87022         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
87023         (Include): filenamecat.h, not path-concat.h.
87024         * modules/mkdir-p: Renamed from modules/makepath.
87025         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
87026         makepath.c.
87027         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
87028         (Include): mkdir-p.h, not makepath.h.
87029
87030 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87031
87032         Sync from coreutils.
87033         * m4/mkdir-p.m4: Renamed from makepath.m4.
87034         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
87035         Rename files from makepath.c to mkdir-p.c, and from
87036         makepath.h to mkdir-p.h.
87037         * m4/filenamecat.m4: Renamed from path-concat.m4.
87038         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
87039         Rename files from path-concat.c to filenamecat.c,
87040         and from path-concat.h to filenamecat.h.
87041         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
87042         "file name" in local variables or comments.
87043         * m4/rename.m4: Likewise.
87044
87045 2005-06-01  Bruno Haible  <bruno@clisp.org>
87046
87047         * modules/csharpexec: New file.
87048         * MODULES.html.sh (C#): New section.
87049
87050 2005-06-01  Bruno Haible  <bruno@clisp.org>
87051
87052         * m4/csharp.m4: New file, from GNU gettext.
87053         * m4/csharpexec.m4: New file, from GNU gettext.
87054
87055 2005-06-01  Bruno Haible  <bruno@clisp.org>
87056
87057         * lib/csharpexec.h: New file, from GNU gettext.
87058         * lib/csharpexec.c: New file, from GNU gettext.
87059         * lib/csharpexec.sh.in: New file, from GNU gettext.
87060
87061 2005-05-31  Derek Price  <derek@ximbiot.com>
87062             Paul Eggert  <eggert@cs.ucla.edu>
87063
87064         Sync from cvs.
87065         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
87066
87067 2005-05-31  Derek Price  <derek@ximbiot.com>
87068             Paul Eggert  <eggert@cs.ucla.edu>
87069
87070         Sync from cvs.
87071         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
87072
87073 2005-05-29  Derek Price  <derek@ximbiot.com>
87074
87075         * config/srclist.txt (glob_.h, glob.c): Add these files.
87076
87077 2005-05-29  Derek Price  <derek@ximbiot.com>
87078
87079         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
87080         * modules/glob: New file.
87081         * modules/getlogin_r: Add link to POSIX spec in description.
87082
87083 2005-05-29  Derek Price  <derek@ximbiot.com>
87084             Paul Eggert  <eggert@cs.ucla.edu>
87085
87086         * m4/glob.m4: New file.
87087
87088 2005-05-29  Derek Price  <derek@ximbiot.com>
87089             Paul Eggert  <eggert@cs.ucla.edu>
87090
87091         * lib/glob_.h, lib/glob.c: New files.
87092
87093 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87094
87095         * modules/fts (Files): Remove m4/inttypes-pri.m4.
87096         * modules/fts-lgpl (Depends-on): Remove gettext.
87097
87098 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87099
87100         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
87101         and don't require gt_INTTYPES_PRI.
87102
87103 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87104
87105         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
87106
87107         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
87108         the configuration hassle isn't worth it.
87109         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
87110         (LONGEST_MODIFIER, PRIuMAX): Remove.
87111
87112 2005-05-27  Bruno Haible  <bruno@clisp.org>
87113
87114         * lib/getlogin_r.h: Remove second include of <stddef.h>.
87115
87116 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
87117
87118         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
87119         _POSIX_PTHREAD_SEMANTICS for Solaris.
87120
87121 2005-05-25  Derek Price  <derek@ximbiot.com>
87122
87123         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
87124
87125 2005-05-25  Derek Price  <derek@ximbiot.com>
87126             Paul Eggert  <eggert@cs.ucla.edu>
87127
87128         * modules/getlogin_r, m4/getlogin_r.m4: New files.
87129         * lib/getlogin_r.c, getlogin_r.h: New files.
87130
87131 2005-05-25  Bruno Haible  <bruno@clisp.org>
87132             Derek Price  <derek@ximbiot.com>
87133
87134         * lib/getlogin_r.h: Simplify API documentation.
87135
87136 2005-05-23  Derek Price  <derek@ximbiot.com>
87137
87138         * modules/minmax (Files): Add m4/minmax.m4.
87139         (configure.ac): Add gl_MINMAX.
87140
87141 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
87142
87143         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
87144         so that unistd-safer.h (GPL'ed code) need not be included.
87145
87146 2005-05-22  Bruno Haible  <bruno@clisp.org>
87147
87148         * m4/minmax.m4: New file.
87149         Based on a patch by Derek Price <derek@ximbiot.com>.
87150
87151 2005-05-22  Bruno Haible  <bruno@clisp.org>
87152
87153         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
87154         (INT64_MIN): Fix definition.
87155         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
87156
87157         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
87158         NEED_SIGNED_INT_TYPES.
87159
87160         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
87161         HAVE_SYSTEM_INTTYPES.
87162
87163 2005-05-22  Bruno Haible  <bruno@clisp.org>
87164
87165         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
87166         Also include <sys/param.h> if it defines MIN, MAX.
87167         Based on a patch by Derek Price <derek@ximbiot.com>.
87168
87169 2005-05-21  Jim Meyering  <jim@meyering.net>
87170
87171         * modules/fts (Files): Add m4/inttypes-pri.m4.
87172         (Depends-on): Add lstat and remove gettext.  Alphabetize.
87173
87174 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87175
87176         New fts module.
87177         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
87178         (setup_dir, free_dir): New functions.
87179         (enter_dir, leave_dir): Define trivial
87180         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
87181         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
87182         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
87183         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
87184         Move to fts-cycle.c.
87185         (fts_open): Use setup_dir.
87186         (fts_close): Use free_dir.
87187         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
87188         This adds a label and some gotos, but the alternatives were messier.
87189         Check for memory allocation failure when entering a dir.
87190         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
87191         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
87192         (FTS): New member fts_cycle, that is a union that contains the
87193         old active_dir_ht and cycle_state.  All uses changed to mention
87194         fts_cycle.ht and fts_cycle.state.
87195         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
87196         fts.c, with the following changes:
87197         (setup_dir, free_dir): New functions.
87198         (enter_dir): Now returns bool.  Return true if successful, false
87199         if memory exhausted.  All callers changed.
87200         Do not bother partly cleaning up on
87201         memory allocation failure; that is free_dir's job.
87202         However, free ad if hash_insert fails, to avoid memory leak.
87203         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
87204         fts->fts_options to see which union member to use.
87205
87206 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87207
87208         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
87209         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
87210
87211 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87212
87213         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
87214
87215 2005-05-20  Jim Meyering  <jim@meyering.net>
87216
87217         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
87218         Now a macro, to pacify GCC.
87219
87220 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
87221
87222         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
87223         of -1.
87224
87225 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
87226
87227         * lib/chown.c (rpl_chown): Return -1 on failure.
87228
87229 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
87230
87231         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
87232         Don't check for stddef.h.
87233         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
87234         don't use its results.
87235         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
87236         since we include them unconditionally.  Don't require
87237         AM_STDBOOL_H, since stdbool is a prerequisite.
87238         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
87239         since we assume C89 or better.
87240         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
87241         as we don't use their results.
87242         Don't check for fchdir, memmove, memset, strrchr, as we use
87243         them unconditionally.
87244         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
87245         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
87246
87247 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
87248
87249         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
87250         Include <stddef.h> unconditionally, since we assume C89 now.
87251         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
87252         * lib/fts.c: Include fts_.h first, to check interface.
87253         Do not include intprops.h; no longer needed.
87254         Include cycle-check.h and hash.h, since fts_.h no longer does.
87255         Remove unnecessary casts of closedir to void.
87256         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
87257         decide whether to decrement nlinks.
87258         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
87259         (FTS): Use struct hash_table * instead of Hash_table, so that
87260         we no longer need to include hash.h here.
87261
87262 2005-05-18  Jim Meyering  <jim@meyering.net>
87263
87264         * modules/dirfd (License): Change to LGPL.  Most of the code
87265         is already in the public domain.
87266
87267 2005-05-18  Jim Meyering  <jim@meyering.net>
87268
87269         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
87270         Reported by Yoann Vandoorselaere.
87271
87272 2005-05-17  Jim Meyering  <jim@meyering.net>
87273
87274         * m4/fts.m4: New file, from coreutils.
87275
87276 2005-05-17  Jim Meyering  <jim@meyering.net>
87277
87278         * lib/fts.c, lib/fts_.h: New files, from coreutils.
87279
87280 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87281
87282         Sync from coreutils.
87283         * m4/unlinkdir.m4: New file.
87284
87285 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87286
87287         Sync from coreutils.
87288         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
87289         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
87290         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
87291         White space changes only.
87292         * lib/makepath.c (make_path): Port to hosts where leading "//" is
87293         special.
87294         * lib/yesno.c: Include getline.h, not ctype.h.
87295         (yesno): Don't remove leading white space; POSIX doesn't allow it.
87296         Use getline to remove arbitrary restriction on response length.
87297
87298 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87299
87300         * config/srclist-update: Spell out "Street" in FSF postal
87301         mail address; this is the style the FSF seems to prefer.
87302
87303         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
87304         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
87305         this updates FSF postal mail address.
87306
87307         Sync from coreutils.
87308         * modules/unlinkdir: New file.
87309         * modules/yesno (Depends-on): Add getline.
87310         * MODULES.html.sh (File system functions): Add unlinkdir.
87311
87312 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87313
87314         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
87315         lib/strsep.h:
87316         Change the initial comment to refer to GPL, not LGPL.
87317         gnulib-tool will change it to LGPL as needed.
87318
87319         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
87320         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
87321         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
87322         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
87323         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
87324         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
87325         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
87326         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
87327         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
87328         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
87329         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
87330         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
87331         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
87332         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
87333         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
87334         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
87335         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
87336         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
87337         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
87338         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
87339         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
87340         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
87341         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
87342         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
87343         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
87344         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
87345         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
87346         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
87347         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
87348         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
87349         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
87350         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
87351         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
87352         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
87353         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
87354         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
87355         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
87356         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
87357         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
87358         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
87359         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
87360         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
87361         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
87362         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
87363         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
87364         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
87365         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
87366         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
87367         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
87368         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
87369         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
87370         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
87371         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
87372         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
87373         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
87374         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
87375         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
87376         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
87377         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
87378         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
87379         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
87380         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
87381         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
87382         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
87383         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
87384         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
87385         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
87386         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
87387         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
87388         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
87389         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
87390         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
87391         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
87392         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
87393         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
87394         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
87395         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
87396         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
87397         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
87398         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
87399         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
87400         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
87401         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
87402         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
87403         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
87404         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
87405         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
87406         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
87407         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
87408         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
87409         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
87410         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
87411         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
87412         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
87413         lib/yesno.c, lib/yesno.h:
87414         Update FSF postal mail address.
87415
87416 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87417
87418         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
87419         tests/test-memmem.c, tests/test-stpncpy.c:
87420         Update FSF postal mail address.
87421
87422 2005-05-13  Bruno Haible  <bruno@clisp.org>
87423
87424         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
87425         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
87426         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
87427         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
87428         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
87429         Add support for 64-bit integers in the MSVC compiler.
87430
87431 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87432
87433         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
87434
87435 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
87436
87437         * gnulib-tool (func_import): Sort and uniquify recommended includes.
87438
87439 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
87440
87441         * doc/getdate.texi (General date syntax): Don't say that date
87442         date --iso-8601=ns generates acceptable dates; it doesn't yet.
87443         Problem reported by Nic Ferrier.
87444
87445 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87446
87447         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
87448         specified in ai_socktype. Fix invalid ai_protocol
87449         check. ai_protocol is usually set to 0 or depending on
87450         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
87451         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
87452         ai_socktype / ai_protocol in the returned addrinfo structure.
87453
87454 2005-05-10  Simon Josefsson  <jas@extundo.com>
87455
87456         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
87457         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
87458
87459 2005-05-10  Karl Berry  <karl@gnu.org>
87460
87461         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
87462         (from http://www.gnu.org/licenses).
87463         * doc/COPYING.LIB: also rename to COPYING.LESSER.
87464         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
87465         fdl.texi suffices.
87466
87467 2005-05-10  Karl Berry  <karl@gnu.org>
87468
87469         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
87470         (COPYING.DOC): remove.
87471
87472         * config/srclist-update: new FSF address.
87473
87474 2005-05-10  Derek Price  <derek@ximbiot.com>
87475
87476         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
87477         possible.
87478
87479 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87480             Bruno Haible  <bruno@clisp.org>
87481
87482         * modules/inet_ntop: New file.
87483         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87484         inet_ntop.
87485
87486 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87487             Bruno Haible  <bruno@clisp.org>
87488
87489         * m4/inet_ntop.m4: New file.
87490
87491 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87492             Bruno Haible  <bruno@clisp.org>
87493
87494         * lib/inet_ntop.h: New file.
87495         * lib/inet_ntop.c: New file, from glibc with modifications.
87496
87497 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
87498
87499         * modules/time_r (License): Change to LGPL.
87500         * modules/extensions (License): Change to LGPL.  Actually,
87501         the license is more permissive than that, but currently gnulib-tool
87502         doesn't know how to handle more-permissive licenses.
87503
87504         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
87505         Problem reported by Dave Love.
87506
87507 2005-05-08  Jim Meyering  <jim@meyering.net>
87508
87509         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
87510         blank.
87511
87512 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
87513
87514         * modules/argmatch (Depends-on): Add stdbool.
87515         * modules/backupfile (Depends-on): Likewise.
87516         * modules/chdir-long (Depends-on): Likewise.
87517         * modules/closeout (Depends-on): Likewise.
87518         * modules/cycle-check (Depends-on): Likewise.
87519         * modules/dirname (Depends-on): Likewise.
87520         * modules/fnmatch (Depends-on): Likewise.
87521         * modules/fsusage (Depends-on): Likewise.
87522         * modules/fwriteerror (Depends-on): Likewise.
87523         * modules/getcwd (Depends-on): Likewise.
87524         * modules/getloadavg (Depends-on): Likewise.
87525         * modules/hard-locale (Depends-on): Likewise.
87526         * modules/makepath (Depends-on): Likewise.
87527         * modules/mountlist (Depends-on): Likewise.
87528         * modules/nanosleep (Depends-on): Likewise.
87529         * modules/posixtm (Depends-on): Likewise.
87530         * modules/quotearg (Depends-on): Likewise.
87531         * modules/readtokens (Depends-on): Likewise.
87532         * modules/readtokens0 (Depends-on): Likewise.
87533         * modules/readutmp (Depends-on): Likewise.
87534         * modules/save-cwd (Depends-on): Likewise.
87535         * modules/strftime (Depends-on): Likewise.
87536         * modules/userspec (Depends-on): Likewise.
87537         * modules/utimecmp (Depends-on): Likewise.
87538         * modules/xgetcwd (Depends-on): Likewise.
87539         * modules/xnanosleep (Depends-on): Likewise.
87540         * modules/xstrtod (Depends-on): Likewise.
87541         * modules/yesno (Depends-on): Likewise.
87542
87543 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
87544
87545         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
87546         needless checks.
87547
87548 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87549
87550         Merge from coreutils.  Among other things,
87551         add bulletproofing for cases where stdin, stdout, or stderr are closed.
87552         * lib/fd-safer.c: New file.
87553         * lib/fcntl-safer.h, open-safer.c: Remove.
87554         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
87555         * lib/dup-safer.c: Include unistd-safer.h first.
87556         Don't include errno.h.
87557         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
87558         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
87559         * lib/file-type.c: Rely on file-type.h change.
87560         * lib/getloadavg.c: Include unistd-safer.h.
87561         (getloadavg): Use safer open.
87562         * lib/getusershell.c: Include "stdio-safer.h".
87563         (getusershell): Use safer fopen.
87564         * lib/long-options.c (long_options): Use NULL rather than 0.
87565         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
87566         'free'.
87567         * lib/modechange.c: Likewise.
87568         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
87569         (MODE_DONE): New constant.
87570         (struct mode_change): Remove 'next' member.
87571         (make_node_op_equals): New function; like the old one of the
87572         same name, except it allocates an array.
87573         (mode_compile, mode_create_from_ref): Use it.
87574         (mode_compile): Allocate result as an array, not a linked list.
87575         Parse octal string ourself, so that we catch mistakes like "+0".
87576         (mode_adjust): Arg is an array, not a linked list.
87577         * lib/modechange.c: Include stat-macros.h, xalloc.h.
87578         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
87579         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
87580         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
87581         Remove.  This is now stat-macros.h's job.
87582         (talloc): Remove.  All callers replaced by xalloc, so that
87583         our invokers don't have to worry about reporting memory failures.
87584         (make_node_op_equals): Remove.
87585         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87586         New constants.
87587         (struct mode_change): Moved here from modechange.h.
87588         (mode_append_entry): Remove.
87589         (mode_compile): Remove MASKED_OPS arg, since it encouraged
87590         apps to have incorrect behavior.  Use simpler algorithm for head
87591         and tail.  Don't futz with umask; that's now the job of mode_adjust.
87592         Detect more invalid usages rather than having somewhat-random behavior.
87593         Don't insert an "a=" action, as that leads to incorrect behavior.
87594         (mode_compile, mode_create_from_ref): Return NULL on error instead
87595         of an enum, since now there's only one way to have an error.  All
87596         callers changed.
87597         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
87598         at the correct time.  Simplify calculation of "+u" and its ilk.
87599         Don't mishandle "+X".
87600         (mode_free): Remove "register" and localize decls.
87601         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87602         (struct mode_change): Move to modechange.c; callers don't
87603         need to see this stuff.
87604         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
87605         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
87606         (mode_change, mode_adjust): Reflect the new signatures noted above.
87607         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
87608         that might redefine system include files.
87609         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
87610         (my_usleep): Use NULL rather than (void *) 0.
87611         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
87612         Use siginterrupt to specify that system calls should be interrupted.
87613         (rpl_nanosleep): Move initialization of suspended closer to call of
87614         my_usleep.
87615         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
87616         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
87617         (desirable_utmp_entry): New function.
87618         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
87619         using x2nrealloc, to simplify logic.
87620         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
87621         size calculation.  Do not assume utmp file is a regular file.
87622         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
87623         (READ_UTMP_CHECK_PIDS): New constant.
87624         * lib/save-cwd.c: Include unistd-safer.h.
87625         (save_cwd): Use fd_safer.
87626         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
87627         [!_LIBC] Include "stat-macros.h" instead.
87628         * lib/unistd-safer.h (fd_safer): New decl.
87629
87630 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87631
87632         * modules/getloadavg (Depends-on): Add unistd-safer.
87633         * modules/getusershell (Depends-on): Add stdio-safer.
87634         * modules/lstat (Depends-on): Remove xalloc.
87635         * modules/mkstemp (Depends-on): Add stat-macros.
87636         * modules/modechange (Depends-on): Remove xstrtol.
87637         Add stat-macros, xalloc.
87638         * modules/save-cwd (Depends-on): Add unistd-safer.
87639         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
87640         * modules/unistd-safer (Files): Add lib/fd-safer.c
87641         (Makefile.am): Remove lib_SOURCES.
87642
87643         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
87644         Remove fcntl-safer; unistd-safer supersedes it.
87645
87646 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87647
87648         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
87649         AC_HEADER_STAT.
87650         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
87651         (gl_PREREQ_CHOWN): Remove.
87652         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
87653         it.  Don't require AC_HEADER_STAT.
87654         (gl_PREREQ_LSTAT): Remove.
87655         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
87656         Don't require AC_HEADER_STAT.
87657         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
87658         (gl_PREREQ_RMDIR): Remove.
87659         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
87660         mention stat-macros.h or AC_HEADER_STAT, since we'll make
87661         the stat-macros module a prerequisite.
87662         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
87663         * m4/filemode.m4 (gl_FILEMODE): Likewise.
87664         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
87665         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
87666         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
87667         variable names.
87668         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
87669         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
87670         variable prefixes.
87671         * m4/fcntl-safer.m4: Remove.
87672         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
87673         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
87674         Invoke gl_PREREQ_FD_SAFER.
87675         (gl_PREREQ_FD_SAFER): New macro.
87676         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
87677         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
87678         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
87679         Remove duplicate call to AC_LIBOBJ(readutmp).
87680         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
87681
87682         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
87683         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
87684
87685 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87686
87687         * MODULES.html.sh (Misc): Add byteswap.
87688
87689 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87690
87691         * modules/getcwd (Depends-on): Add extensions.
87692         * modules/openat (Depends-on): Likewise.
87693
87694 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87695
87696         * modules/byteswap: New file.
87697
87698 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87699
87700         * m4/byteswap.m4: New file.
87701
87702 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87703
87704         * lib/byteswap_.h: New file.
87705
87706 2005-04-25  Karl Berry  <karl@gnu.org>
87707
87708         * m4/gettext.m4: Update from GNU gettext 0.14.4.
87709
87710 2005-04-25  Albert Chin  <china@thewrittenword.com>
87711
87712         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
87713         Toolkit C bug.
87714
87715 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
87716
87717         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
87718         (func_ln_if_changed): Remove forcibly for no error message
87719         in case file does not exist.
87720
87721 2005-04-19  Simon Josefsson  <jas@extundo.com>
87722
87723         * gnulib-tool (Options): Make --symlink mean --symbolic.
87724
87725 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
87726
87727         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
87728
87729 2005-04-16  Simon Josefsson  <jas@extundo.com>
87730
87731         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
87732
87733 2005-04-15  Simon Josefsson  <jas@extundo.com>
87734
87735         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
87736
87737 2005-04-15  Simon Josefsson  <jas@extundo.com>
87738
87739         * gnulib-tool: Rename --symlink to --symbolic.
87740
87741 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
87742
87743         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
87744         symbolic links to files instead of copying/moving.  Add --aux-dir,
87745         specifying directory relative --dir where auxiliary build tools
87746         are placed.
87747
87748 2005-04-14  Bruno Haible  <bruno@clisp.org>
87749
87750         * modules/allocsa (License): Change to LGPL.
87751         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
87752
87753 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
87754
87755         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
87756         that "UTC +1 second" continues to work.  Problem reported
87757         by Dmitry V. Levin.
87758         (relunit_snumber): New rule.
87759         (relunit): Use it.
87760
87761 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
87762
87763         * lib/getdate.y (universal_time_zone_table): New constant.
87764         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
87765         universal_time_zone_table.
87766         (lookup_zone): Prefer universal_time_zone_table to
87767         local_time_zone_table, so that "GMT" time stamps are allowed in
87768         London during the summer.  Problem reported by Ian Abbott.
87769
87770 2005-04-12  Jim Meyering  <jim@meyering.net>
87771
87772         * lib/human.c (humblock): Set *options even when returning due to
87773         xstrtoumax conversion failure.  Thanks to a used-uninitialized
87774         warning from gcc-4.
87775
87776 2005-04-09  Jim Meyering  <jim@meyering.net>
87777
87778         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
87779         -Wuninitialized: initialize tm0.tm_year.
87780
87781 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
87782
87783         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
87784         count, since there's no maximum.  All uses changed.
87785         Add member dsts_seen.
87786         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
87787         not being INT_MAX.
87788         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
87789         Use pc_rels_seen to decide whether a date is absolute.
87790
87791         * lib/getdate.y (number): Don't overwrite year.
87792         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
87793         check.
87794
87795 2005-04-02  Simon Josefsson  <jas@extundo.com>
87796
87797         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
87798         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
87799
87800 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
87801
87802         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
87803         where no absolute path name can be longer than PATH_MAX.
87804
87805 2005-03-27  Jim Meyering  <jim@meyering.net>
87806
87807         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
87808
87809 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
87810
87811         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
87812         "one's complement" -> "ones' complement" in comment, as per Knuth.
87813         "value of type" -> "type or expression" in comment.
87814         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
87815
87816 2005-03-26  Jim Meyering  <jim@meyering.net>
87817
87818         Comment nits.
87819         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
87820         Correct typos: s/or/of/.
87821
87822 2005-03-26  Jim Meyering  <jim@meyering.net>
87823
87824         * modules/check-include-files: Move to ../ and rename to...
87825         * check-module: ...this.
87826
87827 2005-03-25  Jim Meyering  <jim@meyering.net>
87828
87829         * modules/xvasprintf (Files): Add xalloc.h.
87830
87831 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
87832
87833         * modules/gettext (Files): config/config.rpath ->
87834         build-aux/config.rpath
87835         * modules/iconv (Files): Likewise.
87836         Problem reported by Oskar Liljeblad.
87837
87838 2005-03-23  Jim Meyering  <jim@meyering.net>
87839
87840         * modules/check-include-files: New script to check for
87841         missing dependencies, multiple includes, etc.
87842
87843         * modules/c-strtold (Depends-on): Add xalloc.
87844         * modules/c-strtod (Depends-on): Add xalloc.
87845         * modules/hash (Depends-on): Add xalloc.
87846         (Files): Remove lib/xalloc.h.
87847
87848         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
87849         * modules/userspec (Files): Add lib/inttostr.h.
87850
87851 2005-03-23  Jim Meyering  <jim@meyering.net>
87852
87853         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
87854
87855 2005-03-22  Jim Meyering  <jim@meyering.net>
87856
87857         * modules/stat-macros: New module.
87858         * modules/canonicalize, modules/euidaccess, modules/file-type,
87859         * modules/filemode, modules/lchown, modules/makepath,
87860         * modules/rmdir, modules/stat: Depend on new stat-macros module
87861         rather than listing lib/stat-macros.h manually.
87862         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
87863
87864 2005-03-22  Jim Meyering  <jim@meyering.net>
87865
87866         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
87867
87868 2005-03-22  Bruno Haible  <bruno@clisp.org>
87869
87870         * config/srclist.txt: Replace target directory 'config' with
87871         'build-aux'.
87872         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
87873         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
87874         ../build-aux/.
87875
87876 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
87877
87878         * modules/chdir-long (Depends-on): Add mempcpy.
87879
87880         * modules/acl, modules/backupfile, modules/c-strtod,
87881         modules/c-strtold, modules/canon-host, modules/canonicalize,
87882         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
87883         modules/exclude, modules/exitfail, modules/file-type,
87884         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
87885         modules/getdate, modules/getline, modules/getpagesize,
87886         modules/getpass, modules/getugroups, modules/group-member,
87887         modules/hard-locale, modules/hash, modules/human, modules/idcache,
87888         modules/inttostr, modules/long-options, modules/makepath,
87889         modules/md5, modules/memcasecmp, modules/memcoll,
87890         modules/modechange, modules/mountlist, modules/path-concat,
87891         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
87892         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
87893         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
87894         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
87895         modules/strftime, modules/strndup, modules/strverscmp,
87896         modules/timespec, modules/unlocked-io, modules/userspec,
87897         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
87898         modules/yesno:
87899         Remove lib_SOURCES line from Makefile.am section, as this is now
87900         done automatically by the corresponding Autoconf macro.
87901
87902 2005-03-21  Jim Meyering  <jim@meyering.net>
87903
87904         Changes imported from coreutils.
87905
87906         * lib/cycle-check.c: Don't include xalloc.h.
87907
87908         * lib/path-concat.c: Don't include assert.h.
87909         (path_concat): Remove assertion that would have triggered
87910         for ABASE starting with more than one slash.
87911         Reported by Andreas Schwab.
87912
87913         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
87914         properly when ABASE is an absolute file name.
87915         Correct the description of this function.
87916         Include <assert.h>.
87917         Add an assertion and a test driver.
87918         This fixes a bug introduced on 2004-07-02.
87919         Andreas Schwab reported the resulting failure of cp --parents:
87920         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
87921
87922 2005-03-21  Jim Meyering  <jim@meyering.net>
87923
87924         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
87925         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
87926
87927 2005-03-21  Jim Meyering  <jim@meyering.net>
87928         and  Paul Eggert  <eggert@cs.ucla.edu>
87929
87930         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
87931         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
87932         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
87933         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
87934         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
87935         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
87936         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
87937         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
87938         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
87939         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
87940         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
87941         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
87942         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
87943         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
87944         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
87945         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
87946         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
87947         for these modules.
87948
87949 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
87950
87951         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
87952         (which shouldn't happen), generate nothing instead of returning 0
87953         immediately, so that nstrftime (NULL, ...) doesn't return 0.
87954
87955 2005-03-16  Bruno Haible  <bruno@clisp.org>
87956
87957         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
87958         HAVE_LONGLONG_64BIT.
87959
87960 2005-03-16  Bruno Haible  <bruno@clisp.org>
87961
87962         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
87963         HAVE_LONGLONG_64BIT.
87964
87965 2005-03-16  Bruno Haible  <bruno@clisp.org>
87966
87967         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
87968         HAVE_LONGLONG_64BIT.
87969
87970 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87971
87972         * lib/strftime.c (my_strftime): Prepend space to format so that we can
87973         reliably distinguish strftime failure from empty output on POSIX
87974         hosts.
87975
87976 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87977
87978         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
87979         (iconv_string): Don't guess a size-zero buffer, as that might cause
87980         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
87981         result would be 'too large', where 'too large' is (heuristically)
87982         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
87983         overflow concerns.  This will prevent some unwanted malloc failures
87984         when the inputs are very large.
87985
87986 2005-03-15  Karl Berry  <karl@gnu.org>
87987
87988         * config/srclist.txt (config.rpath): from gettext.
87989         * config/config.rpath: update.
87990
87991 2005-03-15  Bruno Haible  <bruno@clisp.org>
87992
87993         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
87994         to 'negate'.
87995
87996         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
87997         variable.
87998
87999         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
88000         results.
88001
88002 2005-03-14  Simon Josefsson  <jas@extundo.com>
88003
88004         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
88005         <fx@gnu.org>.
88006
88007 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
88008
88009         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
88010         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
88011         intprops.h.
88012         * lib/strtol.c: Likewise.
88013
88014 2005-03-14  Jim Meyering  <jim@meyering.net>
88015
88016         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
88017         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
88018         to be nonzero so that we (and caller) can detect the difference
88019         between a valid zero-length expansion and an error return, even
88020         when the underlying strftime fails before writing anything into
88021         that location.
88022
88023 2005-03-14  Bruno Haible  <bruno@clisp.org>
88024
88025         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
88026         Update from GNU gettext 0.14.3.
88027
88028 2005-03-10  Jim Meyering  <jim@meyering.net>
88029
88030         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
88031
88032 2005-03-10  Jim Meyering  <jim@meyering.net>
88033
88034         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
88035         so that this module works on systems without fchdir.
88036
88037 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
88038
88039         Factor int-properties macros into a single file, except for
88040         glibc-related files.
88041         * lib/intprops.h: New file.
88042         * lib/getloadavg.c: Include it instead of limits.h.
88043         (INT_STRLEN_BOUND): Remove.
88044         * lib/human.c: Include intprops.h.
88045         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
88046         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
88047         302/1000.
88048         * lib/inttostr.h: Include intprops.h instead of limits.h.
88049         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
88050         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
88051         for consistency with intprops.h.
88052         (time_t_is_integer, twos_complement_arithmetic): Use them.
88053         * lib/sig2str.h: Include <signal.h>, intprops.h.
88054         (INT_STRLEN_BOUND): Remove.
88055         * lib/strftime.c (TYPE_SIGNED): Remove.
88056         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
88057         * lib/strtol.c: Adjust comments to match intprops.h.
88058         * lib/userspec.c: Include intprops.h.
88059         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
88060         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
88061         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
88062         instead of rolling our own expressions.
88063         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
88064
88065         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
88066         instead of int.
88067         (my_strftime): Do not mishandle years close to INT_MAX, by doing
88068         the right thing even if adding 1900 would overflow.  Similarly
88069         for tm_mon + 1 and tm_yday + 1.
88070         Make %Y always equivalent to %C%y, and similarly for %G and %g.
88071         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
88072         (DO_SIGNED_NUMBER): New macro.
88073         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
88074
88075 2005-03-07  Bruno Haible  <bruno@clisp.org>
88076
88077         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
88078
88079 2005-03-07  Bruno Haible  <bruno@clisp.org>
88080
88081         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
88082
88083 2005-03-04  Derek R. Price  <derek@ximbiot.com>
88084
88085         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
88086         (func_import): Only replace files via --import when they have actually
88087         changed.
88088
88089 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88090
88091         * m4/mmap-anon.m4: New file.
88092         * m4/pagealign_alloc.m4: New file.
88093
88094 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88095             Bruno Haible  <bruno@clisp.org>
88096
88097         * modules/pagealign_alloc: New file.
88098         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
88099
88100 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88101             Bruno Haible  <bruno@clisp.org>
88102
88103         * lib/pagealign_alloc.h: New file.
88104         * lib/pagealign_alloc.c: New file.
88105
88106 2005-03-03  Bruno Haible  <bruno@clisp.org>
88107
88108         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
88109         Use an all-permissive copyright notice, recommended by RMS.
88110
88111 2005-03-02  Bruno Haible  <bruno@clisp.org>
88112
88113         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
88114         of AIX, the replacement has to be done only after <string.h> is
88115         included, therefore not in config.h. stpncpy.h does the replacement,
88116         and stpncpy.c uses it.
88117
88118 2005-03-02  Bruno Haible  <bruno@clisp.org>
88119
88120         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
88121         stpncpy.c uses it.
88122
88123 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88124
88125         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
88126         The workaround isn't strictly needed for POSIX conformance, and
88127         it's too much of a pain to configure and maintain.  We'll ask
88128         people to fix their kernels instead.
88129         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
88130         (NANOSLEEP_BUG_WORKAROUND): Remove.
88131         (xnanosleep): Remove the workaround.
88132
88133 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88134
88135         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
88136         Reported by Derek Price.
88137         (Include): Add "timespec.h".
88138
88139         * modules/xnanosleep (Depends-on): Remove gethrxtime.
88140
88141 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88142
88143         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
88144         to detect nanosleep bug.
88145
88146 2005-03-01  Bruno Haible  <bruno@clisp.org>
88147
88148         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
88149
88150 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
88151
88152         * modules/gethrxtime: New file.
88153         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
88154         (Depends-on): Add gethrxtime.
88155         (configure.ac): Add gl_XNANOSLEEP.
88156         (Makefile.am): Remove lib_SOURCES line.
88157
88158 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
88159
88160         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
88161         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
88162
88163 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
88164
88165         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
88166         * lib/timespec.h (gettime): Return void, since it always
88167         succeeds now.  All uses changed.
88168         * lib/gettime.c (gettime): Likewise.
88169         [HAVE_NANOTIME]: Prefer nanotime.
88170         Assume gettimeofday succeeds, as POSIX requires.
88171         Assime time () succeeds, since other code already does.
88172         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
88173         (timespec_subtract): Remove.
88174         (NANOSLEEP_BUG_WORKAROUND): New constant.
88175         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
88176         things considerably.  Use it only on GNU/Linux hosts, since the
88177         workaround shouldn't be needed elsewhere.
88178
88179 2005-02-24  Bruno Haible  <bruno@clisp.org>
88180
88181         * modules/gettext (Files): Add m4/glibc2.m4.
88182
88183 2005-02-24  Bruno Haible  <bruno@clisp.org>
88184
88185         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
88186         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
88187         * m4/progtest.m4:
88188         Update from GNU gettext 0.14.2.
88189         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
88190
88191 2005-02-24  Bruno Haible  <bruno@clisp.org>
88192
88193         * lib/localcharset.c: Update from GNU gettext 0.14.2.
88194         * lib/config.charset: Update from GNU gettext 0.14.2.
88195
88196 2005-02-24  Bruno Haible  <bruno@clisp.org>
88197
88198         * lib/gettext.h: Update from GNU gettext 0.14.2.
88199
88200 2005-02-23  Simon Josefsson  <jas@extundo.com>
88201
88202         * m4/iconvme.m4: New file.
88203
88204 2005-02-23  Jim Meyering  <jim@meyering.net>
88205
88206         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
88207         change.
88208         Thanks to Bruno Haible for catching it.
88209
88210 2005-02-22  Simon Josefsson  <jas@extundo.com>
88211
88212         * modules/iconvme: New file.
88213
88214         * MODULES.html.sh: Add iconvme.
88215
88216 2005-02-22  Simon Josefsson  <jas@extundo.com>
88217
88218         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
88219
88220 2005-02-22  Simon Josefsson  <jas@extundo.com>
88221
88222         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
88223
88224 2005-02-22  Jim Meyering  <jim@meyering.net>
88225
88226         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
88227         s/ifndef/ifdef/.
88228
88229 2005-02-20  Neil Conway  <neilc@samurai.com>
88230
88231         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
88232         returned by OSX/Darwin if the specified buffer is not large
88233         enough for the hostname.
88234
88235 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88236
88237         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
88238         pass it to _help, otherwise the latter coredumps trying to
88239         dereference state.root_argp.
88240
88241 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88242
88243         * modules/chdir-long (Depends-on): Add memrchr.
88244         * modules/memrchr (Files): Add lib/memrchr.h.
88245         (Include): "memrchr.h".
88246
88247 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88248
88249         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
88250
88251 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88252
88253         * lib/memrchr.h: New file.
88254         * lib/chdir-long.c: Include it.
88255         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
88256         Don't bother including stddef.h.
88257
88258 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
88259
88260         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
88261         inclusion.
88262         Include <sys/types.h>, for dev_t.
88263         (ME_DUMMY, ME_REMOTE): Move from here....
88264         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
88265         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
88266         Dmitry V. Levin.
88267         Include mountlist.h first, to test the interface.
88268
88269 2005-01-29  Bruno Haible  <bruno@clisp.org>
88270
88271         * lib/progname.c (program_name): Initialize.
88272         Needed when linking statically on MacOS X.
88273
88274 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
88275
88276         Sync from coreutils.
88277         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
88278         (Depends-on): Add c-strtod.
88279         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
88280
88281 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
88282
88283         Sync from coreutils.
88284         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
88285
88286         Remove files that are specific to coreutils.
88287         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
88288
88289 2005-01-28  Bruno Haible  <bruno@clisp.org>
88290
88291         * modules/javacomp: New file.
88292         * MODULES.html.sh (Java): Add javacomp.
88293
88294 2005-01-28  Bruno Haible  <bruno@clisp.org>
88295
88296         * m4/javacomp.m4: New file, from GNU gettext.
88297
88298 2005-01-28  Bruno Haible  <bruno@clisp.org>
88299
88300         * lib/javacomp.sh.in: New file, from GNU gettext.
88301         * lib/javacomp.h: New file, from GNU gettext.
88302         * lib/javacomp.c: New file, from GNU gettext.
88303
88304 2005-01-26  Simon Josefsson  <jas@extundo.com>
88305
88306         * lib/gai_strerror.c: Use GPL in header.
88307
88308 2005-01-26  Bruno Haible  <bruno@clisp.org>
88309
88310         * modules/javaexec: New file.
88311         * MODULES.html.sh (Java): Add javaexec.
88312
88313 2005-01-26  Bruno Haible  <bruno@clisp.org>
88314
88315         * m4/javaexec.m4: New file, from GNU gettext.
88316
88317 2005-01-26  Bruno Haible  <bruno@clisp.org>
88318
88319         * lib/javaexec.sh.in: New file, from GNU gettext.
88320         * lib/javaexec.h: New file, from GNU gettext.
88321         * lib/javaexec.c: New file, from GNU gettext.
88322
88323 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88324
88325         * modules/lchown (Depends-on): Remove lchown.h
88326
88327 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88328
88329         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
88330         must be defined if the header file was not found, in order
88331         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
88332
88333 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88334
88335         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
88336         initializers for struct pentry_state.
88337         (__argp_error): Check return value of __asprintf
88338         (__argp_failure): Translate error message
88339
88340         * lib/argp-parse.c: Removed braces around the expansion of N_()
88341
88342 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
88343
88344         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
88345         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
88346         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
88347         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
88348         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
88349         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
88350         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
88351         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
88352         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
88353         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
88354         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
88355         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
88356         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
88357         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
88358         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
88359         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
88360         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
88361         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
88362         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
88363         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
88364         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
88365         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
88366         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
88367         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
88368         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
88369         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
88370         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
88371         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
88372         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
88373         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
88374         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
88375         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
88376         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
88377         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
88378         xstrtol.m4, xstrtoumax.m4, yesno.m4:
88379         Use an all-permissive copyright notice, recommended by RMS.
88380
88381 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
88382
88383         * modules/chdir-long (Depends-on): Remove mempcpy.
88384
88385 2005-01-21  Jim Meyering  <jim@meyering.net>
88386
88387         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
88388         same value as for Solaris 9.
88389
88390         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
88391         component length.  This included changing the parameter to be
88392         of type `char *' rather than `char const *'.
88393         * lib/chdir-long.h (chdir_long): Update prototype.
88394
88395         * lib/openat.c (fdopendir, fstatat): New functions.
88396         * lib/openat.h: Include headers required for use of DIR and struct
88397         stat.
88398         [AT_SYMLINK_NOFOLLOW]: Define.
88399         (fdopendir, fstatat): Add prototypes.
88400
88401 2005-01-21  Bruno Haible  <bruno@clisp.org>
88402
88403         * modules/classpath: New file.
88404         * MODULES.html.sh (Java): Add classpath.
88405
88406 2005-01-21  Bruno Haible  <bruno@clisp.org>
88407
88408         * lib/classpath.h: New file, from GNU gettext.
88409         * lib/classpath.c: New file, from GNU gettext.
88410
88411 2005-01-20  Simon Josefsson  <jas@extundo.com>
88412
88413         * modules/version-etc-fsf: New file.
88414
88415 2005-01-20  Simon Josefsson  <jas@extundo.com>
88416
88417         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
88418         * lib/version-etc.c: Remove version_etc_copyright.
88419         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
88420         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
88421
88422 2005-01-20  Simon Josefsson  <jas@extundo.com>
88423
88424         * lib/base64.h (isbase64): Add.
88425
88426         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
88427         using a unsigned prototype, don't inline.
88428         (base64_decode): Use it.
88429
88430 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88431
88432         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
88433         it.
88434
88435 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88436
88437         * lib/save-cwd.c (save_cwd): Remove code to support the case
88438         where fchdir is missing or flaky.
88439
88440 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88441
88442         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
88443
88444 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
88445
88446         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
88447         AC_LIBSOURCES now does this.
88448         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
88449         with new ullong_max module.
88450
88451 2005-01-19  Bruno Haible  <bruno@clisp.org>
88452
88453         * modules/sh-quote: New file.
88454         * MODULES.html.sh (Executing programs): Add sh-quote.
88455
88456 2005-01-19  Bruno Haible  <bruno@clisp.org>
88457
88458         * lib/sh-quote.h: New file, from GNU gettext.
88459         * lib/sh-quote.c: New file, from GNU gettext.
88460
88461 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88462
88463         Merge from coreutils.
88464         * m4/ullong_max.m4: New file.
88465         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
88466         (gl_MACROS): Assume localeconv exists.
88467
88468 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88469
88470         Merge changes from coreutils, as described below in several
88471         changelogs dated today.
88472
88473         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
88474         (O_DIRECTORY): Remove; not needed here, since "." must be
88475         a directory.  All uses removed.
88476         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
88477         universal on Suns, and we also need to test for IRIX.
88478         Revamp code to use 'if' rather than '#if'.
88479         Avoid unnecessary comparison of cwd->desc to 0.
88480
88481         * lib/utimens.c (futimens): Robustify the previous patch, by checking
88482         for known valid error numbers rather than observed invalid ones.
88483
88484 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88485
88486         * modules/ullong_max: New file.
88487
88488         * modules/chdir-long, modules/openat: New files.
88489         * modules/save-cwd (Depends-on): Depend on chdir-long.
88490         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
88491
88492 2005-01-18  Jim Meyering  <jim@meyering.net>
88493
88494         Merge from coreutils.
88495         * m4/chdir-long.m4, m4/openat.m4: New files.
88496         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
88497         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
88498         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
88499         is sane and DOES follow symlinks.  Besides, testing 20 different
88500         systems found no broken chown implementations.
88501         Prompted by a change in rsync's copy of this macro.
88502         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
88503
88504         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
88505
88506         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
88507         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
88508         NULL-means-set-to-current-time semantics.
88509         Remove temporary file immediately, rather than waiting
88510         for configure's at-exit trap code to do it.
88511
88512 2005-01-18  Jim Meyering  <jim@meyering.net>
88513
88514         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88515
88516         * lib/utimens.c (futimens): Account for the fact that futimes
88517         can also fail with errno == ENOSYS or errno == ENOENT.
88518         Patch from Dmitry V. Levin.
88519
88520         Change the name of the robust chdir function from chdir to chdir_long.
88521         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
88522         (restore_cwd): Use chdir_long, not chdir.
88523         * lib/chdir-long.c: Renamed from chdir.c.
88524         * lib/chdir-long.h: Renamed from chdir.h.
88525         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
88526         Hurd.
88527
88528 2005-01-18  Bruno Haible  <bruno@clisp.org>
88529
88530         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
88531         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
88532         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
88533         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
88534         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
88535         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
88536         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
88537         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
88538         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
88539         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
88540         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
88541         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
88542         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
88543         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
88544         Use an all-permissive copyright notice, recommended by RMS.
88545
88546 2005-01-18  Bob Proulx  <bob@proulx.com>
88547
88548         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
88549         simplify offsetof() macro construct to avoid compile failure with
88550         native HP-UX 11.0 ANSI C compiler.
88551
88552 2005-01-17  Bruno Haible  <bruno@clisp.org>
88553
88554         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
88555         redundant because stpncpy.m4 takes care of it.
88556
88557 2005-01-17  Bruno Haible  <bruno@clisp.org>
88558
88559         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
88560
88561 2005-01-17  Bruno Haible  <bruno@clisp.org>
88562
88563         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
88564         used.
88565
88566 2005-01-17  Bruno Haible  <bruno@clisp.org>
88567
88568         * lib/fwriteerror.h (fwriteerror): Change specification to include
88569         fclose.
88570         * lib/fwriteerror.c: Include <stdbool.h>.
88571         (fwriteerror): At the end, close the file stream. Record whether
88572         stdout was already closed.
88573
88574 2005-01-17  Bruno Haible  <bruno@clisp.org>
88575
88576         * lib/execute.c (environ): Declare if needed.
88577         * lib/pipe.c (environ): Likewise.
88578         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
88579
88580 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88581
88582         * modules/argp: Depend on vsnprintf
88583
88584 2005-01-10  Jim Meyering  <jim@meyering.net>
88585
88586         * modules/closeout (Depends-on): Add atexit.
88587
88588 2005-01-06  Bruno Haible  <bruno@clisp.org>
88589
88590         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
88591
88592 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
88593
88594         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
88595         definitions to be after all include files, to avoid collisions.
88596         Problem reported by Bob Proulx.
88597
88598 2005-01-04  Jim Meyering  <jim@meyering.net>
88599
88600         Changes imported from coreutils.
88601         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
88602         as the mkstemp template, use a temporary directory and an
88603         8.3-friendly template to avoid trouble on systems like DJGPP.
88604         Reported by Juan M. Guerrero via Stepan Kasal.
88605         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
88606         close. Remove the temporary directory right away, rather than waiting
88607         for configure's at-exit trap code to do it.
88608         Suggestion from Stepan Kasal.
88609
88610 2005-01-01  Simon Josefsson  <jas@extundo.com>
88611
88612         * gnulib-tool: Print #include directives when --import'ing.
88613
88614 2004-12-28  Simon Josefsson  <jas@extundo.com>
88615
88616         * tests/test-base64.c: Include required header files.  Remove
88617         unused variables.
88618
88619 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88620
88621         * modules/error (Depends-on): Remove gettext.
88622
88623 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88624
88625         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
88626         not needed.  This removes a dependency on the gettext module.
88627         [defined _LIBC]: Do not include <libintl.h>; not needed.
88628
88629 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88630
88631         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
88632         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
88633
88634 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88635
88636         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
88637         HAVE_DECL_STRTOLD.
88638
88639 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88640
88641         * modules/getdate (Depends-on): Remove alloca-opt.
88642
88643 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88644
88645         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
88646
88647 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88648
88649         * lib/argp-parse.c: Include <stddef.h>.
88650         (alignof, alignto): New macros.
88651         (parser_init): Don't assume that void * is aligned sufficiently
88652         for struct option.
88653
88654         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
88655         need to extend the stack.
88656         (YYINITDEPTH): New macro, so that the initial stack isn't overly
88657         large.
88658
88659 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88660
88661         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
88662
88663 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88664
88665         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
88666         (2004-10-24) change.  Apparently this was a false alarm.
88667
88668         * modules/getdate: Depend on alloca-opt, not alloca.
88669
88670 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88671
88672         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
88673         Remove now-obsolete comment about AIX.
88674         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
88675         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
88676         (YYMAXDEPTH): New macro.
88677
88678 2004-12-18  Simon Josefsson  <jas@extundo.com>
88679
88680         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
88681
88682 2004-12-18  Bruno Haible  <bruno@clisp.org>
88683
88684         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
88685
88686 2004-12-18  Bruno Haible  <bruno@clisp.org>
88687
88688         * lib/fatal-signal.c (fatal_signals): Make non-const.
88689         (init_fatal_signals): New function.
88690         (uninstall_handlers, install_handlers): Ignore signals that were set to
88691         SIG_IGN.
88692         (at_fatal_signal): Call init_fatal_signals.
88693         (init_fatal_signal_set): Likewise. Ignore signals that were set to
88694         SIG_IGN.
88695         Reported by Paul Eggert.
88696
88697 2004-12-18  Bruno Haible  <bruno@clisp.org>
88698
88699         * doc/alloca.texi: New file.
88700         * doc/alloca-opt.texi: New file.
88701
88702 2004-12-17  Jim Meyering  <jim@meyering.net>
88703
88704         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
88705         Otherwise, install-sh could exit with improper exit status when
88706         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
88707
88708 2004-12-16  Simon Josefsson  <jas@extundo.com>
88709
88710         * tests/test-base64.c: Add license.
88711
88712 2004-12-15  Stepan Kasal  <address@hidden>
88713
88714         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
88715
88716 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
88717
88718         * modules/getcwd (Files): Add m4/d-ino.m4.
88719         Suggested by Mark D. Baushke.
88720
88721 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88722
88723         * lib/getdate.y (textint): New member "negative".
88724         (time_zone_hhmm): New function.
88725         Expect 14 shift-reduce conflicts, not 13.
88726         (o_colon_minutes): New rule.
88727         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
88728         (yylex): Set the "negative" member of signed numbers.
88729
88730 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88731
88732         * doc/getdate.texi (Time of day items, Time zone items):
88733         Describe new formats +00:00, UTC+00:00.
88734
88735 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
88736
88737         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
88738         spurious "-l"s.  Problem reported by Stepan Kasal.
88739
88740 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
88741
88742         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
88743         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
88744
88745 2004-12-04  Simon Josefsson  <jas@extundo.com>
88746
88747         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
88748         Vandoorselaere <yoann@prelude-ids.org>.
88749
88750 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88751
88752         Changes imported from coreutils.
88753         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
88754         exist.
88755         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
88756
88757 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88758
88759         Changes imported from coreutils.
88760         * lib/hard-locale.c: Assume <locale.h> exists.
88761         Include "strdup.h".
88762         (GLIBC_VERSION): New macro.
88763         (hard_locale): Assume setlocale exists.
88764         Rewrite to avoid #ifdef.
88765         Use strdup rather than malloc + strcpy.
88766         * lib/human.c: Assume <locale.h> exists.
88767         (human_readable): Assume localeconv exists.
88768
88769 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88770
88771         * modules/hard-locale (Depends-on): Add strdup.
88772
88773 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
88774
88775         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
88776         convert T2, not T.  (Imported from libc.)
88777
88778 2004-11-30  Simon Josefsson  <jas@extundo.com>
88779
88780         * modules/restrict (License): Change to LGPL.
88781
88782 2004-11-30  Simon Josefsson  <jas@extundo.com>
88783
88784         * m4/restrict.m4: Add copyright and copying conditions.
88785
88786 2004-11-30  Simon Josefsson  <jas@extundo.com>
88787
88788         * m4/base64.m4: New file.
88789
88790 2004-11-30  Simon Josefsson  <jas@extundo.com>
88791
88792         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
88793         base64.
88794
88795         * tests/test-base64.c: New file.
88796
88797         * modules/base64: New file.
88798
88799 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88800
88801         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
88802         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
88803
88804         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
88805
88806 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88807
88808         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
88809         (__getcwd.c): Don't restore errno; glibc doesn't.
88810         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
88811         first, falling back to our code only if its results look suspicious.
88812         Ensure that the resulting buffer is only as large as necessary.
88813
88814         * lib/readutmp.c: Include readutmp.h first.
88815         Include <errno.h>, since readutmp.h no longer does that.
88816         * lib/readutmp.h: Don't include <errno.h>,
88817         <sys/param.h>, <time.h>; not needed to establish interface.
88818         (errno): Remove decl.
88819         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
88820         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
88821         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
88822
88823 2004-11-28  Simon Josefsson  <jas@extundo.com>
88824
88825         * lib/base64.h, base64.c: New file.
88826
88827 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
88828
88829         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
88830
88831 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
88832
88833         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
88834         (Depends-on): Remove pathmax, same.  Add mempcpy.
88835         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
88836         (Makefile.am): Append getcwd.h to lib_SOURCES.
88837         (Include): Add getcwd.h.
88838         (Maintainer): Change from Jim Meyering to "all, glibc",
88839         since getdate now uses intended-for-glibc code.
88840         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
88841         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
88842
88843 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88844
88845         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
88846         HP's ANSI C compiler.
88847         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
88848         Declaring int functions causes warnings on some modern systems and
88849         shouldn't be needed to compile on ancient ones.
88850         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
88851         defined.
88852
88853         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
88854         with the following changes.
88855         (__set_errno): Parenthesize properly.
88856         Include <stdbool.h>.
88857         (MIN, MAX, MATCHING_INO): New macros.
88858         (__getcwd): Define with prototype, not K&R form.
88859         Use heuristics to allocate default buffer on stack if possible.
88860         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
88861         behavior, and to avoid the PATH_MAX limit when computing
88862         ../../../../...
88863         Use MATCHING_INO to compare inode number to file.
88864         Check for arithmetic overflow in size calculations.
88865         Fix bug in reallocation of dot array that caused getcwd to fail
88866         on directories nested deeper than 75.
88867         Be more careful about saving errno on error.
88868         Do not use realloc; use only free+malloc, as this is a bit
88869         more flexible and avoids a needless copy operation.
88870         Do not inspect st_dev and st_ino for symbolic links; POSIX
88871         doesn't specify the latter.
88872         Check for closedir errors.
88873         Avoid needless casts.
88874         Use "#ifdef weak_alias" around weak_alias, to be like other
88875         glibc code.
88876         The following changes to getcwd.c have effect only when used in
88877         gnulib; they have no effect inside glibc proper.
88878         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
88879         as alloca isn't used.
88880         (alloca, __alloca): Likewise.
88881         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
88882         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88883         unconditionally, as gnulib assumes C89 or better.
88884         Do not include <sys/param.h>.
88885         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
88886         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
88887         better.
88888         (NULL) [!defined NULL]: Remove; we assume C89 or better.
88889         Include <dirent.h> in a way that is compatible with modern Autoconf.
88890         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
88891         New macros, if not already defined.
88892         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
88893         Use "_LIBC", not "defined _LIBC", for consistency.
88894         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
88895         a mempcpy module.
88896         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
88897         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
88898         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
88899         credit only to Jim Meyering and adjust the copyright dates.
88900         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
88901         <stdlib.h>, <unistd.h>, "pathmax.h".
88902         Instead, include "xgetcwd.h" (first) and "getcwd.h".
88903         (INITIAL_BUFFER_SIZE): Remove.
88904         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
88905
88906 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88907
88908         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
88909         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
88910         Use the _ONCE methods, for efficiency.
88911         Check for fcntl.h.  In test program, include <errno.h>
88912         and <fcntl.h> if available.  Remove old K&R cruft from
88913         test program.  Check for common errors in GNU/Linux,
88914         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
88915         don't do AC_LIBOBJ, as that's getcwd.m4's job.
88916         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
88917         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
88918         name accordingly.
88919         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
88920         accommodate new getcwd.c.
88921         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
88922         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
88923         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
88924         that's all we need now.
88925
88926 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88927
88928         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
88929         argp-parse.c depends on getopt internals, that means we should
88930         always use our getopt, to be on the safe side.
88931         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
88932         order not to spoil the result of an eventual previous invocation
88933         of gl_GETOPT_SUBSTITUTE.
88934
88935 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88936
88937         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
88938         redefinition warnings. To avoid them, include the defines
88939         in `#if !defined __need_getopt ... #endif'. The only place
88940         where __getopt_argv_const is used is in definitions
88941         of getopt_long and getopt_long_only below, which are as well
88942         protected by `#ifndef __need_getopt'.
88943         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
88944         __need_getopt after including <stdio.h> and <unistd.h> These
88945         headers might have defined it.
88946
88947 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88948
88949         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
88950
88951 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88952
88953         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
88954         (futimens): New function, which uses futimes if available.
88955         (futimens, utimens): Support timespec==NULL, with same semantics
88956         as utime and utimens.
88957         * lib/utimens.h (futimens): New decl.
88958
88959 2004-11-23  Jim Meyering  <jim@meyering.net>
88960
88961         * lib/getopt_.h: Remove trailing blanks.
88962
88963 2004-11-23  Jim Meyering  <jim@meyering.net>
88964
88965         * lib/__fpending.c: Add comment.
88966
88967 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
88968
88969         * modules/canonicalize (Depends-on): Add xreadlink.
88970         Problem reported by James Youngman.
88971
88972 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
88973
88974         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
88975         New macros.
88976         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
88977         optopt): Use them instead of invoking ## directly; otherwise, the
88978         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
88979
88980 2004-11-19  Bruno Haible  <bruno@clisp.org>
88981
88982         * lib/strtok_r.c: Move comments from here...
88983         * lib/strtok_r.h: ... to here.
88984
88985 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88986
88987         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
88988         implementations that mishandle size_t overflow.
88989
88990 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88991
88992         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
88993         might fail.  Problem reported by Yoann Vandoorselaere.
88994         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
88995         implementations that mishandle size_t overflow.
88996
88997 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88998
88999         * modules/canon-host (Depends-on): Add strdup.
89000
89001 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89002
89003         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
89004
89005 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89006
89007         * lib/canon-host.c: Include "strdup.h".
89008         (canon_host): Use getaddrinfo if available, so that IPv6 works.
89009         Use strdup instead of malloc/strcpy to duplicate strings.
89010
89011         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
89012         (human_space_before_unit): New constant.
89013         * lib/human.c (human_readable): Support it.
89014
89015         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
89016         (xgetcwd): Set errno correctly when failing.
89017         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
89018         the failure is actually due to a PATH_MAX problem.
89019
89020         Further getopt changes to make it more likely that glibc will
89021         buy the changes back.
89022         * lib/getopt.c (POSIXLY_CORRECT): New constant.
89023         (getopt): Use it, so to preserve glibc semantic
89024         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
89025         when compiling for libc.
89026         * lib/getopt_.h (__getopt_argv_const): Bring it back.
89027         (getopt_long, getopt_long_only): Use it.
89028
89029         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
89030         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
89031         (getopt): Argv is now char * const *, as per standard.
89032         (_getopt_internal_r, _getopt_internal): Argv is now char **,
89033         not char *__getopt_argv_const *.
89034         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
89035         _getopt_long_only_r): Likewise.
89036         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
89037         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
89038         _getopt_long_r, _getopt_long_only_r): Likewise.
89039         * lib/getopt_.h (__getopt_argv_const): Remove.
89040         (getopt): Argv is now char * const *, as per standard.
89041
89042         * lib/getdate.y (tORDINAL): New token.
89043         (day, relunit): Allow it for relative times.
89044         (relative_time_table): Use tORDINAL for ordinals.
89045
89046 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89047
89048         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
89049         Document that "second" isn't allowed as an ordinal number.
89050
89051 2004-11-16  Jim Meyering  <jim@meyering.net>
89052
89053         * modules/closeout (Depends-on): Add fpending.
89054
89055 2004-11-15  Jim Meyering  <jim@meyering.net>
89056
89057         * lib/closeout.c: Include "__fpending.h" once again.
89058         Include <stdbool.h>.
89059         (close_stdout): Don't fail just because stdout was closed initially,
89060         since some programs don't write to stdout in the normal course of
89061         operation (other than --version and --help), and we don't want this
89062         function to make e.g. `touch file >&-' fail.
89063         But do fail if it was closed and someone has tried to write to it.
89064         E.g., `printf foo >&-' must fail.
89065
89066 2004-11-13  Jim Meyering  <jim@meyering.net>
89067
89068         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
89069
89070 2004-11-12  Simon Josefsson  <jas@extundo.com>
89071
89072         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
89073         small doc fix is still pending.
89074
89075 2004-11-11  Simon Josefsson  <jas@extundo.com>
89076
89077         * modules/strtok_r: New file.
89078
89079         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89080         strtok_r.
89081
89082 2004-11-11  Simon Josefsson  <jas@extundo.com>
89083
89084         * m4/strtok_r.m4: New file.
89085
89086         * m4/getopt.m4: Replace opterr.
89087
89088 2004-11-11  Simon Josefsson  <jas@extundo.com>
89089
89090         * lib/strtok_r.h, strtok_r.c: New file.
89091
89092 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
89093
89094         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
89095         of replacing opterr, getopt, etc.  This should handle the
89096         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
89097
89098 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
89099
89100         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
89101         we can stop lying to compilers about the constness of argv when we
89102         are compiled outside glibc.
89103         (getopt, getopt_long, getopt_long_only): Use it.
89104         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
89105         _getopt_internal, getopt): Likewise.
89106         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
89107         _getopt_long_only_r): Likewise.
89108         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
89109         _getopt_long_r, _getopt_long_only_r): Likewise.
89110
89111         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
89112         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
89113         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
89114         the other external symbols.
89115         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
89116         declaration, since the above renaming now works around collisions.
89117
89118 2004-11-11  Jim Meyering  <jim@meyering.net>
89119
89120         * lib/linebreak.c: Remove trailing blanks.
89121         * lib/alloca_.h: Likewise.
89122         * lib/acosl.c: Likewise.
89123         * lib/euidaccess.c: Likewise.
89124         * lib/allocsa.h: Likewise.
89125
89126 2004-11-10  Simon Josefsson  <jas@extundo.com>
89127
89128         * m4/getaddrinfo.m4: New file.
89129
89130 2004-11-10  Simon Josefsson  <jas@extundo.com>
89131
89132         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
89133
89134 2004-11-10  Simon Josefsson  <jas@extundo.com>
89135
89136         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89137         getaddrinfo.
89138
89139         * modules/getaddrinfo: New file.
89140
89141 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
89142
89143         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
89144
89145 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
89146
89147         * lib/mktime.c (SHR): New macro, which is a portable
89148         substitute for >> that should work even on Crays.
89149         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
89150         Problem reported by Mark D. Baushke in
89151         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
89152         * lib/getdate.y (SHR): Likewise.
89153         (tm_diff): Use it.
89154         * lib/strftime.c (SHR): Likewise.
89155         (tm_diff): Use it.
89156         * lib/quotearg.c (struct quoting_options): Use unsigned int for
89157         quote_these_too, so that right shifts are well defined.  All uses
89158         changed.
89159
89160 2004-11-10  Jim Meyering  <jim@meyering.net>
89161
89162         Ensure that no close failure goes unreported.
89163         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
89164         return early when it seems there's nothing to flush.
89165         Don't include __fpending.h.
89166
89167 2004-11-10  Jim Meyering  <jim@meyering.net>
89168
89169         * modules/closeout (Depends-on): Remove fpending.
89170
89171 2004-11-10  Jim Meyering  <jim@meyering.net>
89172
89173         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
89174
89175 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89176
89177         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
89178         gl_FUNC_STRFTIME.
89179         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
89180         and AC_REQUIRE when possible, to avoid duplicate checks.
89181         Check for <wchar.h>.
89182
89183 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89184
89185         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
89186
89187 2004-11-09  Bruno Haible  <bruno@clisp.org>
89188
89189         * m4/sockpfaf.m4: New file.
89190
89191 2004-11-05  Bruno Haible  <bruno@clisp.org>
89192
89193         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
89194         Reported by Mark D. Baushke <mdb@cvshome.org>.
89195
89196 2004-11-04  Bruno Haible  <bruno@clisp.org>
89197
89198         2004-09-11  Bruno Haible  <bruno@clisp.org>
89199                 * allocsa.valgrind: New file.
89200         2004-02-06  Bruno Haible  <bruno@clisp.org>
89201                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
89202                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
89203                 Reported by Christopher Seip <chris.seip@hp.com>.
89204
89205 2004-11-04  Bruno Haible  <bruno@clisp.org>
89206
89207         * modules/allocsa (Files): Add lib/allocsa.valgrind.
89208         (Makefile.am): Distribute it.
89209
89210 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
89211
89212         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
89213         with errno == ERANGE if the buffer is too small.
89214         Problem reported by Mark D. Baushke.
89215
89216 2004-11-03  Albert Chin  <china@thewrittenword.com>
89217             Paul Eggert  <eggert@cs.ucla.edu>
89218
89219         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
89220         equivalent, substitute $ac_type for equivalent type rather than
89221         blindly using uint32_t *always* which won't work if uint32_t is not
89222         available.  Define _UINT32_T to work around typedef of uint32_t if
89223         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
89224         2.5.1.
89225
89226 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89227
89228         * m4/jm-macros.m4: Sync from coreutils.
89229         (gl_MACROS): Check for mbrlen, for pathchk.
89230         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
89231
89232 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89233
89234         * lib/xreadlink.c (MAXSIZE): New macro.
89235         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
89236         size does not exceed MAXSIZE.  Avoid cast.
89237         As suggested by Mark D. Baushke in
89238         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
89239         if readlink fails with buffer size just under MAXSIZE, try again
89240         with MAXSIZE.
89241
89242 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89243
89244         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
89245
89246 2004-11-02  Derek R. Price  <derek@ximbiot.com>
89247         and  Paul Eggert  <eggert@cs.ucla.edu>
89248
89249         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
89250         (get_date): Overparenthesize to avoid GCC warning.
89251
89252 2004-11-02  Bruno Haible  <bruno@clisp.org>
89253
89254         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
89255         returns void.
89256
89257 2004-11-02  Bruno Haible  <bruno@clisp.org>
89258
89259         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
89260         function returns void.
89261
89262 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
89263
89264         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
89265         fflush_unlocked, flockfile, funlockfile, funlockfile,
89266         fputs_unlocked, putc_unlocked.
89267
89268 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
89269
89270         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89271         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
89272         already declared.
89273
89274 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89275
89276         * modules/getdate (Files): Add doc/getdate.texi.
89277         (Depends-on): Add setenv, xalloc.
89278
89279 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89280
89281         * lib/getdate.y: Add support for TZ="foo" within a date string.
89282         Fix some bugs near time_t boundaries.  Reject dates with
89283         out-of-range components, e.g., "Sept 31".
89284         Include <stdlib.h>, "setenv.h", "xalloc.h".
89285         (ISDIGIT_LOCALE): Remove; unused.
89286         Note that the TZ and time functions used here are not reentrant.
89287         (mktime_ok, get_tz): New functions.
89288         (TZBUFSIZE): New constant.
89289         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
89290         This requires that we sometimes generate our own TZ="XXX..." setting.
89291
89292 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89293
89294         * doc/getdate.texi: New file, from coreutils with modifications for
89295         the new TZ parsing.
89296
89297 2004-10-27  Derek R. Price  <derek@ximbiot.com>
89298
89299         * lib/mktime.c (not_equal_tm): Remove redundant check.
89300
89301 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89302
89303         * modules/regex (lib_SOURCES): Add regex.c.
89304         Reported by James Youngman in
89305         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
89306
89307 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89308
89309         * lib/getdate.y: Use Bison 1.875 features, and some minor
89310         code cleanups.  This change does not affect semantics.
89311         Don't include <stdlib.h>; no longer needed.
89312         Don't include unlocked-io.h; only the "#if TEST" code uses
89313         stdio, and performance isn't crucial there.
89314         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
89315         Bison 1.875 features as described below.
89316         All uses of "PC." replaced by "pc->".
89317         (YYSTYPE): Add a forward declaration.
89318         (yylex, yyerror): Use full prototypes in forward decls.
89319         Use "%pure-parser" rather than obsolescent "%pure_parser".
89320         Use %parse-param and %lex-param instead of obsolescent
89321         YYPARSE_PARAM and YYLEX_PARAM.
89322         (meridian_table, month_and_day_table, time_units_table,
89323         relative_time_table, time_zone_table, military_table,
89324         lookup_zone, lookup_word, get_date):
89325         Use NULL instead of 0 where appropriate.
89326         (to_hour): Avoid abort (), to avoid a dependency on
89327         stdlib.h.
89328         (yyerror, yylex): Now accepts parser_control * arg.
89329         (main) [TEST]: Use '\0' rather than 0 for char.
89330
89331 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89332
89333         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
89334
89335 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89336
89337         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
89338         It's now the caller's responsibility to handle the case where
89339         !HAVE_GETPAGESIZE && !defined getpagesize.
89340
89341         * lib/mktime.c (leapyear): Arg is long int, not int.
89342
89343 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
89344
89345         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
89346
89347 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
89348
89349         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
89350         missing.  Problem reported by James Youngman.
89351
89352 2004-10-16  Simon Josefsson  <jas@extundo.com>
89353
89354         * gnulib-tool: Fix comments.  Fix parse problem.
89355         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
89356
89357 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
89358
89359         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
89360         implementation of getopt_long.  Problem reported by Alexander Taler in:
89361         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
89362
89363 2004-10-15  Bruno Haible  <bruno@clisp.org>
89364
89365         * gnulib-tool: Untabify. Initialize supplied_libname.
89366         (func_usage): More homogenous output.
89367         (func_modules_transitive_closure, func_modules_to_filelist,
89368         func_emit_lib_Makefile_am): New functions.
89369         (func_import): New function, extracted from big case statement. Use
89370         func_get_license, func_modules_transitive_closure,
89371         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
89372         opt_lgpl. Don't use test -a, as it's not portable.
89373         (func_create_testdir): Use func_modules_transitive_closure,
89374         func_modules_to_filelist, func_emit_lib_Makefile_am.
89375
89376 2004-10-15  Bruno Haible  <bruno@clisp.org>
89377
89378         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
89379
89380 2004-10-15  Bruno Haible  <bruno@clisp.org>
89381
89382         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
89383         the portions belonging to each module.
89384         Suggested by Derek Robert Price <derek@ximbiot.com>.
89385
89386 2004-10-12  Simon Josefsson  <jas@extundo.com>
89387
89388         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89389         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
89390         to real functions.
89391
89392 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89393
89394         * modules/vsnprintf: New file.
89395
89396 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89397
89398         * m4/vsnprintf.m4: New file.
89399
89400 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89401
89402         * lib/vsnprintf.h: New file.
89403         * lib/vsnprintf.c: New file.
89404
89405 2004-10-11  Bruno Haible  <bruno@clisp.org>
89406
89407         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
89408         vsnprintf.
89409
89410 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
89411
89412         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
89413
89414 2004-10-07  Bruno Haible  <bruno@clisp.org>
89415
89416         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
89417         fits into the provided buffer.
89418
89419 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
89420
89421         * lib/diacrit.c, diacrit.h: Add GPL notice.
89422
89423         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
89424         notice.
89425         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
89426         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
89427         This avoids a potential constant-folding bug.
89428
89429 2004-10-05  Bruno Haible  <bruno@clisp.org>
89430
89431         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
89432         for the declaration of strsep.
89433
89434 2004-10-05  Bruno Haible  <bruno@clisp.org>
89435
89436         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
89437
89438 2004-10-04  Simon Josefsson  <jas@extundo.com>
89439
89440         * modules/memmem: New file.
89441         * tests/test-memmem.c: New file.
89442         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
89443
89444 2004-10-04  Simon Josefsson  <jas@extundo.com>
89445
89446         * m4/memmem.m4: New file.
89447
89448 2004-10-04  Simon Josefsson  <jas@extundo.com>
89449
89450         * lib/memmem.h: New file.
89451         * lib/memmem.c: New file, taken from glibc.
89452
89453 2004-10-04  Simon Josefsson  <jas@extundo.com>
89454
89455         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
89456         '#ifdef USE_UNLOCKED_IO'.
89457
89458 2004-10-04  Simon Josefsson  <jas@extundo.com>
89459
89460         * config/srclist.txt: Add memmem from glibc.
89461
89462 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89463
89464         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
89465
89466         * modules/argmatch, modules/argp, modules/closeout, modules/error,
89467         modules/exclude, modules/getdate, modules/getline,
89468         modules/getndelim2, modules/getpass, modules/getpass-gnu,
89469         modules/getusershell, modules/linebuffer, modules/md5,
89470         modules/mountlist, modules/posixtm, modules/readtokens,
89471         modules/readutmp, modules/regex, modules/sha1,
89472         modules/version-etc, modules/yesno:
89473         Remove dependency on unlocked-io.
89474
89475 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89476
89477         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
89478
89479         * m4/unlocked-io.m4: Add copyright notice.
89480         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
89481
89482 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89483
89484         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
89485         * lib/xmalloc.c (xmemdup): Likewise.
89486         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
89487         XFREE): Remove these long-obsolescent macros.
89488         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
89489         * lib/xstrdup.c: Remove.
89490
89491         * lib/regex.c (re_comp): Cast gettext return value to char *,
89492         Problem reported by Martin Neitzel via Mark D. Baushke.
89493
89494 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89495
89496         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
89497         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
89498         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
89499         regex.c, sha1.c, version-etc.c, yesno.c:
89500         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
89501         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
89502         the includer's responsibility.
89503
89504         Sync from coreutils.
89505
89506         * lib/modechange.c (mode_compile): Don't decrement a pointer that
89507         points to the start of a string, as the C Standard says the
89508         resulting behavior is undefined.
89509
89510         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
89511         simple -> simple_backups, numbered_existing ->
89512         numbered_existing_backups, numbered -> numbered_backups
89513         to avoid shadowing problems.  All uses changed.
89514         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
89515         * lib/backupfile.c (check_extension, numbered_backup):
89516         Rename locals to avoid shadowing 'basename'.
89517         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
89518         once.
89519
89520         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
89521         * lib/.cvsignore: Add getopt.h.
89522
89523 2004-10-04  Bruno Haible  <bruno@clisp.org>
89524
89525         * modules/README: New file.
89526         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
89527         not a module.
89528
89529 2004-10-02  Jim Meyering  <jim@meyering.net>
89530
89531         * lib/dirfd.h, getpagesize.h: Add copyright notice.
89532
89533 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89534
89535         * modules/strsep: New file.
89536
89537 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89538
89539         * m4/strsep.m4: New file.
89540
89541 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89542
89543         * lib/strsep.h: New file.
89544         * lib/strsep.c: New file.
89545
89546 2004-10-01  Simon Josefsson  <jas@extundo.com>
89547
89548         * lib/snprintf.c (snprintf): Handle size==0.
89549
89550 2004-10-01  Simon Josefsson  <jas@extundo.com>
89551             Bruno Haible  <bruno@clisp.org>
89552
89553         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
89554         (snprintf): Declare 'args'.
89555
89556 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
89557
89558         * lib/snprintf.c: Remove comments as to why each header is needed.
89559
89560 2004-10-01  Bruno Haible  <bruno@clisp.org>
89561
89562         * MODULES.html.sh: Add strsep.
89563
89564 2004-09-30  Simon Josefsson  <jas@extundo.com>
89565
89566         * modules/snprintf: New file.
89567
89568 2004-09-30  Simon Josefsson  <jas@extundo.com>
89569
89570         * m4/snprintf.m4: New file.
89571
89572 2004-09-30  Simon Josefsson  <jas@extundo.com>
89573
89574         * lib/snprintf.h, lib/snprintf.c: New files.
89575
89576 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89577
89578         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
89579         (hol_entry_help): Never translate an empty string.
89580         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
89581         * lib/argp.h (OPTION_NO_TRANS): New option.
89582
89583 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89584
89585         * modules/argp (Maintainer): Replace Simon Josefsson
89586         by Sergey Poznyakoff.
89587
89588 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89589
89590         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
89591         changes merged back into glibc.
89592
89593 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89594
89595         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
89596
89597 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
89598
89599         * lib/xvasprintf.c: Include xalloc.h.
89600         (xvasprintf): Use xalloc_die, not xmalloc_die.
89601
89602 2004-09-29  Bruno Haible  <bruno@clisp.org>
89603
89604         * modules/alloca-opt: New file, derived from modules/alloca.
89605         * modules/allocsa: Depend on alloca-opt instead of alloca.
89606         * modules/setenv: Likewise.
89607         * modules/vasnprintf: Likewise.
89608         * MODULES.html.sh: Add alloca-opt.
89609
89610 2004-09-28  Simon Josefsson  <jas@extundo.com>
89611
89612         * gnulib-tool: New parameter --lgpl, to asseert that modules are
89613         LGPL, and to replace license template from GPL to LGPL.
89614
89615 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89616
89617         * modules/dummy: Change license to LGPL.
89618
89619 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89620
89621         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
89622
89623 2004-09-24  Simon Josefsson  <jas@extundo.com>
89624
89625         * modules/minmax (License): Change from GPL to LGPL.
89626
89627 2004-09-23  Simon Josefsson  <jas@extundo.com>
89628
89629         * gnulib-tool (--import): Typo.
89630
89631 2004-09-23  Simon Josefsson  <jas@extundo.com>
89632
89633         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
89634
89635 2004-09-22  Bruno Haible  <bruno@clisp.org>
89636
89637         * modules/*: Add 'License' field.
89638         * gnulib-tool: Accept --extract-license option.
89639         (func_get_license): New function.
89640
89641 2004-09-21  Bruno Haible  <bruno@clisp.org>
89642
89643         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
89644         Reported by Simon Josefsson.
89645
89646 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89647
89648         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
89649         gl_AC_TYPE_LONG_LONG.
89650
89651 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89652
89653         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
89654
89655 2004-09-18  Simon Josefsson  <jas@extundo.com>
89656         and  Paul Eggert  <eggert@cs.ucla.edu>
89657
89658         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
89659         calls with autoreconf.  Define GL_LIB.
89660
89661 2004-09-14  Karl Berry  <karl@gnu.org>
89662
89663         * config/srclist.txt: unsync setenv.c, sigh.
89664
89665 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89666
89667         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
89668         Problem reported by Bruno Haible in:
89669         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
89670
89671 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89672
89673         * config/srclist.txt: Comment out argp-pvh.c.
89674
89675 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
89676
89677         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
89678         in case some system header has #define'd it.  Problem reported by
89679         Soeren D. Schulze in
89680         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
89681
89682 2004-09-09  Karl Berry  <karl@gnu.org>
89683
89684         * regex.[ch]: delete from the root.  These were supposed to be
89685                 synced with emacs cvs, but this has not happened for about
89686                 a year, and anyway nothing else uses emacs regex.[ch].
89687                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
89688                 lib/regex[.ch] is untouched.
89689
89690 2004-09-09  Bruno Haible  <bruno@clisp.org>
89691
89692         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
89693
89694 2004-09-09  Bruno Haible  <bruno@clisp.org>
89695
89696         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
89697         modifications.
89698         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
89699
89700 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89701
89702         * modules/xvasprintf: New file.
89703         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
89704
89705 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89706
89707         * lib/xvasprintf.h: New file.
89708         * lib/xvasprintf.c: New file.
89709         * lib/xasprintf.c: New file.
89710
89711 2004-09-08  Bruno Haible  <bruno@clisp.org>
89712
89713         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
89714
89715 2004-09-08  Bruno Haible  <bruno@clisp.org>
89716
89717         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
89718         length is > INT_MAX.
89719         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
89720         more.
89721
89722 2004-09-08  Bruno Haible  <bruno@clisp.org>
89723
89724         * lib/stdint_.h: New file, taken from GNU clisp.
89725
89726 2004-09-08  Bruno Haible  <bruno@clisp.org>
89727             Oskar Liljeblad  <oskar@osk.mine.nu>
89728
89729         * modules/stdint: New file.
89730         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
89731
89732 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89733
89734         Import from coreutils.
89735         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
89736         strings on unbounded length.  alloca's performance benefits aren't
89737         that important here.
89738         (V_STRDUP): Remove.
89739         (parse_with_separator): New function, with most of the internals
89740         of the old parse_user_spec.  Allow user to omit both user and group,
89741         for compatibility with FreeBSD.
89742         Clone only the user name, not the entire spec.
89743         Do not set *uid, *gid unless entirely successful.
89744         Avoid memory leak in some failing cases.
89745         Fix regression for USER.GROUP reported by Dmitry V. Levin in
89746         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
89747         (parse_user_spec): Rewrite to use parse_with_separator.
89748
89749 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89750
89751         * modules/userspec: Don't depend on alloca.
89752
89753 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89754
89755         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
89756
89757 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
89758
89759         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
89760         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
89761         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
89762
89763 2004-08-16  Simon Josefsson  <jas@extundo.com>
89764
89765         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
89766         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
89767         Add --dry-run for --import.
89768         Let user provided command line parameters override configure.ac
89769         settings.
89770
89771 2004-08-12  Simon Josefsson  <jas@extundo.com>
89772
89773         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
89774         as discussed with Paul Eggert in threads rooted at
89775         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
89776         and
89777         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
89778         Before, the test was empty, and relied on ELIDE_CODE in source
89779         code.)
89780         (gl_PREREQ_GETOPT): New macro.
89781         (gl_GETOPT): Use them.
89782
89783 2004-08-12  Simon Josefsson  <jas@extundo.com>
89784
89785         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
89786         * lib/getopt_.h: Renamed from getopt.h.
89787
89788 2004-08-12  Simon Josefsson  <jas@extundo.com>
89789
89790         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
89791         Change default library name from libfoo to libgnu.
89792         Now, if you have a configure.ac that says:
89793                 gl_SOURCE_BASE(gl)
89794                 gl_M4_BASE(gl/m4)
89795                 gl_MODULES(error getopt etcetera)
89796                 gl_INIT
89797         you can import all you need by running:
89798                 ../gnulib/gnulib-tool --import
89799
89800         * modules/getopt (Files): Rename getopt.h to getopt_.h.
89801         (Makefile.am): Rewrite, use logic from argz.
89802         (Include): Use <getopt.h> instead of "getopt.h".
89803
89804 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89805
89806         * modules/argp (Files): Add m4/unlocked-io.m4.
89807         (Depends-on): Add extensions.
89808
89809 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89810
89811         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
89812         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
89813         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
89814         Check for program_invocation_name, program_invocation_short_name,
89815         flockfile, funlockfile, features.h, _getopt_long_only_r.
89816
89817 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89818
89819         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
89820         its complicated substitute.
89821         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
89822         and program_invocation_name.
89823         (__argp_basename) [!_LIBC]: Remove; the only use was
89824         replaced by its body.
89825         (__argp_short_program_name): Change condition from
89826         !defined __argp_short_program_name to
89827         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
89828         to match argp-namefrob.h.
89829         (__argp_failure): Don't assume strerror_r returns char *.
89830         * lib/argp-parse.c (N_): Define unconditionally.
89831         (argp_default_options): Fill out initializers with 0 to avoid
89832         gcc warnings.
89833
89834 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89835
89836         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
89837         getopt1.c.
89838
89839 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89840
89841         Merge from coreutils.
89842
89843         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
89844
89845         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
89846         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
89847
89848 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89849
89850         Merge from coreutils.
89851
89852         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
89853         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
89854         for Reliant Unix 5.43.
89855
89856         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
89857         (union fooround): Use uintmax_t, not long int.
89858         The rest is a merge from libc:
89859         [defined _LIBC]: Include <shlib-compat.h>.
89860         (_obstack) [defined _LIBC]: Remove after 2.3.4.
89861
89862         * lib/settime.c (settime): Recode to avoid warning with
89863         Sun Forte C 6U2.
89864
89865         * lib/strverscmp.c: Convert to UTF-8.
89866
89867 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89868
89869         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
89870         m4/uintmax_t.m4.
89871
89872 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89873
89874         * modules/xalloc-die: New file.
89875         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
89876
89877         * modules/md5 (Files): Add m4/uint32_t.m4.
89878         * modules/sha1: Renamed from modules/sha.
89879         (Files):
89880         Rename lib/sha.h to lib/sha1.h.
89881         Rename lib/sha.c to lib/sha1.c.
89882         Rename m4/sha.m4 to m4/sha1.m4.
89883         (lib_SOURCES): Likewise.
89884         (configure.ac): Rename gl_SHA to gl_SHA1.
89885         (Include): sha.h -> sha1.h.
89886
89887 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89888
89889         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
89890         * m4/sha1.m4: Renamed from sha.m4.
89891         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
89892
89893 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89894
89895         * lib/obstack.h (obstack_empty_p):
89896         Don't assume that chunk->contents is suitably aligned.
89897         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
89898         Likewise. Problem reported by Benno in
89899         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
89900
89901         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
89902         readable.  This could be improved further but it'd take some work.
89903
89904 2004-08-08  Simon Josefsson  <jas@extundo.com>
89905
89906         * modules/xgethostname (Depends-on): Remove exit and error (not
89907         used).
89908
89909         * modules/getpass-gnu: Add getpass.h.
89910         (Depends-on): Add stdbool.
89911         * modules/getpass: Add getpass.h.
89912
89913 2004-08-08  Simon Josefsson  <jas@extundo.com>
89914
89915         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
89916         Check getpass declaration.
89917
89918 2004-08-08  Simon Josefsson  <jas@extundo.com>
89919
89920         * lib/xgethostname.c: Don't include error.h (not used).
89921
89922         * lib/getpass.h: Add.
89923         * lib/getpass.c: Include getpass.h first.
89924
89925 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
89926
89927         * lib/xalloc-die.c: New file.
89928         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
89929         All uses removed.
89930         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
89931         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
89932         xalloc-die.c.
89933         (_, N_, xalloc_die): Move to xalloc-die.c.
89934         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
89935         so that we needn't mess with xalloc_msg_memory_exhausted.
89936
89937         * lib/sha1.h: Renamed from sha.h.
89938         (SHA1_H): Renamed from _SHA_H.
89939         (sha1_ctx): Renamed from sha_ctx.
89940         (sha1_init_ctx): Renamed from sha_init_ctx.
89941         (sha1_process_block): Renamed from sha_process_block.
89942         (sha1_process_bytes): Renamed from sha_process_bytes.
89943         (sha1_finish_ctx): Renamed from sha_finish_ctx.
89944         (sha1_read_ctx): Renamed from sha_read_ctx.
89945         (sha1_stream): Renamed from sha_stream.
89946         (sha1_buffer): Renamed from sha_buffer.
89947         * lib/sha1.c: Likewise; renamed from sha.c.
89948         Do not include <sys/types.h>.
89949         Include <stddef.h> rather than <stdlib.h>.
89950
89951 2004-08-08  Bruno Haible  <bruno@clisp.org>
89952
89953         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
89954         FILESYSTEM_PREFIX_LEN.
89955         * lib/progreloc.c: Likewise.
89956         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
89957
89958 2004-08-06  Simon Josefsson  <jas@extundo.com>
89959
89960         * modules/progname (Depends-on): Don't depend on stdbool.
89961
89962 2004-08-06  Simon Josefsson  <jas@extundo.com>
89963
89964         * modules/getsubopt: New file.
89965         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89966         getsubopt.
89967
89968 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89969
89970         More merge from coreutils.
89971
89972         * m4/utimens.m4, m4/utimecmp.m4: New files.
89973         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
89974         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
89975         prereq.m4, sha.m4: Import changes from coreutils.
89976
89977 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89978
89979         More merge from coreutils.
89980         * modules/raise, modules/readtokens0, modules/utimens:
89981         * modules/utimecmp, module/xnanosleep: New files.
89982         * modules/strftime: Add lib/strftime.h.
89983         Change include from <time.h> to "strftime.h".
89984         * modules/yesno: Add lib/yesno.h.
89985         * modules/backupfile: Remove lib/addext.c.
89986         * modules/euidaccess: Add stat-macros.h.
89987         * modules/canonicalize, modules/euidaccess,
89988         modules/filemode, modules/lchown, modules/makepath,
89989         modules/rmdir, modules/stat: Likewise.
89990
89991 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89992
89993         Merge from tar.
89994         * lib/argp-help.c (make_hol, hol_append): Don't assume that
89995         SIZE_MAX is a valid preprocessor constant.
89996         (__argp_basename): Change from "#ifndef _LIBC"
89997         to "#ifndef __argp_short_program_name", so that
89998         we don't compile these functions for tar.
89999
90000         More merges from coreutils.
90001         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
90002         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
90003         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
90004         * lib/addext.c: Remove; no longer needed.
90005         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
90006         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
90007         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
90008         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
90009         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
90010         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
90011         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
90012         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
90013         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
90014         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
90015         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
90016         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
90017         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
90018         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
90019         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
90020         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
90021         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
90022         Import changes from coreutils.
90023
90024 2004-08-05  Simon Josefsson  <jas@extundo.com>
90025
90026         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
90027
90028 2004-08-05  Simon Josefsson  <jas@extundo.com>
90029
90030         * m4/getsubopt.m4: New file.
90031
90032 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90033
90034         Merge from coreutils.
90035
90036         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
90037         * m4/getcwd-path-max.m4: New files.
90038
90039         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
90040         FILESYSTEM_PREFIX_LEN ->
90041         FILE_SYSTEM_PREFIX_LEN.
90042         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
90043         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
90044         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
90045         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
90046
90047         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
90048         prerequisite modules now handle the DOS stuff.
90049         Don't check for unistd.h.
90050
90051 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90052
90053         Merge from coreutils.
90054
90055         * lib/.gdb-history: Remove; this doesn't belong here.
90056
90057         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
90058         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
90059         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
90060         * lib/getcwd.c: New files.
90061
90062         * lib/dirname.h: Include <stdbool.h>.
90063         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
90064         for consistency with POSIX terminology.  All uses changed.
90065         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
90066         (strip_trailing_slashes): Use bool for booleans.
90067         * lib/stripslash.c (strip_trailing_slashes): Likewise.
90068
90069         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
90070         sometimes returns a positive errno value even when it succeeds.
90071         (print_errno_message) [!LIBC]: Fall back on strerror if
90072         __strerror_r fails.
90073
90074         * lib/path-concat.c (mempcpy): Don't define if a system header defines
90075         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
90076         (longest_relative_suffix): New function.
90077         (path_concat): Use it.  Assume first argument is not NULL.
90078         Port to DOS.  Omit redundant separators.
90079         Report an error instead of returning NULL.
90080         Use mempcpy instead of memcpy.
90081         (xpath_concat): Remove: not declared or used.
90082
90083         * lib/same.h: Include <stdbool.h>
90084         (same_name): Return bool, not int.
90085         * lib/same.c (same_name): Likewise.
90086         (errno): Don't declare; we assume C89 or better now.
90087
90088         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
90089         if not already defined.
90090
90091         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
90092         * lib/dup-safer.c (errno): Likewise.
90093
90094 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90095
90096         Merge from coreutils.
90097         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
90098         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
90099         * modules/path-concat: Don't depend on strdup.
90100
90101 2004-08-03  Simon Josefsson  <jas@extundo.com>
90102
90103         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
90104         * lib/progname.h: Don't include stdbool.h.
90105
90106 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90107
90108         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
90109         * MODULES.html.sh (func_all_modules): Remove fatal.
90110
90111 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90112
90113         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
90114
90115 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90116
90117         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
90118         working.
90119
90120 2004-08-02  Simon Josefsson  <jas@extundo.com>
90121
90122         * lib/getsubopt.h: New file, with comments from Bruno Haible.
90123         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
90124         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
90125
90126 2004-08-01  Simon Josefsson  <jas@extundo.com>
90127
90128         * lib/xgetdomainname.c: Include stdlib.h, for free().
90129
90130 2004-07-19  Bruno Haible  <bruno@clisp.org>
90131
90132         * MODULES.html.sh (func_all_modules): Add dummy.
90133
90134 2004-07-16  Simon Josefsson  <jas@extundo.com>
90135
90136         * modules/dummy: New file.
90137
90138 2004-07-16  Simon Josefsson  <jas@extundo.com>
90139
90140         * lib/dummy.c: New file.
90141
90142 2004-07-16  Bruno Haible  <bruno@clisp.org>
90143
90144         * lib/backupfile.h: Add extern "C" for C++.
90145         * lib/closeout.h: Likewise.
90146         * lib/copy-file.h: Likewise.
90147         * lib/findprog.h: Likewise.
90148         * lib/full-write.h: Likewise.
90149         * lib/pathname.h: Likewise.
90150         * lib/progname.h: Likewise.
90151         * lib/stpcpy.h: Likewise.
90152         * lib/stpncpy.h: Likewise.
90153         * lib/strcase.h: Likewise.
90154         * lib/strstr.h: Likewise.
90155         * lib/xalloc.h: Likewise.
90156
90157         * lib/mbswidth.h: Add extern "C" for C++.
90158         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
90159
90160 2004-07-13  Robert Millan  <robertmh@gnu.org>
90161
90162         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
90163
90164 2004-07-09  Simon Josefsson  <jas@extundo.com>
90165
90166         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
90167         failed without this.)
90168
90169 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
90170
90171         * modules/chown (Files): Add lib/fchown-stub.c, since
90172         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
90173
90174 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
90175
90176         * lib/fchown-stub.c: New file.
90177
90178 2004-06-24  Jim Meyering  <jim@meyering.net>
90179
90180         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
90181
90182 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90183
90184         * modules/argz: Omit "#include".
90185
90186         * MODULES.html.sh (func_all_modules): Add calloc, to match
90187         2004-06-01 addition of calloc module.
90188
90189 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90190
90191         * m4/argz.m4: New file, which is autoupdated from libtool.
90192
90193 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90194
90195         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
90196         libtool.
90197
90198 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90199
90200         * config/srclist-update: Don't insist on "USA." before the
90201         close-comment, as libtool omits the period and puts the */ on a
90202         separate line.
90203         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
90204         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
90205
90206 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
90207
90208         * modules/argz: New file.
90209         * MODULES.html.sh (func_all_modules): Add argz.
90210
90211 2004-06-12  Jim Meyering  <jim@meyering.net>
90212         and  Paul Eggert  <eggert@cs.ucla.edu>
90213
90214         * modules/hash (Files): Add lib/xalloc.h.
90215         * modules/pipe (Depends-on): Add wait-process.
90216         * modules/stat (Depends-on): Add xalloc.
90217         * modules/userspec (Files): Add lib/userspec.h.
90218         * modules/xstrto
90219
90220         Upgrade from gettext-0.13.
90221         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
90222         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
90223         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
90224
90225 2004-06-10  Jim Meyering  <jim@meyering.net>
90226
90227         * lib/calloc.c: New file.
90228
90229 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
90230
90231         * lib/getdate.y (yylex): Allow space between sign and number.
90232         Problem reported by Dan Jacobson.
90233
90234 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
90235
90236         Merge from coreutils CVS.
90237
90238         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
90239         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
90240         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
90241         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
90242         xstrtol.m4: Fix copyright date and/or serial number.
90243
90244         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
90245         See if we need an fchown replacement.
90246         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
90247         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
90248         and use the replacement function if we detect either defect.
90249
90250         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
90251         gl_UTIMECMP.
90252
90253 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
90254         and  Jim Meyering  <jim@meyering.net>
90255
90256         Merge from coreutils CVS.
90257
90258         * lib/stat-macros.h: New file, with contents from file-type.h
90259         and coreutils' system.h.
90260         * lib/file-type.c: Include "stat-macros.h".
90261         * lib/file-type.h (file_type): Move all macro definitions to new file,
90262         stat-macros.h.
90263
90264         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
90265         Wrap old code with this conditional.
90266         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
90267         function that does not dereference symlinks.
90268         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
90269
90270         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
90271         dependency problems.
90272         (xreadlink): Accept new arg SIZE, for efficiency.
90273         All decls and uses changed.
90274         * lib/xreadlink.h: Include <stddef.h>, for size_t.
90275
90276         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
90277         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
90278
90279         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
90280         sysexits.h.
90281
90282 2004-06-01  Jim Meyering  <jim@meyering.net>
90283
90284         * m4/calloc.m4: New file.
90285
90286 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
90287
90288         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
90289         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
90290         Also, fix a typo in a diagnostic.
90291
90292 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
90293
90294         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
90295         or AC_FUNC_REALLOC.
90296
90297 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
90298
90299         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
90300         macros to be defined.
90301         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
90302         the allocator returns NULL because the requested size is zero.
90303
90304 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
90305
90306         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
90307         var.  Add comment explaining why libc still defines it.  This
90308         merges the following patch from glibc:
90309         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
90310
90311 2004-05-20  Andreas Schwab  <schwab@suse.de>
90312
90313         * m4/free.m4: Replace free if it not known to work, not the other
90314         way round.
90315
90316 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
90317
90318         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
90319         present in glibc since revision 1.1 of this file.
90320         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
90321         obstack_alignment_mask, obstack_alloc, obstack_base,
90322         obstack_blank, obstack_blank_fast, obstack_chunk_size,
90323         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
90324         obstack_grow0, obstack_init, obstack_int_grow,
90325         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
90326         obstack_next_free, obstack_object_size, obstack_ptr_grow,
90327         obstack_ptr_grow_fast, obstack_room): Remove declarations of
90328         nonexistent functions.
90329
90330 2004-05-18  Karl Berry  <karl@gnu.org>
90331
90332         * config/srclist.txt: break link for vasnprintf.c.
90333
90334 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90335
90336         Port obstack to the AS/400, where pointers are 16 bytes wide and
90337         you cannot cast an integer to a valid pointer.  This patch is
90338         currently waiting to be integrated into glibc; see
90339         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
90340
90341         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
90342         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
90343         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
90344         (struct obstack): temp member is now a union of a pointer and
90345         an integer, instead of an integer.  All integer uses changed.
90346         This does not affect the physical layout of struct obstack,
90347         except on hosts (like the AS/400) where the size or alignment of
90348         void * is greater than that of ptrdiff_t.
90349         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
90350         __STDC__)]: Store temporary in pointer member of union, not
90351         integer member.
90352         * lib/obstack.c: Include <stddef.h>, for offsetof.
90353         (struct fooalign): Remove; it doesn't need a name.
90354         (union fooround): Change double to long double, and add void *.
90355         (DEFAULT_ALIGNMENT): Use offsetof to compute.
90356         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
90357         not a macro.  Hence the values are always int; so remove all
90358         casts-to-int in uses.
90359
90360 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90361
90362         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
90363         we can get this patch merged into glibc.
90364
90365 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90366             Paul Eggert  <eggert@cs.ucla.edu>
90367
90368         * m4/argp: Depend on alloca.
90369
90370 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90371             Paul Eggert  <eggert@cs.ucla.edu>
90372
90373         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
90374         freecoding.
90375
90376 2004-05-17  Bruno Haible  <bruno@clisp.org>
90377
90378         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
90379         precision that consists of a '.' followed by an empty digit string.
90380         Patch by Tor Lillqvist <tml@iki.fi>.
90381
90382 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90383
90384         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
90385         for backward compatibility with older code.  We need our own
90386         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
90387         it under some other name, and our alloca.h will define it.
90388
90389 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90390             Derek Price  <derek@ximbiot.com>
90391
90392         * lib/alloca.c: Include <alloca.h>, to get our interface.
90393         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
90394         include <alloca.h> first.  Use C89 prototype for alloca; this
90395         requires including <stddef.h> for size_t.  Use extern "C" if C++.
90396         Use #elif for simplicity, since we can assume C89 now.
90397         Don't try to source the system alloca.h since it will not be found
90398         and to prevent recursively including its replacement.
90399         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
90400         * lib/regex.c: Likewise.
90401
90402 2004-05-16  Derek Price  <derek@ximbiot.com>
90403             Paul Eggert  <eggert@cs.ucla.edu>
90404
90405         getline cleanup.  This changes the getndelim2 API: both order of
90406         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
90407         no delimiter).
90408
90409         * lib/getline.c: Don't include stddef.h or stdio.h, since our
90410         interface does that.
90411         (getline): Always use getdelim, so that we don't have two
90412         copies of this code.
90413         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
90414         if available.
90415         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
90416         (GETNDELIM2_MAXIMUM): New macro.
90417         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
90418         instead of the old practice of delim2==0.  All callers changed.
90419         Return -1 on overflow, instead of returning junk.
90420         Do not set *linesize unless allocation succeeds.
90421         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
90422         that we include sys/types.h.
90423         * lib/getnline.h: Likewise.
90424         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
90425         (getndelim2): Reorder arguments.
90426         * lib/getnline.c (getnline, getndelim):
90427         Don't discard the NMAX argument.
90428         (getnline): Invoke getndelim, to avoid code duplication.
90429         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
90430         of (size_t) -1 by callers of the getnline family.
90431
90432 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90433
90434         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
90435         Check for gettimeofday.
90436         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
90437         Check for settimeofday, stime.
90438
90439 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90440
90441         * lib/nanosleep.c (suspended): Change its type from int to
90442         sig_atomic_t volatile.
90443         (first_call): Make it private to rpl_nanosleep, and have it
90444         be zero initially as that's a bit faster.
90445         (my_usleep): Round up fractional times instead of truncating them,
90446         as this is the usual meaning for 'sleep'.
90447
90448         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
90449         doesn't work.
90450         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
90451         (ENOSYS): Define if not defined.
90452         (settime): Fall back on stime if it exists and settimeofday fails.
90453         But don't bother with fallbacks if a method fails with errno == EPERM.
90454
90455 2004-05-11  Jim Meyering  <jim@meyering.net>
90456
90457         Prior to this change, the save_cwd caller required read access to the
90458         current directory on most systems (ones with the fchdir function).
90459
90460         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
90461         fails, try write-only, and finally, resort to using xgetcwd.
90462
90463 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
90464
90465         * lib/obstack.c, obstack.h: Import changes from libc.
90466
90467 2004-04-28  Bruno Haible  <bruno@clisp.org>
90468
90469         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
90470         also implicitly appends .exe to executables.
90471         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
90472         accepts Windows pathnames.
90473         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90474         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90475         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90476         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90477         Reported by Derek Robert Price <derek@ximbiot.com>.
90478
90479 2004-04-21  Karl Berry  <karl@gnu.org>
90480
90481         * config/srclist.txt (localcharset.c): break sync.
90482
90483 2004-04-20  Paul Eggert  <eggert@twinsun.com>
90484
90485         * m4/host-os.m4: Add a copyright notice.
90486
90487 2004-04-20  Jim Meyering  <jim@meyering.net>
90488
90489         Change UTILS_ to gl_ in AC_DEFINE'd names.
90490         Change utils_- and jm_-prefixed variables, too.
90491         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
90492         UTILS_FUNC_MKDIR_TRAILING_SLASH.
90493         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
90494
90495         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
90496         Don't emit trailing blanks.
90497         Also rename jm_-prefixed variables to have gl_ prefix.
90498
90499         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
90500         Also rename jm_-prefixed variables to have gl_ prefix.
90501
90502         * m4/jm-macros.m4: Reflect the renamings.
90503         * m4/prereq.m4: Likewise.
90504
90505 2004-04-20  Jim Meyering  <jim@meyering.net>
90506
90507         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
90508         memory.
90509
90510 2004-04-20  Jim Meyering  <jim@meyering.net>
90511             Bruno Haible  <bruno@clisp.org>
90512
90513         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
90514         memory when realloc fails.
90515
90516 2004-04-19  Jim Meyering  <jim@meyering.net>
90517
90518         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
90519         now that readutmp.c may call `free (0)'.
90520
90521 2004-04-19  Bruno Haible  <bruno@clisp.org>
90522
90523         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
90524         * m4/inttypes_h.m4: Likewise.
90525         * m4/stdint_h.m4: Likewise.
90526         * m4/intmax_t.m4: Likewise.
90527         * m4/uintmax_t.m4: Likewise.
90528
90529 2004-04-18  Jim Meyering  <jim@meyering.net>
90530
90531         * m4/prereq.m4: Don't forbid jm_ prefix.
90532
90533         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
90534         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
90535         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
90536         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
90537         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
90538         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
90539         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
90540         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
90541         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
90542         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
90543         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
90544         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
90545         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
90546         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
90547         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
90548         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
90549         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
90550         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
90551         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
90552
90553 2004-04-18  Jim Meyering  <jim@meyering.net>
90554
90555         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
90556         failure, don't leak memory and do call END_UTMP_ENT.
90557
90558 2004-04-16  Jim Meyering  <jim@meyering.net>
90559
90560         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
90561         coreutils' stat program.
90562         (gl_PREREQ): Don't require jm_PREREQ_STAT.
90563
90564 2004-04-11  Paul Eggert  <eggert@twinsun.com>
90565
90566         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
90567         C89.
90568         (CHAR_BIT): Remove, since we assume C89.
90569         Include <stdint.h> if available, as per current Autoconf CVS advice.
90570
90571 2004-03-31  Jim Meyering  <jim@meyering.net>
90572
90573         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
90574         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
90575         * m4/xalloc.m4: Likewise.
90576
90577 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90578
90579         Merge from coreutils.
90580
90581         * m4/inttostr.m4: New file.
90582         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
90583         Require AM_STDBOOL_H and gl_TIMESPEC instead.
90584         Require gl_CLOCK_TIME.
90585         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
90586
90587 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90588
90589         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
90590         not bool, to be more consistent with Unix conventions.
90591         Suggested by Bruno Haible.
90592
90593         Merge from coreutils.
90594
90595         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
90596         * lib/umaxtostr.c: New files.
90597
90598         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
90599         the usual <time.h> dance.
90600         (get_date): Change signature to support fractional time stamps.
90601         All callers changed.
90602         * lib/getdate.y: Include "getdate.h" first, as we can now
90603         assume C89 and don't need to worry about 'const'.
90604         Similarly, include "unlocked-io.h" near start, not in middle.
90605         Include <limits.h>.
90606         (textint.value): Use long int rather than int.
90607         (textint.digits): Use size_t rather than int.
90608         (BILLION, LOG10_BILLION): New constants.
90609         (parser_control): New member rel_ns.  Members day_ordinal,
90610         time_zone, month, day, hour, minutes, rel_year, rel_month,
90611         rel_day, rel_hour, rel_minutes, rel_seconds
90612         are now long int, not int.  Member seconds is now struct timespec,
90613         not int.  New member timespec_seen.  Members dates_seen, days_seen,
90614         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
90615         not int.
90616         (%union.intval): Now long int, not int.
90617         New member timespec.
90618         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
90619         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
90620         (spec): Now is a timespec or an item list.
90621         (timespec, items): New nonterminals.
90622         (time, rel, relunit, number, get_date):
90623         Add support for fractional seconds.
90624         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
90625         (gmtime, localtime, mktime): Remove decls; not needed with C89.
90626         (to_hour): First arg is now long int, not int.
90627         (to_year): Returns long int, not int.
90628         Don't treat year -70 like 70.
90629         (tm_diff): Returns long int, not int.
90630         (lookup_word): Use bool instead of int when appropriate.
90631         (yylex): Use size_t for count, not int.
90632         Detect overflow when parsing large integer constants.
90633         Add support for fractions.
90634         (get_date): Make pointers 'const' if possible.
90635         Use more-portable code to detect integer overflow.
90636         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
90637         Don't use ctime; it's not reliable if the year has >4 digits.
90638
90639         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
90640         This is for compatibility with BSD.
90641
90642         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
90643         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
90644         From coreutils' system.h.
90645
90646         * lib/userspec.c: Don't include "posixver.h".
90647         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
90648         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
90649         compatible extension.  Simplify code by removing a boolean int
90650         that was always nonzero if a string was nonnull.
90651
90652 2004-03-30  Jim Meyering  <jim@meyering.net>
90653
90654         Merge from coreutils.
90655
90656         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
90657         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
90658         on some systems one must include <grp.h> before it.
90659         Reported by Christian Krackowizer.
90660
90661 2004-03-30  Jim Meyering  <jim@meyering.net>
90662
90663         Merge from coreutils.
90664
90665         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
90666
90667         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
90668         an empty input stream.
90669
90670         * lib/readtokens.c: Include <stdbool.h>.
90671         (readtoken): Use `size_t' rather than int/long.
90672         All callers adjusted.
90673         Use `bool' rather than `int' where appropriate.
90674         Use memset rather than an explicit loop.
90675         Use x2nrealloc rather than xrealloc.
90676         Allow the use of `\0' as a delimiter.
90677         (readtokens): Likewise.
90678         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
90679
90680 2004-03-30  Jim Meyering  <jim@meyering.net>
90681
90682         * m4/realloc.m4: Remove file, since now it does no more than
90683         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
90684         the `configure.ac' section of module/realloc.
90685         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
90686
90687 2004-03-30  Bruno Haible  <bruno@clisp.org>
90688
90689         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
90690         nonnull.
90691
90692 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90693
90694         Merge changes to getloadavg.c from coreutils and Emacs.
90695
90696         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
90697         Define to an expression, not to the empty string.
90698         Include cloexec.h and xalloc.h.
90699         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
90700         Use set_cloexec_flag rather than rolling our own.
90701         * lib/cloexec.c, lib/cloexec.h: New files.
90702
90703 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90704
90705         * m4/cloexec.m4: New file.
90706
90707 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90708
90709         * lib/getopt.h: Sync with libc CVS.
90710
90711 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90712             Bruno Haible  <bruno@clisp.org>
90713
90714         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
90715         mbswidth.
90716
90717 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90718             Bruno Haible  <bruno@clisp.org>
90719
90720         * lib/mbswidth.h: Include <wchar.h> only if
90721         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
90722         <wchar.h>.
90723         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
90724
90725 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90726
90727         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
90728         Sync with libc CVS.
90729         * lib/getopt_int.h: New file, also synced from libc.
90730
90731 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90732
90733         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
90734         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
90735         Bring back getopt.c, getopt.h, getopt1.c.
90736
90737 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90738
90739         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
90740         All uses changed.  Check for sa_sigaction member; this fixes
90741         a bug first reported by Jason Andrade in
90742         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90743
90744 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90745
90746         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
90747         '#if' expressions.  Unlike the code it replaces, it does not
90748         depend on (defined _SC_PAGESIZE).  However, it does depend on
90749         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
90750         first reported by Jason Andrade in
90751         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90752
90753 2004-02-25  Simon Josefsson  <jas@extundo.com>
90754
90755         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
90756
90757 2004-02-25  Simon Josefsson  <jas@extundo.com>
90758
90759         * lib/strdup.h: New file.
90760         * lib/strdup.c: Include it.
90761         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
90762         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
90763
90764 2004-02-23  Karl Berry  <karl@gnu.org>
90765
90766         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
90767         (from fencepost.gnu.org:/gd/gnuorg).
90768
90769 2004-02-23  Karl Berry  <karl@gnu.org>
90770
90771         * config/srclistvars.sh (GNUORG) [karl]: redefine.
90772         * config/srclist.txt: add maintain/standards documents.
90773
90774 2004-02-18  Bruno Haible  <bruno@clisp.org>
90775
90776         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
90777         Reported by Derek Robert Price <derek@ximbiot.com>.
90778
90779 2004-02-16  Karl Berry  <karl@gnu.org>
90780
90781         * config/mkinstalldirs, install-sh: update from automake.
90782
90783 2004-02-06  Karl Berry  <karl@gnu.org>
90784
90785         * m4/po.m4: update from gettext 0.14.1.
90786
90787 2004-02-06  Karl Berry  <karl@gnu.org>
90788
90789         * lib/config.charset: update from gettext 0.14.1.
90790
90791 2004-02-05  Paul Eggert  <eggert@twinsun.com>
90792
90793         Add comments and code, prompted by suggestions from Bruno Haible
90794         for sh-quote.
90795         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
90796         describing the enum quoting_style values.
90797         * lib/quotearg.c (quotearg_alloc): New function.
90798         (quotearg_buffer_restyled): Treat lone { and } as special.
90799         Treat = as special.  Work around bug with older shells
90800         that "see" a '\' that is really the 2nd byte of a multibyte char.
90801         Quote empty string with shell_quoting_style.
90802
90803 2004-02-03  Bruno Haible  <bruno@clisp.org>
90804
90805         * m4/pipe.m4: New file, from GNU gettext.
90806
90807 2004-02-03  Bruno Haible  <bruno@clisp.org>
90808
90809         * lib/pipe.h: New file, from GNU gettext.
90810         * lib/pipe.c: New file, from GNU gettext.
90811
90812 2004-01-27  Bruno Haible  <bruno@clisp.org>
90813
90814         * m4/execute.m4: New file, from GNU gettext.
90815
90816 2004-01-27  Bruno Haible  <bruno@clisp.org>
90817
90818         * lib/execute.h: New file, from GNU gettext.
90819         * lib/execute.c: New file, from GNU gettext.
90820         * lib/w32spawn.h: New file, from GNU gettext.
90821
90822 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90823
90824         Merge from diffutils.
90825
90826         * lib/file-type.c (file_type): Add typed memory objects.
90827         * lib/file-type.h (S_TYPEISTMO): New macro.
90828
90829         * lib/c-stack.h (c_stack_action): Remove argv argument.
90830         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
90831         (die): Don't calculate message unless segv_action returns.
90832         (get_stack_location, min_address_from_argv, max_address_from_argv,
90833         volatile stack_base, volatile_stack_size): Remove.
90834         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
90835         that every segmentation violation is a stack overflow.  (Ouch!)
90836         See Debian bug 136249 (still outstanding) for more info about why
90837         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
90838
90839 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90840
90841         Exit-status fix from coreutils.
90842
90843         Use exit_failure consistently in place of EXIT_FAILURE,
90844         so that program exit statuses are consistent on failure.
90845
90846         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
90847         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
90848         * lib/argmatch.h: Comment fix to match the above.
90849         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
90850         Now a macro referring to exit_failure, instead of a separate
90851         variable.  Include "exitfail.h" to get it.
90852         * lib/xstrtol.h: Include "exitfail.h".
90853         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
90854
90855         * lib/long-options.c (parse_long_options): Use prototype
90856         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
90857         for clarity.
90858
90859 2004-01-21  Jim Meyering  <jim@meyering.net>
90860
90861         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
90862         so as not to conflict with a different-sized __mktime_internal
90863         function in GNU libc.
90864         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
90865         Problem building statically-linked `ls' reported by Michael Brunnbauer.
90866
90867 2004-01-20  Karl Berry  <karl@gnu.org>
90868
90869         * config/config.guess: update from config.
90870
90871         * config/srclistvars.sh: GNUWWWLICENSES for karl.
90872
90873 2004-01-20  Bruno Haible  <bruno@clisp.org>
90874
90875         Safer stack allocation.
90876         * lib/setenv.c: Include allocsa.h.
90877         (alloca): Remove fallback definition.
90878         (freea): Remove macro.
90879         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
90880         instead of freea.
90881
90882 2004-01-20  Bruno Haible  <bruno@clisp.org>
90883
90884         * m4/eealloc.m4: New file, from GNU gettext.
90885
90886 2004-01-20  Bruno Haible  <bruno@clisp.org>
90887
90888         * m4/allocsa.m4: New file, from GNU gettext.
90889
90890 2004-01-20  Bruno Haible  <bruno@clisp.org>
90891
90892         * lib/xallocsa.h: New file, from GNU gettext.
90893         * lib/xallocsa.c: New file, from GNU gettext.
90894
90895 2004-01-20  Bruno Haible  <bruno@clisp.org>
90896
90897         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
90898
90899 2004-01-20  Bruno Haible  <bruno@clisp.org>
90900
90901         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
90902         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
90903         specially.
90904
90905 2004-01-20  Bruno Haible  <bruno@clisp.org>
90906
90907         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
90908         patch.
90909
90910 2004-01-20  Bruno Haible  <bruno@clisp.org>
90911
90912         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
90913
90914 2004-01-20  Bruno Haible  <bruno@clisp.org>
90915
90916         * lib/eealloc.h: New file.
90917
90918 2004-01-20  Bruno Haible  <bruno@clisp.org>
90919
90920         * lib/binary-io.h: Avoid warnings on Cygwin.
90921
90922 2004-01-20  Bruno Haible  <bruno@clisp.org>
90923
90924         * lib/allocsa.h: New file, from GNU gettext.
90925         * lib/allocsa.c: New file, from GNU gettext.
90926
90927 2004-01-18  Karl Berry  <karl@gnu.org>
90928
90929         * doc/gpl.texi, doc/lgpl.texi: new files.
90930
90931 2004-01-18  Karl Berry  <karl@gnu.org>
90932
90933         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
90934         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
90935
90936 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90937
90938         Merge from coreutils.
90939
90940         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
90941         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
90942         (gl_DEFAULT_POSIX2_VERSION): Move
90943         the documentation from 'configure' into 'config.hin',
90944         so that 'configure --help' isn't burdened by it and
90945         we don't have to worry about its formatting there.
90946         Reword the documentation so that it's more succinct
90947         and can be run together into a single paragraph.
90948         * m4/same.m4 (gl_SAME): Check for pathconf.
90949
90950 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90951
90952         Merge from coreutils.
90953
90954         * lib/posixver.c: Include posixver.h.
90955
90956         * lib/same.c: Include <stdbool.h>, <limits.h>.
90957         (_POSIX_NAME_MAX): Define if not defined.
90958         (MIN): New macro.
90959         (same_name): If file names are silently truncated, report
90960         that the file names are the same if they are the same after
90961         the silent truncation.
90962
90963         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
90964         conversion function.
90965         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
90966         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
90967         longer needed.
90968
90969 2004-01-15  Jim Meyering  <jim@meyering.net>
90970
90971         Merge from coreutils.
90972
90973         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
90974         if no library is required.
90975         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
90976         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
90977         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
90978         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
90979         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
90980         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
90981         value, $ac_cv_search_crypt, if it's "none required".
90982         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
90983         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
90984         not gl_FUNC_GETLOADAVG.
90985         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
90986         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
90987
90988 2004-01-15  Jim Meyering  <jim@meyering.net>
90989
90990         Merge from coreutils.
90991
90992         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
90993         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
90994         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
90995
90996         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
90997         optional configure-time default.
90998
90999         * lib/version-etc.c (version_etc_copyright): Update copyright date.
91000
91001         * lib/xreadlink.c (xreadlink): Correct outdated comment.
91002
91003 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
91004
91005         Merge from coreutils.
91006
91007         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
91008         value, $ac_cv_search_nanosleep, if it's "none required".
91009
91010 2004-01-14  Paul Eggert  <eggert@twinsun.com>
91011
91012         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
91013         with like-named macro in fnmatch.c.
91014         (EXT): Use an internal constant instead.
91015
91016         Merge fnmatch patches from glibc.
91017         * lib/fnmatch.c (mbsinit): Remove define.
91018         Add libc_hidden_ver (__fnmatch, fnmatch).
91019         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
91020         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
91021
91022 2004-01-14  Karl Berry  <karl@gnu.org>
91023
91024         * config/install-sh: update from automake.
91025
91026 2004-01-13  Karl Berry  <karl@gnu.org>
91027
91028         * config/install-sh: update from automake.
91029
91030 2004-01-09  Karl Berry  <karl@gnu.org>
91031
91032         * config/install-sh: update from automake.
91033
91034 2004-01-05  Karl Berry  <karl@gnu.org>
91035
91036         * config/config.{sub,guess}: update from config.
91037
91038 2003-12-31  Karl Berry  <karl@gnu.org>
91039
91040         * config/depcomp: update from automake.
91041
91042 2003-12-14  Karl Berry  <karl@gnu.org>
91043
91044         * lib/config.charset: update from gettext-runtime.
91045
91046 2003-12-03  Paul Eggert  <eggert@twinsun.com>
91047
91048         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
91049         Bug reported by Alfred M. Szmidt.
91050
91051 2003-12-03  Bruno Haible  <bruno@clisp.org>
91052
91053         * m4/gettext.m4: Upgrade from gettext-0.13.
91054         * m4/po.m4: Upgrade from gettext-0.13.
91055         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
91056         * m4/intmax.m4: New file, from gettext-0.13.
91057         * m4/printf-posix.m4: New file, from gettext-0.13.
91058
91059 2003-11-29  Karl Berry  <karl@gnu.org>
91060
91061         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
91062
91063 2003-11-25  Paul Eggert  <eggert@twinsun.com>
91064             Bruno Haible  <bruno@clisp.org>
91065
91066         * lib/printf-parse.h: Don't include sys/types.h.
91067         (ARG_NONE): New macro.
91068         (char_directive): Change type of *arg_index fields to size_t.
91069         * lib/printf-parse.c: Don't include sys/types.h.
91070         (SSIZE_MAX): Remove macro.
91071         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
91072         Remove unnecessary overflow check.
91073         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
91074         fields.
91075
91076 2003-11-25  Bruno Haible  <bruno@clisp.org>
91077
91078         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
91079
91080 2003-11-25  Bruno Haible  <bruno@clisp.org>
91081
91082         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
91083         gt_TYPE_SSIZE_T.
91084
91085 2003-11-24  Paul Eggert  <eggert@twinsun.com>
91086
91087         * modules/alloca: Remove dependency on xalloc.
91088
91089 2003-11-24  Paul Eggert  <eggert@twinsun.com>
91090
91091         * lib/alloca.c: Remove dependency on xalloc module.
91092         (xalloc_die): Remove.
91093         (memory_full) [!defined emacs]: New macro.
91094         [!defined emacs]: Don't include xalloc.h.
91095         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
91096         address arithmetic overflows.  Change datatypes a bit to avoid
91097         unnecessary casts.
91098
91099 2003-11-22  Jim Meyering  <jim@meyering.net>
91100
91101         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
91102         s/size/size_t/.
91103
91104 2003-11-21  Karl Berry  <karl@gnu.org>
91105
91106         * config/config.{sub,guess}: update from config.
91107
91108 2003-11-18  Karl Berry  <karl@gnu.org>
91109
91110         * config/config.{sub,guess}: update from config.
91111
91112         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
91113
91114 2003-11-17  Paul Eggert  <eggert@twinsun.com>
91115
91116         * README: Mention that S+T cannot overflow if S is the size of
91117         an existing object and T is sufficiently small.
91118
91119 2003-11-17  Jim Meyering  <jim@meyering.net>
91120
91121         On systems without utime and without a utimes function capable of
91122         dealing with a NULL struct utimbuf* argument, this utime replacement
91123         could -- in unusual circumstances -- leak a file descriptor.
91124         * lib/utime.c: Include <unistd.h> and <errno.h>.
91125         (utime_null): Be sure to close `fd' and to preserve errno.
91126         Reported by Geoff Collyer via Arnold Robbins.
91127
91128 2003-11-17  Bruno Haible  <bruno@clisp.org>
91129
91130         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
91131         (Depends-on): Add xsize.
91132
91133 2003-11-17  Bruno Haible  <bruno@clisp.org>
91134
91135         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
91136
91137 2003-11-17  Bruno Haible  <bruno@clisp.org>
91138
91139         * lib/vasnprintf.c (alloca): Remove fallback definition.
91140         (freea): Remove definition.
91141         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
91142         Reported by Paul Eggert.
91143
91144 2003-11-16  Paul Eggert  <eggert@twinsun.com>
91145             Bruno Haible  <bruno@clisp.org>
91146
91147         Protect against address arithmetic overflow.
91148         * lib/printf-args.h: Include stddef.h.
91149         (arguments): Change type of field 'count' to size_t.
91150         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
91151         'unsigned int' where appropriate.
91152         * lib/printf-parse.h: Include sys/types.h.
91153         (char_directive): Change type of *arg_index fields to ssize_t.
91154         (char_directives): Change type of fields 'count', max_*_length to
91155         size_t.
91156         * lib/printf-parse.c: Include sys/types.h and xsize.h.
91157         (SSIZE_MAX): Define fallback value.
91158         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
91159         instead of 'int' where appropriate. Check a_allocated, d_allocated
91160         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
91161         * lib/vasnprintf.c: Include xsize.h.
91162         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
91163         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
91164         overflow. Avoid wraparound when converting a width or precision from
91165         decimal to binary.
91166
91167 2003-11-16  Bruno Haible  <bruno@clisp.org>
91168
91169         Update from GNU gettext.
91170         * lib/printf-parse.c: Generalize to it can be compiled for wide
91171         strings.
91172         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
91173         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
91174         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
91175         SNPRINTF): New macros.
91176         Don't include <alloca.h> if the file is used inside libintl.
91177         (local_wcslen): New function, for Solaris 2.5.1.
91178         (VASNPRINTF): Use it instead of wcslen.
91179
91180 2003-11-16  Bruno Haible  <bruno@clisp.org>
91181
91182         * lib/xsize.h (xmax): New function.
91183         (xsum, xsum3, xsum4): Declare as "pure" functions.
91184
91185 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91186
91187         * modules/xalloc (Files): Undo latest change, since xalloc.h
91188         no longer needs SIZE_MAX or PTRDIFF_MAX.
91189
91190 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91191
91192         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
91193         gl_PTRDIFF_MAX.
91194
91195 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91196
91197         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
91198         "return", to pacify some unknown compiler.  Problem reported
91199         by Joerg Schilling.
91200
91201 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91202
91203         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
91204         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
91205         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
91206         heuristic is just as accurate as far as we know, and it removes a
91207         dependency on size_max.m4 and ptrdiff_max.m4.
91208
91209 2003-11-11  Bruno Haible  <bruno@clisp.org>
91210
91211         * modules/xsize (Files): Add m4/size_max.m4.
91212         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
91213
91214 2003-11-11  Bruno Haible  <bruno@clisp.org>
91215
91216         * m4/size_max.m4: New file.
91217         * m4/ptrdiff_max.m4: New file.
91218         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
91219         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
91220         (gl_XALLOC): Invoke it.
91221
91222 2003-11-11  Bruno Haible  <bruno@clisp.org>
91223
91224         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
91225         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
91226         defined.
91227
91228 2003-11-10  Paul Eggert  <eggert@twinsun.com>
91229
91230         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
91231         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
91232         rejected some allocations of exactly SIZE_MAX - 2 bytes.
91233         From Bruno Haible.
91234         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
91235         not (size_t) -1, since it's defined here.
91236
91237 2003-11-09  Karl Berry  <karl@gnu.org>
91238
91239         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
91240
91241 2003-11-06  Paul Eggert  <eggert@twinsun.com>
91242
91243         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
91244         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
91245         Reject sizes of exactly SIZE_MAX bytes.
91246         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
91247         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
91248
91249 2003-11-05  Bruno Haible  <bruno@clisp.org>
91250
91251         * lib/xsize.h: Include limits.h, to avoid a possible collision with
91252         SIZE_MAX defined in <limits.h> on Solaris.
91253
91254 2003-11-04  Jim Meyering  <jim@meyering.net>
91255
91256         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
91257         variable names, rather than @VAR@.
91258         * modules/poll: Likewise.
91259
91260 2003-11-04  Bruno Haible  <bruno@clisp.org>
91261
91262         * modules/xsize: New file.
91263         * modules/linebreak: Depend on xsize.
91264         * MODULES.html.sh (func_all_modules): Add xsize.
91265
91266 2003-11-04  Bruno Haible  <bruno@clisp.org>
91267
91268         * m4/xsize.m4: New file.
91269
91270 2003-11-04  Bruno Haible  <bruno@clisp.org>
91271
91272         * lib/xsize.h: New file.
91273         * lib/linebreak.c: Include xsize.h.
91274         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
91275         argument for overflow.
91276         Suggested by Paul Eggert.
91277
91278 2003-11-03  Karl Berry  <karl@gnu.org>
91279
91280         * config/config.{guess,sub}: update from config.
91281
91282 2003-11-03  Jim Meyering  <jim@meyering.net>
91283
91284         * modules/userspec (lib_SOURCES): Add userspec.h.
91285         (Include): Add "userspec.h".
91286         Improve description.
91287
91288 2003-11-03  Jim Meyering  <jim@meyering.net>
91289
91290         * lib/userspec.c: Include "userspec.h".
91291         * lib/userspec.h: New file.
91292
91293 2003-11-03  Bruno Haible  <bruno@clisp.org>
91294
91295         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
91296
91297 2003-11-03  Bruno Haible  <bruno@clisp.org>
91298
91299         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
91300         available, to avoid (extremely rare) race condition.
91301         Suggested by Paul Eggert.
91302
91303 2003-11-02  Karl Berry  <karl@gnu.org>
91304
91305         * config/srclist.txt (vasprintf.c): sync broken, sigh.
91306
91307 2003-10-31  Paul Eggert  <eggert@twinsun.com>
91308
91309         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
91310         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
91311         (read_filesystem_list): Set and use me_type_malloced.
91312         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
91313         whatever the type happens to be), for brevity and consistency.
91314         Check for size calculation overflow on Alphas running OSF/1.
91315
91316 2003-10-31  Jim Meyering  <jim@meyering.net>
91317
91318         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
91319
91320         * lib/linebuffer.c: Include <string.h> for declaration of memset.
91321
91322 2003-10-30  Paul Eggert  <eggert@twinsun.com>
91323             Bruno Haible  <bruno@clisp.org>
91324
91325         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
91326         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
91327
91328 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
91329
91330         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
91331         netbsd*-gnu*.  Suggested by Robert Millan.
91332
91333 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91334
91335         * modules/group-member: Depend on stdbool.
91336
91337 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91338
91339         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
91340
91341 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91342
91343         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
91344         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
91345         after the 'gnu' in these cases.  This fixes some bugs in the
91346         previous change, and is based on suggestions by Robert Millan.
91347
91348 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91349
91350         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
91351         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
91352         no longer needed.
91353         * lib/quotearg.c (quotearg_n_options): Use it.
91354         * lib/group-member.c: Include <stdbool.h>.
91355         (free_group_info): Arg is now const *; don't free arg.
91356         (get_group_info): Now returns bool and accepts struct group_info *,
91357         rather than returning a malloc'ed struct group_info *.
91358         All uses changed.  Check for overflow in internal size calculation.
91359
91360         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
91361         rather than xmalloc/xrealloc.
91362         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
91363         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
91364         conformance bug: the old code used a pointer after freeing the
91365         storage that it addressed.
91366         * lib/hash.c (hash_initialize): Simplify the code by using
91367         xalloc_oversized rather than doing it by hand.
91368         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
91369         the buffer preserved.  Use free and xmalloc instead.
91370         * lib/quotearg.c (quotearg_n_options): Likewise.
91371         Use a simpler test for size overflow.  Don't use xalloc_oversized
91372         because unsigned int might be wider than size_t (!); this suggests
91373         that we should switch from unsigned int to size_t for slot numbers.
91374
91375 2003-10-28  Paul Eggert  <eggert@twinsun.com>
91376
91377         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
91378         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
91379         NetBSD kernels.  Requested by Richard Stallman.
91380
91381 2003-10-27  Paul Eggert  <eggert@twinsun.com>
91382
91383         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
91384         to allocate the returned structure.  Do not allocate a subarray,
91385         as x2nrealloc will do that.
91386         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
91387         instead of xnrealloc.
91388         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
91389
91390 2003-10-27  Bruno Haible  <bruno@clisp.org>
91391
91392         * lib/stdbool_.h: Better support for BeOS.
91393
91394 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91395
91396         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
91397         now uses inline.
91398
91399 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91400
91401         * lib/xalloc.h (xalloc_oversized): New static inline function, for
91402         callers that want to do their own size-overflow checking.  Include
91403         <stdbool.h>, since xalloc_oversized returns bool.
91404         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
91405         to use xalloc_oversized.
91406
91407         Add two functions x2realloc, x2nrealloc, for programs that grow
91408         arrays dynamically by doubling their sizes.
91409         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
91410         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
91411         New functions.
91412
91413         Port to C99 semantics for 'inline' of external functions.
91414         Bug reported by Bruno Haible.
91415         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
91416         with the old contents of xnmalloc.
91417         (xnmalloc, xmalloc): Use it.
91418         (xnrealloc_inline): New static inline function,
91419         with the old contents of xnrealloc.
91420         (xnrealloc, xrealloc): Use it.
91421
91422         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
91423         that.
91424
91425 2003-10-26  Karl Berry  <karl@gnu.org>
91426
91427         * config/srclist.txt (COPYING.DOC): no longer available from
91428         /gd/gnuorg; don't know where the ultimate source is.
91429
91430 2003-10-25  Paul Eggert  <eggert@twinsun.com>
91431
91432         Fix several address-calculation bugs in the hash modules,
91433         plus some minor code cleanup.
91434
91435         * lib/hash.h: Include <stdbool.h>, for bool.
91436         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
91437         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
91438         hash_get_n_entries, hash_get_max_bucket_length,
91439         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
91440         hash_rehash): Use size_t rather than unsigned.
91441         * lib/hash.c (struct hash_table, hash_get_n_buckets,
91442         hash_get_n_buckets_used, hash_get_n_entries,
91443         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
91444         hash_get_entries, hash_do_for_each, hash_string, is_prime,
91445         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
91446         Likewise.
91447         (SIZE_MAX): Define if not defined.
91448         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
91449         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
91450         hash_print):
91451         Use const * when possible.
91452         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
91453         (check_tuning): Fix bug: if tuning parameters were very close to
91454         0 or 1, rounding errors could have caused subscript violations.
91455         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
91456         (hash_initialize): Add 'fail:' label
91457         to free table and return NULL, and use it to simplify code.
91458         Use calloc rather than clearing the storage ourself.
91459         (hash_initialize, hash_rehash): Check for arithmetic overflow in
91460         buffer size calculations.
91461         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
91462         Include <stddef.h>, for size_t.
91463         * lib/hash-pjw.c (hash_pjw): Likewise.
91464         Switch to method described by Bruno Haible.
91465         Include <limits.h>, for CHAR_BIT.
91466         (SIZE_BITS): New macro.
91467
91468 2003-10-23  Paul Eggert  <eggert@twinsun.com>
91469
91470         * m4/getline.m4 (AM_FUNC_GETLINE):
91471         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
91472         hosts.  Problem reported by Derek Robert Price in
91473         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
91474         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
91475         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
91476
91477 2003-10-21  Paul Eggert  <eggert@twinsun.com>
91478
91479         * lib/getndelim2.c (getndelim2): When size calculation overflows,
91480         ceiling the allocation at NMAX bytes rather than silently
91481         discarding input bytes before NMAX is reached.  This makes
91482         a difference only if NMAX exceeds SIZE_MAX / 2.
91483
91484         * lib/obstack.c: Merge from glibc.
91485         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
91486         Add libc_hidden_def (_obstack_newchunk).
91487         (_obstack_free) [! defined _LIBC]: Remove.
91488         [defined _LIBC]: Make a strong alias from obstack_free, rather than
91489         a clone of the function body.
91490         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
91491         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
91492
91493         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
91494         glibc.
91495         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
91496         arg to memcpy.
91497
91498         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
91499         (obstack_ptr_grow_fast, obstack_int_grow_fast):
91500         Don't use lvalue casts, as GCC plans to remove support for them
91501         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
91502         was also present in the non-GCC version, indicating that this
91503         code had always been buggy and had never been widely used.
91504         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
91505         Use the fast variant of each macro, rather than copying the
91506         definiens of the fast variant; that way, we'll be more likely to
91507         catch future bugs in the fast variants.
91508
91509 2003-10-20  Bruno Haible  <bruno@clisp.org>
91510
91511         * modules/wait-process: New file.
91512         * MODULES.html.sh (func_all_modules): Add wait-process.
91513
91514 2003-10-20  Bruno Haible  <bruno@clisp.org>
91515
91516         * m4/wait-process.m4: New file.
91517
91518 2003-10-20  Bruno Haible  <bruno@clisp.org>
91519
91520         * lib/wait-process.h: New file, from GNU gettext.
91521         * lib/wait-process.c: New file, from GNU gettext.
91522
91523 2003-10-19  Jim Meyering  <jim@meyering.net>
91524
91525         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
91526         HPUX 10.20.
91527
91528 2003-10-18  Karl Berry  <karl@gnu.org>
91529
91530         * config/config.guess: update from config.
91531
91532 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91533
91534         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
91535         (getgroups): First arg is int, not size_t.
91536         Don't let 'free' mangle errno.
91537
91538 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91539
91540         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
91541
91542 2003-10-16  Karl Berry  <karl@gnu.org>
91543
91544         * config/config.{guess,sub}: update from config.
91545
91546 2003-10-16  Jim Meyering  <jim@meyering.net>
91547
91548         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
91549         memcpy.
91550
91551 2003-10-15  Paul Eggert  <eggert@twinsun.com>
91552
91553         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
91554         (SIZE_MAX): Remove.
91555         (new_exclude, add_exclude_file): Initial size no longer needs to
91556         be a power of 2.
91557         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
91558         our own address arithmetic overflow checking.
91559
91560         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
91561         (fnmatch): Do not alloca more than 2000 wide characters;
91562         instead, use malloc for large buffers.
91563         Check for address arithmetic overflow, and return -1
91564         with errno set to ENOMEM in that case.
91565         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
91566         (NEW_PATTERN): Do not alloca more than 8000 bytes;
91567         instead, return -1.  Check for address arithmetic overflow.
91568
91569 2003-10-14  Paul Eggert  <eggert@twinsun.com>
91570
91571         Handle invalid suffixes and overflow independently, so that
91572         callers can treat them independently as needed.  Fix some bugs in
91573         suffix handling, e.g., "100k@" was not diagnosed as an invalid
91574         suffix for a human-readable blocksize.  The major caller-visible
91575         change is the addition of a new
91576         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
91577         that both overflow and suffix chars were found.
91578
91579         * lib/human.c (humblock): Don't check separately for invalid suffix
91580         char; that is xstrtoumax's job (now that its bug is fixed).
91581         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
91582         INTMAX_MAX]: New macros.
91583         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
91584         TYPE_MAXIMUM): New macros.
91585         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
91586         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
91587         if overflow occurs, as it's what __strtol does and it's more useful
91588         in practice.
91589         (__xstrtol): If __strtol reports some error other than ERANGE,
91590         reflect it to the caller as LONGINT_INVALID.  If it reports
91591         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
91592         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
91593         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
91594         value.
91595         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
91596         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
91597         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
91598         [defined UINTMAX_MAX]: New macros.
91599
91600 2003-10-14  Bruno Haible  <bruno@clisp.org>
91601
91602         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
91603
91604 2003-10-14  Bruno Haible  <bruno@clisp.org>
91605
91606         * m4/sig_atomic_t: New file, from GNU gettext.
91607         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
91608
91609 2003-10-14  Bruno Haible  <bruno@clisp.org>
91610
91611         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
91612         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
91613         Also use volatile where needed.
91614
91615 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91616
91617         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
91618         Change maintainer from Bruno Haible to 'all'.
91619
91620 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91621
91622         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
91623
91624 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91625
91626         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
91627         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
91628         and define in terms of the other primitives.
91629         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
91630         (SIZE_MAX): Define if not already defined.
91631         (array_size_overflow): New function.
91632         (xalloc_die): Abort instead of exiting if 'error' returns.
91633         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
91634         (xmalloc, xrealloc): Use them.
91635         (xcalloc): Check for address arithmetic overflow.
91636         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
91637         a bit faster than strcpy.
91638
91639 2003-10-10  Simon Josefsson  <jas@extundo.com>
91640
91641         * modules/argp (Depends-on): Add restrict and strcase.
91642
91643 2003-10-10  Simon Josefsson  <jas@extundo.com>
91644
91645         * m4/argp.m4: Add AC_C_INLINE.
91646
91647 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91648
91649         Merge getpass from libc, plus a few fixes.
91650
91651         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
91652         Include <stdbool.h>.
91653         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
91654         __fsetlocking to empty.
91655         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
91656         do include <bits/libc-lock.h>.
91657         Do not include <fcntl.h>; not needed.
91658         [_LIBC]: Include <wchar.h>.
91659         (NOTCANCEL_MODE): New macro.
91660         (flockfile, funlockfile) [_LIBC]: New macros.
91661         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
91662         [!_LIBC]: New macros.
91663         (call_fclose): New function.
91664         (getpass): Use it.  Save tty stream separately; this simplifies the
91665         code and makes it more reliable if stdin happens to equal stdout.
91666         Invoke __fsetlocking on tty.
91667         Handle thread cancellation if needed.
91668         Namespace cleanup (use __tcgetattr, __getline).
91669         Use bool for Booleans.
91670         [USE_IN_LIBIO]: Handle wide streams.
91671         [!_LIBC]: Unconditionally do the fseek, since we don't know what
91672         stream might go where.
91673
91674         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
91675         doesn't have to include <stdio.h> before us.
91676         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
91677         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
91678         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
91679         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
91680         if not declared, so that we can use getpass.c code from libc without
91681         rewriting it.
91682         (flockfile, ftrylockfile, funlockfile): New macros.
91683
91684 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91685
91686         * modules/getpass: Depend on stdbool.
91687
91688 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91689
91690         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
91691
91692 2003-10-07  Karl Berry  <karl@gnu.org>
91693
91694         * config/config.{guess,sub}: update from config.
91695
91696 2003-10-06  Jim Meyering  <jim@meyering.net>
91697             Bruno Haible  <bruno@clisp.org>
91698
91699         This lets translators provide better translations for the
91700         "Written by ..." part of --version output.
91701         * lib/version-etc.h: Include stdarg.h.
91702         (version_etc_copyright): Declare as readonly.
91703         (version_etc): Make this function variadic with a NULL-terminated list
91704         of author name strings.
91705         (version_etc_va): New declaration.
91706         * lib/version-etc.c: Include stdarg.h, stdlib.h.
91707         (version_etc_copyright): Declare as readonly.
91708         (version_etc_va): New function. Provide a different translatable string
91709         for each possible number of authors < 10. Abbreviate when there are 10
91710         authors or more.
91711         (version_etc): Make this function variadic. Call version_etc_va.
91712         Suggestion from Gary V. Vaughan.
91713
91714         * lib/long-options.h (parse_long_options): Change prototype: the
91715         authors string is moved to the end and becomes variadic.
91716         * lib/long-options.c: Include stdarg.h.
91717         (parse_long_options): Make this function variadic, too.
91718         Call version_etc_va, not version_etc.
91719
91720 2003-10-06  Bruno Haible  <bruno@clisp.org>
91721
91722         * modules/version-etc-2: Remove file.
91723         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
91724
91725 2003-10-06  Bruno Haible  <bruno@clisp.org>
91726
91727         * modules/fatal-signal: New file.
91728         * MODULES.html.sh (func_all_modules): Add fatal-signal.
91729
91730 2003-10-06  Bruno Haible  <bruno@clisp.org>
91731
91732         * m4/fatal-signal.m4: New file.
91733         * m4/signalblocking.m4: New file, from GNU gettext.
91734
91735 2003-10-06  Bruno Haible  <bruno@clisp.org>
91736
91737         * lib/version-etc-2.h: Remove file.
91738         * lib/version-etc-2.c: Remove file.
91739
91740 2003-10-06  Bruno Haible  <bruno@clisp.org>
91741
91742         * lib/fatal-signal.h: New file, from GNU gettext.
91743         * lib/fatal-signal.c: New file, from GNU gettext.
91744
91745 2003-10-05  Paul Eggert  <eggert@twinsun.com>
91746
91747         * README: Rework advice for preventing empty .o files.
91748         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
91749         not <sys/types.h>.
91750
91751 2003-10-04  Karl Berry  <karl@gnu.org>
91752
91753         * lib/argp*: update from libc.
91754
91755 2003-10-04  Karl Berry  <karl@gnu.org>
91756
91757         * config/config.{guess,sub}: update from config.
91758
91759 2003-10-02  Bruno Haible  <bruno@clisp.org>
91760
91761         * modules/lchown (Include): Add lchown.h.
91762         * modules/time_r (Include): Use "..." syntax.
91763         * modules/xgetdomainname (Include): Add xgetdomainname.h.
91764
91765 2003-10-01  Simon Josefsson  <jas@extundo.com>
91766
91767         * MODULES.html.sh (func_all_modules): Move gethostname from section
91768         'based on' to section 'lacking' POSIX:2001.
91769
91770 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
91771
91772         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
91773         to output mode on the same stream.
91774
91775 2003-09-29  Paul Eggert  <eggert@twinsun.com>
91776
91777         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
91778         Fix arg typo in previous patch.
91779
91780 2003-09-28  Jim Meyering  <jim@meyering.net>
91781
91782         * lib/error.c: Correct cpp indentation.
91783
91784 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91785
91786         * modules/free: New file.
91787
91788 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91789
91790         * m4/free.m4: New file.
91791
91792 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91793
91794         * lib/minmax.h (MIN, MAX)
91795         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
91796         Omit the special code that used __typeof__, since we worry that
91797         it could be more trouble than it's worth.  See:
91798         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
91799         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
91800
91801         * lib/free.c: New file.
91802
91803 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
91804
91805         Trivial fixes to Makefile.am parts of module listings.
91806         * modules/strstr: Append strstr.h to lib_SOURCES.
91807         * modules/strcase: Likewise, for strcase.h.
91808
91809 2003-09-27  Karl Berry  <karl@gnu.org>
91810
91811         * config/mkinstalldirs: update from automake.
91812
91813 2003-09-26  Paul Eggert  <eggert@twinsun.com>
91814
91815         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
91816         (error_tail): Do not loop, reallocating temporary buffer, since
91817         the output cannot contain more wide characters than the input
91818         contains bytes, the size must be big enough already.  This avoids
91819         one potential size overflow calculation.  Check for size overflow
91820         when calculating temporary buffer size.  Free temporary buffer
91821         when done, if it was allocated with malloc; this plugs a memory
91822         leak.  Remove casts from void * to pointers, that are no longer
91823         needed now that we're assuming C89 or better.
91824
91825         Merge error changes from glibc.
91826
91827         * lib/error.c, error.h: Update copyright notice header to match glibc.
91828         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
91829         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
91830         Disable cancellation while printing error.
91831         * lib/error.h: Prepend __ to parameter names.
91832
91833 2003-09-26  Jim Meyering  <jim@meyering.net>
91834
91835         * lib/error.c (error_tail): Move some declarations
91836         into inner scope where the local variables are used.
91837
91838 2003-09-26  Bruno Haible  <bruno@clisp.org>
91839
91840         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
91841         stpncpy().
91842         Don't define stpncpy through config.h; it's now done through stpncpy.h.
91843
91844 2003-09-26  Bruno Haible  <bruno@clisp.org>
91845
91846         * lib/stpncpy.h (gnu_stpncpy): New declaration.
91847         (stpncpy): Define as alias for gnu_stpncpy.
91848         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
91849
91850 2003-09-25  Simon Josefsson  <jas@extundo.com>
91851
91852         * lib/xgetdomainname.h: New file.
91853         * lib/xgetdomainname.c: New file.
91854
91855 2003-09-25  Simon Josefsson  <jas@extundo.com>
91856             Bruno Haible  <bruno@clisp.org>
91857
91858         * modules/getdomainname: New file.
91859         * modules/xgetdomainname: New file.
91860         * MODULES.html.sh (func_all_modules): Add getdomainname,
91861         xgetdomainname.
91862
91863 2003-09-25  Simon Josefsson  <jas@extundo.com>
91864             Bruno Haible  <bruno@clisp.org>
91865
91866         * m4/getdomainname.m4: New file.
91867
91868 2003-09-25  Simon Josefsson  <jas@extundo.com>
91869             Bruno Haible  <bruno@clisp.org>
91870
91871         * lib/getdomainname.h: New file.
91872         * lib/getdomainname.c: New file.
91873
91874 2003-09-25  Karl Berry  <karl@gnu.org>
91875
91876         * lib/argp-fmtstream.c, argp-help.c: update from libc.
91877
91878 2003-09-25  Karl Berry  <karl@gnu.org>
91879
91880         * config/install-sh: update from automake.
91881
91882 2003-09-25  Bruno Haible  <bruno@clisp.org>
91883
91884         * modules/version-etc-2: New file, from modules/version-etc with
91885         modifications.
91886         * MODULES.html.sh (func_all_modules): Add version-etc-2.
91887
91888 2003-09-25  Bruno Haible  <bruno@clisp.org>
91889
91890         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
91891         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
91892
91893 2003-09-24  Simon Josefsson  <jas@extundo.com>
91894
91895         * modules/xgethostname: Add xgethostname.h.
91896
91897 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91898
91899         * lib/linebuffer.c (freebuffer): Don't free the argument, just
91900         the buffer associated with the argument.  Bug reported by
91901         Simon Josefsson.
91902
91903 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91904
91905         * README: Document assumptions that 'int' is at least 32 bits
91906         wide, that integer arithmetic is 2's complement without overflow,
91907         that there are no holes in integer values, that adding sizes of
91908         two nonoverlapping objects can't overflow, and that all-bits-zero
91909         yields scalar zero.  Fix spelling and capitalization typos.
91910
91911 2003-09-19  Karl Berry  <karl@gnu.org>
91912
91913         * lib/argp.h: update from libc.
91914
91915 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91916
91917         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
91918         to avoid spurious warnings like "AC_RUN_IFELSE was called before
91919         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
91920
91921 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91922
91923         * gnulib-tool: Use "test -h", not "test -L", for portability
91924         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
91925         (tags_regexp): Remove, since \| doesn't conform to POSIX.
91926         (sed_extract_prog): Issue s commands one-by-one, rather than
91927         using \| in one s command.
91928
91929 2003-09-16  Paul Eggert  <eggert@twinsun.com>
91930
91931         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
91932         input error, instead of returning NULL the next time we are called
91933         (and therefore losing track of errno).
91934
91935 2003-09-16  Bruno Haible  <bruno@clisp.org>
91936
91937         * gnulib-tool (func_create_testdir): Warn about duplicated
91938         dependencies.
91939
91940 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91941
91942         * modules/argmatch, modules/fatal, modules/obstack,
91943         modules/xalloc, modules/xgethostname: Sort dependencies by
91944         importance, not alphabetically.
91945
91946 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91947
91948         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
91949         fails, so that the caller gets the proper errno.
91950
91951         * lib/readutmp.c (read_utmp): Likewise.
91952         Check for fstat error.  Close stream and free storage
91953         when failing.
91954
91955 2003-09-14  Karl Berry  <karl@gnu.org>
91956
91957         * config/srclist.txt (strdup.c): disable for c89 changes.
91958
91959 2003-09-14  Jim Meyering  <jim@meyering.net>
91960
91961         * lib/getloadavg.c: Correct cpp indentation.
91962         * lib/strdup.c: Likewise.
91963         * lib/vasnprintf.c: Likewise.
91964
91965 2003-09-14  Bruno Haible  <bruno@clisp.org>
91966
91967         * modules/fwriteerror: New file.
91968         * MODULES.html.sh (func_all_modules): Add fwriteerror.
91969
91970 2003-09-14  Bruno Haible  <bruno@clisp.org>
91971
91972         * lib/fwriteerror.h: New file.
91973         * lib/fwriteerror.c: New file.
91974
91975 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91976
91977         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
91978         modules/xgethostname, modules/xalloc: Depend on exit.
91979
91980 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91981
91982         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
91983
91984         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
91985         and AC_MINIX, too, so that their extensions are available.
91986
91987         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
91988         This macro has been superseded by gl_BACKUPFILE.
91989
91990         More patches to assume C89 or better.
91991
91992         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
91993
91994         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
91995         unconditionally.
91996         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
91997         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
91998         Include <string.h>, <stdlib.h> unconditionally.
91999         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
92000         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
92001         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
92002         headers or for string.h.
92003         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
92004         or strtoul.
92005
92006         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
92007         headers.
92008         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
92009         * m4/userspec.m4 (gl_USERSPEC): Likewise.
92010         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
92011         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
92012         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
92013         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
92014         memcpy, memset.
92015         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
92016         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
92017         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
92018         strtol.
92019         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
92020         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
92021         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
92022         strtoul.
92023
92024 2003-09-12  Paul Eggert  <eggert@twinsun.com>
92025
92026         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
92027         * lib/obstack.c [!defined _LIBC]: Likewise.
92028         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
92029         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
92030         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
92031
92032         More changes to assume C89 or better.
92033
92034         * lib/error.c (error_tail): Assume vprintf.
92035
92036         * lib/argmatch.c (getenv): Remove decl.
92037         * lib/progreloc.c (get_full_program_name): Define via prototype.
92038         * lib/setenv.c (clearenv): Likewise.
92039         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
92040         needed.
92041         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
92042         (malloc, memcpy): Remove decls.
92043         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
92044         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
92045         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
92046         (memcpy): Remove macro.
92047         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
92048         (__P): Remove.  All uses removed.
92049         (PTR): Remove.  All uses changed to void *.
92050         (CHAR_BIT, NULL): Remove.
92051         (spaces, zeros, memset_space, memset_zero)
92052         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
92053         Remove.
92054         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
92055         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
92056         Define with prototype.
92057         Remove now-unnecessary prototype decl.
92058         (extra_args_spec): Assume ANSI C.  All uses changed.
92059         (extra_args_spec_iso): Remove.
92060         (my_strftime, emacs_strftimeu): Define via prototype.
92061         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
92062         unconditionally.
92063         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
92064         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
92065         (strtoul, strtol): Remove decls.
92066         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
92067         LONG_MAX): Remove.
92068         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
92069         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
92070         (LOCALE_PARAM_PROTO): New macro.
92071         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
92072         (INTERNAL (strtol), strtol): Define with a prototype.
92073         (PARAMS): Remove.  All uses removed.
92074         * lib/tempname.c: Include <string.h> unconditionally.
92075         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
92076         * lib/xgethostname.c (main): Define with a prototype.
92077         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
92078         Include <stdlib.h> unconditionally.
92079         (calloc, malloc, realloc, free): Remove decls.
92080         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
92081         Include <stdlib.h> unconditionally.  Sort include file names.
92082         (strtod): Remove.
92083         (xstrtod): Define with a prototype.
92084         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
92085         (strtol, strtoul): Remove decls.
92086
92087 2003-09-11  Paul Eggert  <eggert@twinsun.com>
92088
92089         More patches to assume C89 or better.
92090         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
92091         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
92092         string.h, memchr, STDC_HEADERS.
92093
92094 2003-09-11  Paul Eggert  <eggert@twinsun.com>
92095
92096         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
92097         Include <stdlib.h>, <string.h> unconditionally.
92098         Remove now-unnecessary cast to char *.
92099         * lib/strnlen.c: Include <string.h> unconditionally.
92100         * lib/yesno.c (yesno): Define with a prototype.
92101
92102 2003-09-11  Bruno Haible  <bruno@clisp.org>
92103
92104         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
92105
92106 2003-09-10  Jim Meyering  <jim@meyering.net>
92107
92108         * lib/error.c: Correct indentation of cpp directives.
92109
92110 2003-09-10  Bruno Haible  <bruno@clisp.org>
92111
92112         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
92113         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
92114         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
92115         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
92116         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
92117         <stdlib.h> and <string.h> checks.
92118         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
92119         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
92120
92121 2003-09-10  Bruno Haible  <bruno@clisp.org>
92122
92123         * lib/strcspn.c: Include <string.h> unconditionally.
92124         * lib/strpbrk.c: Include <string.h> unconditionally.
92125         * lib/strstr.c: Include <string.h> unconditionally.
92126         * lib/unicodeio.c: Include <string.h> unconditionally.
92127         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
92128         * lib/unsetenv.c: Likewise.
92129         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
92130         * lib/yesno.c: Include <stdlib.h> unconditionally.
92131         (rpmatch): Add prototype.
92132
92133 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92134
92135         More patches to assume C89 or better.
92136         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
92137         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
92138         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
92139         or for string.h.
92140         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
92141         stdlib.h.
92142         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
92143         C headers.
92144         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
92145         string.h.
92146         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
92147         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
92148         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
92149         or for string.h.
92150         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
92151         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
92152         C headers.
92153         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
92154         memcpy.
92155         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
92156         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
92157         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
92158         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
92159         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
92160         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
92161         string.h, free.
92162         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
92163         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
92164         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
92165         C headers, or for string.h.
92166         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
92167         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
92168         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
92169         headers, memory.h, stdlib.h, string.h, strings.h.
92170         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
92171         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
92172         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
92173         strchr.
92174         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
92175         headers, memory.h, string.h.
92176         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
92177         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
92178         free.
92179         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
92180         headers.
92181         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
92182         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
92183         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
92184         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
92185         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
92186
92187 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92188
92189         More K&R removal.
92190
92191         * lib/acosl.c (main): Use a prototype.
92192         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
92193         tanl.c: Likewise.
92194
92195         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
92196
92197         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
92198         (getopt, etopt_long, getopt_long_only, _getopt_internal)
92199         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
92200         with a prototype.
92201         * lib/getopt.c (const): Remove macro.
92202         Include <string.h> unconditionally.
92203         (my_index): Remove; all uses changed to strchr.
92204         (strlen): Remove decl.
92205         (exchange): Remove forward decl; no longer needed.
92206         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
92207         Define with prototype.
92208         * lib/getopt1.c (const): Remove macro.
92209         (getopt_long, getopt_long_only, main): Define with prototype.
92210
92211         * lib/getugroups.c: Include <string.h> unconditionally.
92212
92213         * lib/getusershell.c: Include <stdlib.h> unconditionally.
92214         (getusershell, setusershell, endusershell, readname, main):
92215         Define with prototypes.
92216
92217         * lib/group-member.c: Include group-member.h first.
92218         Include <stdlib.h> unconditionally.
92219
92220         * lib/hard-locale.c: Include hard-locale.h first.
92221         Include <stdlib.h>, <string.h> unconditionally.
92222
92223         * lib/hash.c (free, malloc): Remove decls.
92224         Include <stdlib.h> unconditionally.
92225
92226         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
92227         (getenv): Do not declare.
92228
92229         * lib/idcache.c: Include <string.h> unconditionally.
92230
92231         * lib/long-options.c: Include long-options.h first, to test interface.
92232         Include <stdlib.h> unconditionally.
92233
92234         * lib/makepath.c: Include makepath.h first, to test interface.
92235         Include <stdlib.h> and <string.h> unconditionally.
92236
92237         * lib/linebuffer.c: Include <stdlib.h>.
92238         (free): Remove decl.
92239
92240         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
92241         stddef.h. rpl_malloc returns void *, not char *.
92242         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
92243         prototype.
92244
92245         * lib/md5.h: Include <limits.h> unconditionally.
92246         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
92247         (__P): Remove; all uses removed.
92248         * lib/md5.c: Include "md5.h" first.
92249         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
92250         md5_buffer, md5_process_bytes, md5_process_block):
92251         Define with prototypes.
92252         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
92253         * lib/sha.c: Include "sha.h" first.
92254         Include <stdlib.h>, <string.h> unconditionally.
92255
92256         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
92257         * lib/memcmp.c (__ptr_t): Likewise.
92258         * lib/memrchr.c (__ptr_t): Likewise.
92259         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
92260         Include <string.h> unconditionally.
92261         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
92262         * lib/memchr.c: Include <stdlib.h> unconditionally.
92263         * lib/memchr.c (LONG_MAX): Remove.
92264         * lib/memrchr.c (LONG_MAX): Likewise.
92265         * lib/memchr.c (__memchr): Define via a prototype.
92266         * lib/memrchr.c (__memrchr): Likewise.
92267         * lib/memcmp.c (__P): Remove, and remove all uses.
92268         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
92269         Remove forward decls; no longer needed.
92270         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
92271         Use types required by C89 in prototype.
92272
92273         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
92274         * lib/savedir.c: Likewise.
92275         * lib/mkdir.c (free): Remove decl.
92276         * lib/rmdir.c (rmdir): Define with a prototype.
92277         * lib/savedir.c: Include savedir.h first, to test interface.
92278
92279         * lib/mktime.c (STDC_HEADERS): Remove.
92280         Include <stdlib.h>, <string.h> unconditionally.
92281
92282         * lib/modechange.c: Include <stdlib.h> unconditionally.
92283         (malloc): Remove decl.
92284
92285         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
92286         (free): Remove decl.
92287
92288         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
92289         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
92290         (This type really should be intptr_t, but that's a C99ism.)
92291         (_obstack_memcpy): Remove: all uses changed to memcpy.
92292         Include <string.h> unconditionally.
92293         (struct obstack): Assume __STDC__ for types of members
92294         chunkfun, freefun, extra_arg.
92295         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
92296         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
92297         obstack_begin, obstack_specify_allocation,
92298         obstack_specify_allocation_with_arg, obstack_chunkfun,
92299         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
92300         Remove unprototyped decls and the macros that use them.
92301         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
92302         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
92303         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
92304         (defined __STDC__ && __STDC__)]:
92305         Remove nonprototyped code.
92306         Include <stdlib.h> unconditionally.
92307         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
92308         _obstack_allocated_p, _obstack_free, obstack_free,
92309         _obstack_memory_used, print_and_abort):
92310         Define using prototypes.
92311         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
92312         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
92313         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
92314         obstack_next_free, obstack_object_size, obstack_room) [0]:
92315         Remove unused, unprototyped code.
92316
92317         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
92318
92319         * lib/physmem.c (physmem_total, physmem_available, main): Define
92320         with prototypes.
92321
92322         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
92323         (main): Define with a prototype.
92324
92325         * lib/posixver.c (getenv): Remove decl.
92326
92327         * lib/putenv.c (malloc): Returns void *, not char *.
92328         Include <string.h> unconditionally.
92329         (strchr, memcpy, NULL): Do not define.
92330
92331         * lib/readtokens.c: Include readtokens.h first, to test interface.
92332         Include <stdlib.h>, <string.h> unconditionally.
92333         (init_tokenbuffer): Define with a prototype.
92334
92335         * lib/regex.c (PARAMS): Remove.  All uses removed.
92336         All uses of _RE_ARGS removed, too.
92337         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
92338         unconditionally.
92339         (bzero): Assume memset exists.
92340         (memcmp, memcpy, NULL): Remove.
92341         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
92342         char, or assignments to local vars of type signed char.
92343         (init_syntax_once, PREFIX(extract_number_and_incr),
92344         PREFIX(print_partial_compiled_pattern),
92345         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
92346         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
92347         PREFIX(regex_grow_registers), PREFIX(regex_compile),
92348         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
92349         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
92350         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
92351         wcs_compile_range, byte_compile_range, truncate_wchar,
92352         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
92353         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
92354         count_mbs_length, wcs_re_match_2_internal,
92355         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
92356         PREFIX(alt_match_null_string_p),
92357         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
92358         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
92359         regfree, PREFIX(extract_number)): Define with prototype.  Remove
92360         now-unnecessary declaration, if any.
92361         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
92362         regcomp, regexec):
92363         Remove now-unnecessary casts among pointer types.
92364         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
92365
92366         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
92367         (free): Remove decl.
92368
92369         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
92370
92371         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
92372         (free): Remove decl.
92373
92374         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
92375         * lib/xgetcwd.c: Likewise.
92376
92377         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
92378         (free): Remove decl.
92379
92380         * lib/strchrnul.c (strchrnul): Define with a prototype.
92381         Fix bug: c_in was not converted to char before searching.
92382
92383         The following changes are not K&R related:
92384
92385         * lib/group-member.h: Include <sys/types.h>, so that this file is
92386         self-contained.
92387         * lib/makepath.h: Likewise.
92388
92389         * lib/getusershell.c (readname, default_index, line_size, readname):
92390         Use size_t, not int, for sizes.
92391         (readname): If the size overflows, report an error instead of
92392         looping forever.
92393
92394 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92395
92396         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
92397         libc.
92398
92399 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92400
92401         * README: New section: portability guidelines.
92402
92403 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92404
92405         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
92406         C89 spec.
92407
92408 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92409
92410         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
92411
92412 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92413
92414         Assume C89 or better; remove K&R cruft.
92415         A few of these changes were first proposed by Derek Robert Price
92416         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
92417
92418         * lib/addext.c: Include <string.h> unconditionally.
92419         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
92420         Don't declare getenv or malloc.
92421
92422         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
92423         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
92424         (NULL): Remove.
92425         (find_stack_direction, alloca): Use prototypes.
92426
92427         * lib/atexit.c (atexit): Define using a prototype.
92428
92429         * lib/basename.c, dirname.c, stripslash.c:
92430         Include <string.h> unconditionally.
92431
92432         * lib/bcopy.c: Include <stddef.h>.
92433         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
92434
92435         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
92436
92437         * lib/error.h (error, error_at_line, error_print_progname)
92438         [! (defined (__STDC__) && __STDC__)]: Remove decls.
92439         * lib/error.c: Include error.h first, to check interface.
92440         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92441         (VA_START): Remove; all uses changeed to va_start.
92442         (exit, strerror): Remove decls.
92443         (error_print_progname): Prototype uncondionally.
92444         Don't include <errno.h>; no longer needed.
92445         (private_strerror): Remove.
92446         (error_tail): Always define.
92447         (error, error_at_line): Assume C89 or better; always use prototypes.
92448         * lib/fatal.c: Include "fatal.h" first, to test interface.
92449         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92450         (VA_START): Remove; all uses changed to va_start.
92451         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
92452         this case.
92453         (exit): Remove decl.
92454         (fatal): Prototype unconditionally.  Assume va_start works.
92455         Abort at end, to pacify gcc.
92456
92457         * lib/euidaccess.c (main): Define with a prototype.
92458
92459         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
92460
92461         * lib/exitfail.c: Include <stdlib.h> unconditionally.
92462
92463         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
92464         prototypes.
92465         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
92466         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
92467         (getenv): Remove decl.
92468         (fnmatch): Define using a prototype.
92469         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
92470         (FCT): Define using a prototype.
92471
92472         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
92473
92474         * lib/gethostname.c: Include <stddef.h>.
92475         (gethostname): Define with prototype.  Length is size_t, not int.
92476
92477 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92478
92479         Assume C89 or better; remove K&R cruft.
92480         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
92481         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
92482         string.h, getenv, malloc.
92483         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
92484         headers.
92485         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
92486         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
92487         do not check for strerror.
92488         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
92489         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
92490         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
92491         do not check for doprnt or vprintf.
92492         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
92493         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
92494
92495 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92496
92497         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
92498         getversion.c should have been removed then, but was accidentally
92499         preserved.
92500
92501         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
92502         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
92503
92504 2003-09-08  Karl Berry  <karl@gnu.org>
92505
92506         * config/config.sub, config.guess, srclistvars.sh: update from savannah
92507                 config, forget about prep.
92508
92509         * config/depcomp, missing: update from automake.
92510
92511 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92512
92513         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
92514         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92515
92516 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92517
92518         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
92519         copy_tm_result.  Bug reported by Simon Josefsson in
92520         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92521
92522 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92523
92524         * m4/time_r.m4: New file.
92525         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
92526         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
92527         is. Check for timegm declaration.
92528         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
92529         Do not check for gmtime_r.
92530         Replace mktime if __mktime_internal does not exist and if mktime
92531         hasn't been replaced already.
92532
92533 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92534
92535         * lib/time_r.c, lib/time_r.h: New files.
92536
92537         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
92538         __localtime_r.
92539         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
92540         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
92541
92542         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
92543         __gmtime_r.
92544         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
92545         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
92546         Include <time_r.h>.
92547
92548         * lib/timegm.c: Switch to glibc implementation, with the following
92549         changes:
92550         [defined HAVE_CONFIG_H]: Include <config.h>.
92551         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
92552         (__mktime_internal) [!defined _LIBC]: New decl.
92553         (__gmtime_r) [!defined _LIBC]: New macro and function.
92554         (timegm): Use a prototype, since gnulib assumes C89.
92555         Do not bother declaring tmp to be const, as it's not really usefu.
92556         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
92557         (timegm): Declare only if HAVE_DECL_TIMEGM.
92558
92559 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92560
92561         * MODULES.html.sh (func_all_modules): Add time_r.
92562         * modules/time_r: New file.
92563         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
92564         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
92565
92566 2003-09-03  Paul Eggert  <eggert@twinsun.com>
92567
92568         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
92569         Bug reported by Lute Kamstra in
92570         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
92571
92572         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
92573         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
92574         course with correspondingly smaller numbers for tomorrow and
92575         yesterday.  From Tadayoshi Funaba.  Originally installed into
92576         sh-utils on 1999-08-07, but the patch got lost (I guess during the
92577         coreutils merge?).
92578
92579 2003-08-31  Simon Josefsson  <jas@extundo.com>
92580
92581         * modules/timegm: New file.
92582         * MODULES.html.sh (func_all_modules): Add timegm.
92583
92584 2003-08-31  Simon Josefsson  <jas@extundo.com>
92585
92586         * m4/timegm.m4: New file.
92587
92588 2003-08-31  Simon Josefsson  <jas@extundo.com>
92589
92590         * lib/timegm.h: New file.
92591         * lib/timegm.c: New file.  Based on
92592         wget-1.8.2/src/http.c:mktime_from_utc.
92593
92594 2003-08-31  Karl Berry  <karl@gnu.org>
92595
92596         * lib/argp.h: update from libc.
92597
92598 2003-08-28  Bruno Haible  <bruno@clisp.org>
92599
92600         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
92601         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
92602         followed by '#define fnmatch fnmatch_posix' gives an error.
92603
92604 2003-08-28  Bruno Haible  <bruno@clisp.org>
92605
92606         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
92607         warning on QNX, which defines O_BINARY to 000000.
92608
92609 2003-08-27  Jim Meyering  <jim@meyering.net>
92610
92611         * m4/mkstemp.m4: Require that the system mkstemp be able to create
92612         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
92613         would fail after 32.  Reported by Danny Levinson.  Details here:
92614         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
92615
92616 2003-08-24  Bruno Haible  <bruno@clisp.org>
92617
92618         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
92619         MSVC7 <stdio.h> is included later.
92620
92621 2003-08-22  Simon Josefsson  <jas@extundo.com>
92622
92623         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
92624
92625 2003-08-20  Karl Berry  <karl@gnu.org>
92626
92627         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
92628
92629 2003-08-20  Bruno Haible  <bruno@clisp.org>
92630
92631         * modules/progname: New file.
92632         * MODULES.html.sh (func_all_modules): Add progname.
92633
92634 2003-08-20  Bruno Haible  <bruno@clisp.org>
92635
92636         * lib/progname.h: New file, from GNU gettext.
92637         * lib/progname.c: New file, from GNU gettext.
92638         * lib/progreloc.c: New file, from GNU gettext.
92639
92640 2003-08-19  Jim Meyering  <jim@meyering.net>
92641
92642         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
92643         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
92644
92645 2003-08-19  Bruno Haible  <bruno@clisp.org>
92646
92647         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
92648         more.
92649
92650 2003-08-19  Bruno Haible  <bruno@clisp.org>
92651
92652         * lib/xstrdup.c: Assume <string.h> exists.
92653
92654 2003-08-18  Paul Eggert  <eggert@twinsun.com>
92655
92656         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
92657         in makefile rules.
92658
92659 2003-08-18  Jim Meyering  <jim@meyering.net>
92660
92661         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
92662         * m4/lib-ld.m4: Likewise.
92663
92664 2003-08-18  Jim Meyering  <jim@meyering.net>
92665
92666         * lib/setenv.h: Indent nested cpp directive.
92667         * lib/vasnprintf.c: Remove trailing blanks.
92668
92669 2003-08-17  Simon Josefsson  <jas@extundo.com>
92670
92671         * modules/xstrndup: New file.
92672         * MODULES.html.sh (func_all_modules): Add xstrndup.
92673
92674 2003-08-17  Simon Josefsson  <jas@extundo.com>
92675
92676         * modules/argp: Fix autoconf macro name. Add more dependencies.
92677
92678 2003-08-17  Simon Josefsson  <jas@extundo.com>
92679
92680         * m4/xstrndup.m4: New file.
92681
92682 2003-08-17  Simon Josefsson  <jas@extundo.com>
92683
92684         * m4/argp.m4: New file.
92685
92686 2003-08-17  Simon Josefsson  <jas@extundo.com>
92687             Bruno Haible  <bruno@clisp.org>
92688
92689         * lib/xstrndup.h: New file.
92690         * lib/xstrndup.c: New file.
92691
92692 2003-08-17  Bruno Haible  <bruno@clisp.org>
92693
92694         * modules/strndup (Files, Include): Add lib/strndup.h.
92695
92696 2003-08-17  Bruno Haible  <bruno@clisp.org>
92697
92698         * modules/euidaccess (Files): Add lib/euidaccess.h.
92699
92700 2003-08-17  Bruno Haible  <bruno@clisp.org>
92701
92702         * lib/strndup.h: New file.
92703
92704 2003-08-17  Bruno Haible  <bruno@clisp.org>
92705
92706         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
92707         like AC_GNU_SOURCE.
92708         * modules/extensions (configure.ac): Comment out the invocation of
92709         gl_USE_SYSTEM_EXTENSIONS.
92710
92711 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92712
92713         Merges from coreutils, etc.
92714         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
92715         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
92716         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
92717         fixing a typo.
92718         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
92719         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
92720
92721 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92722
92723         Document merge from coreutils.
92724         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
92725         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
92726         * modules/utime: Add m4/utimes-null.m4.
92727
92728 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92729
92730         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
92731         space, undoing this 2003-08-12 change:
92732         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92733
92734 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92735
92736         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
92737         strtoul.c from libc, undoing this 2003-08-12 change:
92738         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92739
92740 2003-08-16  Jim Meyering  <jim@meyering.net>
92741
92742         Merges from coreutils.
92743         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
92744         prefix.  Adjust cache variables similarly.  Create 500 rather than
92745         just 300 files, to exercise bug on Darwin6.5, too.
92746         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
92747         $missing_dir.
92748         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
92749         AM_SYS_POSIX_TERMIOS.
92750         Reported by mkc@mathdogs.com.
92751         Also change use of $am_cv_sys_posix_termios
92752         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
92753         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
92754         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
92755         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
92756         in /proc/mounts until it finds one with matching device number.  This
92757         is unnecessary when the FILE argument *is* a mount point.  No stat call
92758         is necessary in that case.  So, disable the statvfs-testing code on
92759         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
92760         as RedHat bug# 84846.
92761         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92762         to 1MB, so as not to render systems with no stack size limit (e.g.,
92763         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92764         Include <unistd.h>.  On some systems,
92765         it is required for the definition of _SC_PAGESIZE.
92766
92767 2003-08-16  Jim Meyering  <jim@meyering.net>
92768
92769         Merge from coreutils.
92770         * lib/xstrtoimax.c: #else #if -> #elif.
92771         * lib/xstrtoumax.c: Likewise.
92772
92773 2003-08-16  Jim Meyering  <jim@meyering.net>
92774
92775         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
92776         * m4/utimes.m4: Removed.
92777         * m4/utimes-null.m4: Renamed from utimes.m4.
92778
92779         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92780         to 1MB, so as not to render systems with no stack size limit (e.g.,
92781         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92782         Include <unistd.h>.  On some systems,
92783         it is required for the definition of _SC_PAGESIZE.
92784
92785 2003-08-16  Jim Meyering  <jim@meyering.net>
92786         and Paul Eggert  <eggert@cs.ucla.edu>
92787
92788         Merges from coreutils, etc.
92789
92790         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
92791         using the latest version from cvs.  This avoids problems with #line
92792         directives using a vendor (Sun) compiler.
92793         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
92794         Don't set GETGROUPS_LIB here; now it's
92795         done via getgroups.m4's wrapper function.
92796         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
92797         rather than just in sh-util/configure.in, so that the
92798         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
92799         same.
92800         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
92801         AC_FUNC_GETLOADAVG where to find getloadavg.c.
92802         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
92803         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
92804         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
92805         Remove code that is now done by the newly-required macros.
92806         Append $(EXEEXT) to DF_PROG.
92807         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
92808         Do not invoke or require the following here,
92809         since prereq.m4 or some gnulib .m4 now does this for us:
92810         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
92811         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
92812         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
92813         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
92814         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
92815         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
92816         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
92817         AC_FUNC_OBSTACK.
92818         Do not replace the following functions, as this is now the job
92819         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
92820         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
92821         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
92822         atexit getpass, strdup, getpagesize.
92823         Replace 'raise'.
92824         Do not check for the following functions, as this is now the job
92825         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
92826         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
92827         setregid.
92828         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
92829         Check for sys/sysctl.h.
92830         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
92831         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
92832         of checking for ssize_t ourselves.
92833
92834         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
92835         Require every macro that gnulib/modules/* suggests for us.
92836         (jm_PREREQ_ADDEXT): New macro.
92837         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
92838         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
92839
92840         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
92841         (gl_PHYSMEM): Use it.
92842         Also check for `table' function.
92843         Check for new headers and functions.
92844         Add check for sys/sysmp.h.
92845         With suggestions from Kaveh Ghazi.
92846         Ignore headers that are present but cannot be compiled.  This
92847         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
92848         C 5.4.
92849
92850 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92851
92852         Document merge from coreutils.
92853         * modules/userspec: Depend on posixver.
92854         * modules/strftime: Depend on tzset.
92855
92856 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92857
92858         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
92859         rather than tab, after '#' in shell-script copyright notices.
92860         Suggested by Bruno Haible.
92861
92862 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92863
92864         * config/srclist-update: Use three spaces, rather than tab, after '#'
92865         in shell-script copyright notices.  Suggested by Bruno Haible.
92866         Remove unnecessary parenthesization in regular expression.
92867
92868 2003-08-15  Jim Meyering  <jim@meyering.net>
92869
92870         Merge from coreutils.
92871         * lib/xgethostname.c: Include <stdlib.h>.
92872         (xghostname): Don't exit for anything other than memory-related
92873         failure; just return NULL.
92874         * lib/userspec.c: Include "posixver.h".
92875         (parse_user_spec): Accept `.' as a separator only
92876         in pre-POSIX-200112 mode.
92877         * lib/strtoimax.c: Use #elif rather than #else #if.
92878         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
92879         Remove function, now that we can rely on a working tzset function.
92880         [!_LIBC]: Ensure that the required autoconf test has been run.
92881         [!defined _NL_CURRENT && HAVE_STRFTIME]:
92882         Use underlying_strftime for %r.
92883         * lib/sha.c: Merge in some clean-up and optimization changes from
92884         glibc.
92885         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
92886         Ensure that it is a multiple of 64.
92887         Rearrange loop exit tests so as to avoid performing an
92888         additional fread after encountering an error or EOF.
92889         * lib/realloc.c: Update copyright date.
92890
92891 2003-08-15  Jim Meyering  <jim@meyering.net>
92892         and Paul Eggert  <eggert@twinsun.com>
92893
92894         Merge from coreutils.
92895         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
92896         member but strut utmpx does not.  Needed for AIX 4.3.3.
92897         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
92898
92899 2003-08-15  Jim Meyering  <jim@meyering.net>
92900         and Paul Eggert  <eggert@cs.ucla.edu>
92901
92902         Merges from coreutils, etc.
92903         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
92904         Require gl_FUNC_TZSET_CLOBBER.
92905         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
92906         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
92907         members.
92908
92909 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92910
92911         Help the merge from coreutils.
92912         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
92913         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
92914         * m4/tzset.m4: Use it too.
92915
92916 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92917
92918         * modules/tzset: New file.
92919
92920 2003-08-14  Jim Meyering  <jim@meyering.net>
92921
92922         Merges from coreutils.
92923         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
92924         variable names, rather than @FNMATCH_H@.
92925         * modules/alloca: Likewise for $(ALLOCA_H).
92926
92927         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
92928         the three copies of the literal target, `fnmatch.h'.
92929         * modules/alloca (alloca.h): Likewise.
92930
92931 2003-08-14  Jim Meyering  <jim@meyering.net>
92932
92933         Merge from coreutils.
92934         * m4/tzset.m4: New file.
92935         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
92936         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
92937         otherwise, AIX 5.1 systems would end up using the latter.
92938         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
92939         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
92940         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
92941         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
92942
92943 2003-08-14  Jim Meyering  <jim@meyering.net>
92944
92945         Merge from coreutils.
92946         * lib/obstack.h: Whitespace changes.
92947         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
92948         and xcalloc return values.
92949         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
92950         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
92951         hang on OSF/1 5.1 for DIR on both local and remote file systems.
92952         Reported by (and fix confirmed by) Nelson H. F. Beebe.
92953         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
92954         error from mntctl.
92955         Use mntctl's return value to drive the entry-processing loop, since
92956         we can't rely on the value of the vmt_length member in the last
92957         entry.  On some systems doing so could result in exhausting
92958         virtual memory.  Based in part on a patch from Mike Jetzer.
92959
92960 2003-08-14  Jim Meyering  <jim@meyering.net>
92961         and Paul Eggert  <eggert@twinsun.com>
92962
92963         Merges from coreutils, plus other fixes.
92964         * lib/physmem.c: Merge in portability changes from gcc/libiberty
92965         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
92966         for credits and details.  Thanks to Kaveh Ghazi for helping
92967         to keep these files in sync.
92968         (ARRAY_SIZE): Define it.
92969         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
92970         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
92971         (memcasecmp): Don't assume size_t fits in unsigned int.
92972         Remove casts and duplicate code.
92973         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
92974         (memcpy): Remove definition.
92975         Merge in some clean-up and optimization changes from glibc.
92976         [BLOCKSIZE]: Move definition to top of file.
92977         Ensure that it is a multiple of 64.
92978         Rearrange loop exit tests so as to avoid performing an
92979         additional fread after encountering an error or EOF.
92980         * lib/md5.h (md5_uintptr): Define.
92981         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
92982         return to the initial working directory.  Preserve errno
92983         for caller.
92984         * lib/idcache.c: Include "xalloc.h".
92985         (xmalloc, xrealloc): Remove decls.
92986         (getuser): Remove casts no longer required in C89.
92987         * lib/human.c: Include stdio.h, for sprintf.
92988         * lib/group-member.c: Include "xalloc.h".
92989         (xmalloc, xrealloc): Remove decls.
92990         (get_group_info): Remove casts no longer required in C89.
92991         * lib/getusershell.c (readname): Remove casts no longer required in
92992         C89.
92993         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
92994         * lib/getline.c: Whitespace fix, from coreutils.
92995
92996 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92997
92998         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
92999         Check for isascii.
93000
93001         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
93002         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
93003         Undo previous (whitespace-only) change.
93004
93005 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93006
93007         * lib/exclude.c: Include <ctype.h>
93008         (IN_CTYPE_DOMAIN): New macro.
93009         (is_space): New fn.
93010         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
93011         and empty lines.
93012
93013         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
93014         Undo previous (whitespace-only) change.
93015
93016 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93017
93018         * config/srclist-update: Change update back to the old behavior,
93019         leaving whitespace alone.  Use one 'sed' command rather than a
93020         pipeline.
93021         (fixlicense): Now a variable, not a function.
93022         (remove_trailing_blanks): Remove.
93023         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
93024         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
93025         Undo previous (whitespace-only) change.
93026
93027 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93028
93029         Merge from coreutils.
93030         * modules/euidaccess: Add lib_SOURCES, include for new
93031         file euidaccess.h
93032
93033 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93034
93035         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
93036         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
93037         Normalize leading white space and remove trailing white space.
93038
93039         Merge from coreutils
93040         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
93041
93042         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
93043         0.12.1.  These files are now being upgraded automatically by
93044         ../config/srclist-update.
93045
93046 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93047
93048         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
93049         Normalize leading white space and remove trailing white space.
93050         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
93051         notice, as per ../config/srclist-update.
93052
93053         Merge from coreutils.
93054         * lib/euidaccess.h: New file.
93055         * lib/euidaccess.c: Include it.
93056         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
93057         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
93058         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
93059
93060 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93061
93062         * config/srclist-update: Add copyright notice.
93063         (remove_id_lines, remove_trailing_blanks): New constants.
93064         (fixfile): Use them to normalize spacing a bit in copied files.
93065         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
93066         Normalize leading white space and remove trailing white space.
93067
93068         * config/texinfo.tex: Sync with texinfo.
93069
93070         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
93071         strtoul.c from libc, to merge coreutils whitespace changes.
93072
93073         * config/srclist.txt: Get the following m4 files from gettext:
93074         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
93075         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
93076         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
93077         wint_t.m4.
93078
93079 2003-08-12  Karl Berry  <karl@gnu.org>
93080
93081         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
93082         been made.
93083
93084 2003-08-11  Paul Eggert  <eggert@twinsun.com>
93085
93086         * modules/gnu-source, m4/gnu-source.m4:
93087         Remove; we're assuming Autoconf 2.54 or later now.
93088         Suggested by Bruno Haible.
93089         * MODULES.html.sh (func_all_modules): Remove gnu-source.
93090
93091 2003-08-11  Bruno Haible  <bruno@clisp.org>
93092
93093         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
93094
93095 2003-08-11  Bruno Haible  <bruno@clisp.org>
93096
93097         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
93098         (vasnprintf): Use it instead of wcslen.
93099
93100 2003-08-11  Bruno Haible  <bruno@clisp.org>
93101
93102         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
93103         value to ensure that _Bool promotes to int. Use #define for _Bool when
93104         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
93105
93106 2003-08-10  Karl Berry  <karl@gnu.org>
93107
93108         * lib/regex.h: update from libc (whitespace fix).
93109
93110 2003-08-09  Paul Eggert  <eggert@twinsun.com>
93111
93112         Merge some files from coreutils.  These changes were
93113         originally made by Jim Meyering.
93114         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
93115         many older Unixes require this.
93116         * lib/alloca.c (alloca): Remove cast to argument of free;
93117         no longer needed in C89.
93118         * lib/alloca_.h, regex.h: Fix white space to match
93119         what GNU indent does.
93120
93121 2003-08-09  Paul Eggert  <eggert@twinsun.com>
93122
93123         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
93124         apparently Emacs's Unicode mode got confused before my 2003-08-05
93125         checkin.
93126
93127 2003-08-08  Paul Eggert  <eggert@twinsun.com>
93128
93129         * m4/extensions.m4: New file.
93130         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
93131         Require gl_USE_SYSTEM_EXTENSIONS.
93132         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
93133         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
93134
93135 2003-08-08  Paul Eggert  <eggert@twinsun.com>
93136
93137         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
93138         * modules/extensions, modules/gnu-source: New files.
93139         * modules/timespec, modules/unlocked-io: Depend on extensions.
93140
93141 2003-08-07  Paul Eggert  <eggert@twinsun.com>
93142
93143         * modules/restrict: New file.
93144         * MODULES.html.sh (func_all_modules): Add restrict.
93145         * modules/regex: Depend on restrict.
93146
93147 2003-08-07  Paul Eggert  <eggert@twinsun.com>
93148
93149         * m4/restrict.m4: New file.
93150         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
93151
93152 2003-08-07  Bruno Haible  <bruno@clisp.org>
93153
93154         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
93155         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
93156
93157 2003-08-07  Bruno Haible  <bruno@clisp.org>
93158
93159         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
93160         makes the module 'getndelim2' compatible with the module 'getline'.
93161
93162 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93163
93164         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
93165         byte with "\201" to avoid glitches when editing that source file
93166         with multi-gnome-terminal.
93167
93168 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93169
93170         * lib/bumpalloc.h: Remove.
93171
93172 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93173
93174         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
93175         * modules/bumpalloc: Remove.
93176
93177 2003-08-04  Paul Eggert  <eggert@twinsun.com>
93178
93179         * lib/getloadavg.c: Change copyright notice and spacing to conform to
93180         GNU coding style.
93181
93182         Merge from coreutils.
93183         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
93184         1. From glibc.
93185         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
93186         from Karl Berry, implemented by Jim Meyering.
93187         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
93188         from Dmitry V. Levin.
93189         Remove anachronistic cast of xrealloc.
93190         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
93191         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
93192         type. Otherwise, it wouldn't compile with at least /bin/cc on
93193         ymp-cray-unicos9.0.2.X.
93194         Combine two mostly-identical uses of alloca into one.
93195         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
93196
93197 2003-08-04  Dave Love  <d.love@dl.ac.uk>
93198
93199         [From Emacs.]
93200
93201         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
93202         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
93203         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
93204         obsolete NLIST_NAME_UNION.
93205         [__GNU__]: Undef BSD and FSCALE.
93206         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
93207
93208 2003-08-03  Paul Eggert  <eggert@twinsun.com>
93209
93210         * lib/stdbool_.h (_Bool): Make it signed char, instead of
93211         an enum type, so that it's guaranteed to promote to int.  See:
93212         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
93213
93214 2003-08-03  Karl Berry  <karl@gnu.org>
93215
93216         * config/depcomp: update from automake.
93217
93218 2003-07-31  Paul Eggert  <eggert@twinsun.com>
93219
93220         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
93221         (strerror): Don't assume that a printable int fits in 14 bytes.
93222
93223 2003-07-31  Bruno Haible  <bruno@clisp.org>
93224
93225         * modules/getpass-gnu: New file.
93226         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
93227
93228 2003-07-31  Bruno Haible  <bruno@clisp.org>
93229
93230         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
93231
93232 2003-07-24  Karl Berry  <karl@gnu.org>
93233
93234         * config/missing: update from automake.
93235
93236 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
93237             Bruno Haible  <bruno@clisp.org>
93238
93239         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
93240         * lib/getline.c (getline, getdelim): Likewise.
93241         Remove _GNU_SOURCE define; now it's defined in config.h through
93242         m4/getline.m4.
93243
93244 2003-07-23  Karl Berry  <karl@gnu.org>
93245
93246         * config/config.sub: update from prep.
93247
93248 2003-07-22  Paul Eggert  <eggert@twinsun.com>
93249
93250         * modules/xalloc (Depends-on): Add exitfail.
93251         * modules/xmemcoll: Likewise.
93252
93253 2003-07-22  Paul Eggert  <eggert@twinsun.com>
93254
93255         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
93256         over-parenthesization in macros.
93257
93258         Sync with coreutils.
93259
93260         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
93261         required by C99.
93262
93263         Use `exit_failure' for xalloc and xmemcoll instead of their own
93264         private exit-failure variables.
93265         * lib/xalloc.h (xalloc_exit_failure): Remove.
93266         * lib/xmalloc.c: Likewise.  Include exitfail.h.
93267         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
93268         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
93269         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
93270         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
93271
93272 2003-07-20  Jim Meyering  <jim@meyering.net>
93273
93274         * modules/closeout (Depends-on): Add exitfail.
93275         Suggestion from Bruno Haible.
93276
93277 2003-07-19  Karl Berry  <karl@gnu.org>
93278
93279         * config/config.sub: update from prep.
93280
93281 2003-07-18  Paul Eggert  <eggert@twinsun.com>
93282
93283         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
93284         Remove.
93285         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
93286         to test that it can stand by itself.  Include "exitfail.h".
93287         Clients should set exit_failure instead.
93288         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
93289
93290 2003-07-18  Bruno Haible  <bruno@clisp.org>
93291
93292         * modules/getndelim2: New file.
93293         * modules/getline: Share files with module getndelim2.
93294         * modules/getnline: Depend on getndelim2 instead of sharing files with
93295         it. Add getnline.c to lib_SOURCES.
93296         * MODULES.html.sh (func_all_modules): Add getndelim2.
93297
93298 2003-07-18  Bruno Haible  <bruno@clisp.org>
93299
93300         * m4/getndelim2.m4: New file.
93301         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
93302         invoke gl_PREREQ_GETNDELIM2.
93303         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
93304         gl_PREREQ_GETNDELIM2.
93305         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
93306         gl_GETNDELIM2.
93307
93308 2003-07-18  Bruno Haible  <bruno@clisp.org>
93309
93310         * lib/getndelim2.h: New file.
93311         * lib/getndelim2.c: Make into a module of its own. Include config.h,
93312         getndelim2.h.
93313         (getndelim2): Make non-static. Change return type to ssize_t.
93314         * lib/getline.h: Change argument names.
93315         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
93316         * lib/getnline.c: Include getndelim2.h.
93317
93318 2003-07-18  Andreas Schwab  <schwab@suse.de>
93319
93320         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
93321
93322 2003-07-17  Karl Berry  <karl@gnu.org>
93323
93324         * config/config.sub: update from prep.
93325
93326 2003-07-17  Bruno Haible  <bruno@clisp.org>
93327
93328         * modules/getnline: New file.
93329         * modules/getline: Add lib/getndelim2.c to source file list.
93330         * MODULES.html.sh (func_all_modules): Add getnline.
93331
93332 2003-07-17  Bruno Haible  <bruno@clisp.org>
93333
93334         * m4/getnline.m4: New file.
93335
93336 2003-07-17  Bruno Haible  <bruno@clisp.org>
93337
93338         * m4/Makefile.am.in: Remove file.
93339         * m4/Makefile.am: Remove file.
93340         * m4/Makefile.in: Remove file.
93341
93342 2003-07-17  Bruno Haible  <bruno@clisp.org>
93343
93344         * lib/getnline.h: New file.
93345         * lib/getnline.c: New file.
93346         * lib/getndelim2.c: New file, extracted from getline.c.
93347         (getndelim2): Renamed from getdelim2, with added nmax argument.
93348         * lib/getline.c: Include getndelim2.c.
93349         (getdelim2): Moved out to getndelim2.c.
93350         (getline, getdelim): Update.
93351
93352 2003-07-17  Bruno Haible  <bruno@clisp.org>
93353
93354         * lib/Makefile.am: Remove file.
93355         * lib/Makefile.in: Remove file.
93356
93357 2003-07-17  Bruno Haible  <bruno@clisp.org>
93358
93359         * configure.in: Remove file.
93360         * Makefile.in: Remove file.
93361
93362 2003-07-17  Bruno Haible  <bruno@clisp.org>
93363
93364         * MODULES.html.sh: Put the </BODY> right before </HTML>.
93365
93366 2003-07-16  Karl Berry  <karl@gnu.org>
93367
93368         * config/srclist-update: was running fixlicense twice, which caused
93369                 texinfo.tex to be nullified for some reason.  Simplify,
93370                 $gplsrc is no longer needed as far as I can see?
93371
93372 2003-07-16  Jim Meyering  <jim@meyering.net>
93373
93374         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
93375
93376 2003-07-15  Paul Eggert  <eggert@twinsun.com>
93377
93378         * config/srclist.txt: Get the following files from gettext-runtime/intl
93379         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
93380         ref-del.sin.  From Bruno Haible.
93381         * config/srclist-update (fixfile): Change grep pattern again, since the
93382         previous fix didn't work (there was another trailing $).  Use
93383         '[$]' to escape the $s.
93384
93385 2003-07-15  Karl Berry  <karl@gnu.org>
93386
93387         * lib/vasnprintf.c: update from gettext.
93388
93389 2003-07-15  Karl Berry  <karl@gnu.org>
93390
93391         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
93392         gets expanded when surrounded by '$'.
93393
93394 2003-07-15  Jim Meyering  <jim@meyering.net>
93395
93396         * modules/save-cwd: Don't depend on error.  From Derek Price.
93397
93398 2003-07-15  Jim Meyering  <jim@meyering.net>
93399
93400         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
93401
93402 2003-07-14  Simon Josefsson  <jas@extundo.com>
93403
93404         * modules/mempcpy: New file.
93405         * MODULES.html.sh (func_all_modules): Add mempcpy.
93406
93407 2003-07-14  Simon Josefsson  <jas@extundo.com>
93408
93409         * m4/mempcpy.m4: New file.
93410
93411 2003-07-14  Simon Josefsson  <jas@extundo.com>
93412
93413         * lib/mempcpy.h: New file.
93414         * lib/mempcpy.c: New file.
93415
93416 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93417
93418         * modules/getdate, modules/posixtm: Depend on mktime.
93419
93420 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93421
93422         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
93423         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
93424         unicodeio.c, unicodeio.h, unlocked-io.h:
93425         Switch from LGPL to GPL.
93426
93427 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93428
93429         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
93430         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
93431         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
93432         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
93433         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
93434         updated automatically by ../config/srclist-update.  This changes
93435         their license from LPGL to GPL.
93436
93437 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93438
93439         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
93440         assumed to refer to the root of the most recent stable gettext version.
93441         * config/srclistvars.sh: Add defaults for eggert.
93442         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
93443         Match "This program" as well as "The program".  This is needed
93444         for gettext.
93445
93446 2003-07-14  Jim Meyering  <jim@meyering.net>
93447
93448         Don't emit diagnostics.  Let callers do that.
93449         * lib/save-cwd.c: Don't include "error.h".
93450         (save_cwd): Don't call error.  Ensure that errno is valid
93451         when returning nonzero.
93452
93453         * lib/save-cwd.h (restore_cwd): Update prototype.
93454         * lib/save-cwd.c (restore_cwd): Remove two parameters.
93455         Simplify.  Don't call error upon failure.  Let callers do that.
93456         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
93457         when auditing is enabled.  But don't bother updating the #if.
93458
93459 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
93460
93461         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
93462         it breaks C++ compilation.
93463         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
93464
93465 2003-07-10  Simon Josefsson  <jas@extundo.com>
93466
93467         * modules/strchrnul (Makefile.am): Add strchrnul.h.
93468
93469 2003-07-10  Jim Meyering  <jim@meyering.net>
93470
93471         * m4/clock_time.m4: Remove trailing blank.
93472         * m4/intmax_t.m4: Likewise.
93473
93474 2003-07-10  Jim Meyering  <jim@meyering.net>
93475
93476         * lib/vasnprintf.c: Remove trailing blanks.
93477         Make cpp indentation consistent.
93478
93479 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93480
93481         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
93482         posixver.c, strftime.c, strnlen.c, strverscmp.c:
93483         Switch from LGPL to GPL.
93484
93485 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93486
93487         * config/srclist.txt: Sort sublists.  Add
93488         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
93489         that differ from gnulib for one reason or another; we'd like this list
93490         to be smaller but for now let's document what we have.
93491
93492 2003-07-08  Paul Eggert  <eggert@twinsun.com>
93493
93494         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
93495         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
93496         and sweeter "eval x=$x".
93497         * config/srclist.txt: Get lib/argp* from glibc.
93498
93499 2003-07-07  Paul Eggert  <eggert@twinsun.com>
93500
93501         * lib/mktime.c: Fix some boundary cases and remove need for floating
93502         point.
93503
93504         Issue a compile-time diagnostic if time_t is floating point, or if
93505         two's complement arithmetic is not in effect, or if arithmetic
93506         right shift does not propagate the sign.  These assumptions were
93507         all in the original code but they weren't checked.
93508
93509         (TIME_T_MIDPOINT, verify): New macros.
93510         (__isleap): Remove; it has integer overflow problems.
93511         (leapyear): New function, without those problems.
93512         (ydhms_tm_diff): Remove; splitting into two parts.
93513         (ydhms_diff): New function, containing the arithmetic part of
93514         the old ydhms_tm_diff function.  Issue a compile-time
93515         diagnostic if we are not using C99 integer division.
93516         Avoid casts when possible.
93517         (guess_time_tm): New function, containing the checking part of
93518         the old ydhms_tm_diff function.  Return the new value, rather than
93519         the difference between it and the old.  Accept a new argument T
93520         so that *T specifies the old value.  Check for overflow in the result.
93521
93522         (__mktime_internal): Use a time_t offset, not a long int offset.
93523         This undoes the 2003-06-04 change, which is no longer needed now
93524         that we have better overflow checking.
93525         (localtime_offset): Likewise.
93526
93527         (__mktime_internal): Avoid harmful overflow on hosts where time_t
93528         and long are 64-bit but int is only 32-bit.
93529         (ydhms_diff): Use long int to store year1 and yday1.
93530         Issue a compile-time diagnostic if long int is not wide enough.
93531
93532         (__mktime_internal): Use long int to store adjusted year and yday.
93533         Use plain C rather than preprocessor commands, if that doesn't
93534         affect efficiency.
93535         Check for overflow (and try to repair) after each probe
93536         rather than checking only at the very end.  This avoids some bugs
93537         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
93538         does not equal GMT offset at maximum time).
93539         Use integer to check for overflow rather than floating point; this
93540         is more portable to non-IEEE hosts, and is a tad faster.
93541         When we detect that we are oscillating between two values,
93542         don't check whether tm_isdst has the requested value, since
93543         we already know the answer.  When tm_isdst has the wrong value,
93544         use a different heuristic to find the right one, based on the
93545         extreme values actually observed in practice in tz2003a,
93546         rather than the (overly optimistic) "previous 3 calendar quarters".
93547
93548         (not_equal_tm, print_tm, check_result): Use "const T" rather than
93549         "T const" to accommodate glibc style.
93550         (check_result): Use less-confusing report format.  "long" -> "long int.
93551         (main): Likewise.
93552         Don't loop if the iteration overflows time_t.
93553         Allow a negative step in the iteration.
93554
93555 2003-07-06  Karl Berry  <karl@gnu.org>
93556
93557         * config/depcomp: update from automake.
93558         * config/config.sub: update from prep.
93559
93560 2003-07-03  Karl Berry  <karl@gnu.org>
93561
93562         * config/config.guess: update from prep.
93563
93564 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93565
93566         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
93567         xreadlink.c now includes it unconditionally.
93568
93569 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93570
93571         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
93572         having it depend on HAVE_SYS_TYPES_H.
93573
93574 2003-07-01  Bruno Haible  <bruno@clisp.org>
93575
93576         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
93577         <sys/types.h> should be sufficient.
93578         Reported by Paul Eggert.
93579
93580 2003-06-26  Karl Berry  <karl@gnu.org>
93581
93582         * config/depcomp: update from automake.
93583
93584 2003-06-26  Bruno Haible  <bruno@clisp.org>
93585
93586         * modules/human: Depend on module stdbool.
93587
93588 2003-06-25  Bruno Haible  <bruno@clisp.org>
93589
93590         * modules/readlink: New file.
93591         * modules/xreadlink: Depend on it.
93592         * MODULES.html.sh (func_all_modules): Add readlink.
93593
93594 2003-06-25  Bruno Haible  <bruno@clisp.org>
93595
93596         * m4/readlink.m4: New file.
93597
93598 2003-06-25  Bruno Haible  <bruno@clisp.org>
93599
93600         * lib/readlink.c: New file.
93601
93602 2003-06-22  Karl Berry  <karl@gnu.org>
93603
93604         * config/srclist.txt: update mkinstalldirs from automake.
93605         * config/mkinstalldirs: update.
93606
93607 2003-06-22  Bruno Haible  <bruno@clisp.org>
93608
93609         Portability to mingw32.
93610         * m4/ssize_t.m4: New file, from GNU gettext.
93611         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
93612         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
93613
93614 2003-06-22  Bruno Haible  <bruno@clisp.org>
93615
93616         * modules/safe-read: Add m4/ssize_t.m4.
93617         * modules/xreadlink: Add m4/ssize_t.m4.
93618
93619 2003-06-20  Bruno Haible  <bruno@clisp.org>
93620
93621         Assume C89, so PARAMS isn't needed.
93622         * lib/unicodeio.h (PARAMS): Remove.
93623         * lib/unicodeio.c: Don't use PARAMS.
93624
93625 2003-06-18  Karl Berry  <karl@gnu.org>
93626
93627         * config/config.{guess,sub}: update from prep.
93628
93629 2003-06-18  Jim Meyering  <jim@meyering.net>
93630
93631         Merge changes from coreutils.
93632         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
93633         Remove explicit declarations of xmalloc and realloc.
93634         Include xalloc.h.
93635         (read_utmp): Remove anachronistic cast of xmalloc.
93636
93637 2003-06-17  Paul Eggert  <eggert@twinsun.com>
93638
93639         Assume C89, so PARAMS isn't needed.
93640         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
93641         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
93642         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
93643         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
93644         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
93645         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
93646         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
93647         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
93648         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
93649         lib/xstrtod.h, lib/xstrtol.h: Likewise.
93650         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
93651         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
93652         no longer needed. Anyway, config.h should always be included before any
93653         other file.
93654
93655 2003-06-11  Simon Josefsson  <jas@extundo.com>
93656
93657         * modules/sysexits: New file.
93658         * MODULES.html.sh (func_all_modules): Add sysexits.
93659
93660 2003-06-11  Simon Josefsson  <jas@extundo.com>
93661
93662         * lib/sysexit_.h: New file.
93663
93664 2003-06-11  Derek Price  <derek@ximbiot.com>
93665
93666         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
93667         necessary.
93668
93669 2003-06-11  Bruno Haible  <bruno@clisp.org>
93670
93671         * m4/sysexits.m4: New file.
93672
93673 2003-06-10  Simon Josefsson  <jas@extundo.com>
93674
93675         * lib/argp.h: New file, from glibc.
93676         * lib/argp-ba.c: New file, from glibc.
93677         * lib/argp-eexst.c: New file, from glibc.
93678         * lib/argp-fmtstream.c: New file, from glibc.
93679         * lib/argp-fmtstream.h: New file, from glibc.
93680         * lib/argp-fs-xinl.c: New file, from glibc.
93681         * lib/argp-help.c: New file, from glibc.
93682         * lib/argp-namefrob.h: New file, from glibc.
93683         * lib/argp-parse.c: New file, from glibc.
93684         * lib/argp-pv.c: New file, from glibc.
93685         * lib/argp-pvh.c: New file, from glibc.
93686         * lib/argp-xinl.c: New file, from glibc.
93687
93688 2003-06-10  Simon Josefsson  <jas@extundo.com>
93689
93690         * modules/strchrnul: New file.
93691
93692 2003-06-10  Simon Josefsson  <jas@extundo.com>
93693
93694         * modules/argp: New file.
93695
93696 2003-06-10  Simon Josefsson  <jas@extundo.com>
93697
93698         * m4/strchrnul.m4: New file.
93699
93700 2003-06-10  Simon Josefsson  <jas@extundo.com>
93701
93702         * lib/strchrnul.h: New file.
93703         * lib/strchrnul.c: New file.
93704
93705 2003-06-10  Bruno Haible  <bruno@clisp.org>
93706
93707         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
93708
93709 2003-06-07  Karl Berry  <karl@gnu.org>
93710
93711         * config/config.{guess,sub}: update from prep.
93712
93713 2003-06-07  Jim Meyering  <jim@meyering.net>
93714
93715         * modules/strtod: Use $(...) notation, not @...@ for
93716         AC_REPLACE'd variables.
93717         * modules/localcharset: Likewise.
93718
93719 2003-06-07  Jim Meyering  <jim@meyering.net>
93720
93721         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
93722         in place of my name in the copyright comment.
93723         Remove definition and uses of __P.
93724
93725         From coreutils.
93726         * lib/stat.c: Don't declare xmalloc explicitly.
93727         Instead, include "xalloc.h".
93728         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
93729         xrealloc, and xcalloc return values.
93730         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
93731         Improve comment.
93732         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
93733
93734 2003-06-07  Bruno Haible  <bruno@clisp.org>
93735
93736         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
93737         avoid AC_CONFIG_LINKS.
93738         * modules/fnmatch (Makefile.am): Use explicit creation rule for
93739         fnmatch.h, to avoid AC_CONFIG_LINKS.
93740         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
93741
93742 2003-06-07  Bruno Haible  <bruno@clisp.org>
93743
93744         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
93745         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
93746         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93747         directory.
93748         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
93749         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93750         directory.
93751
93752 2003-06-06  Jim Meyering  <jim@meyering.net>
93753
93754         Merge from coreutils.
93755         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
93756         Consolidate declarations and initializations of *_base* locals.
93757
93758         Merge from coreutils.
93759         This avoids a core dump on systems without GNU putenv,
93760         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
93761         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
93762         (unsetenv): New static function, from GNU libc.
93763         (rpl_putenv): Use it.
93764
93765         * lib/modechange.c: Remove trailing blanks.
93766
93767         Merge from coreutils.
93768         * lib/fsusage.c: Remove declaration of statfs.
93769         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
93770
93771         * lib/posixtm.c: Include <stdbool.h> unconditionally.
93772
93773 2003-06-06  Jim Meyering  <jim@meyering.net>
93774
93775         * lib/stdbool_.h: Renamed from stdbool.h.in.
93776
93777 2003-06-06  Jim Meyering  <jim@meyering.net>
93778             Bruno Haible  <bruno@clisp.org>
93779
93780         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
93781         Adjust Makefile.am snippet not to redirect directly to target.
93782         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
93783
93784 2003-06-05  Paul Eggert  <eggert@twinsun.com>
93785
93786         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
93787         mismatch, look in future quarters as well as past.  This fixes a
93788         bug when processing fall-backwards gaps immediately after a long
93789         period of daylight-saving time.
93790
93791         * lib/mktime.c: Assume freestanding C89 or better.
93792         (HAVE_LIMITS_H): Remove.  Assume it's 1.
93793         (__P): Remove; not used.
93794         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
93795         (mktime, not_equal_tm, print_tm, check_result,
93796         main): Use prototypes.  Use const * where appropriate.
93797         (main): Fix typo in testing code that uncovered by above changes.
93798         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
93799
93800 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93801
93802         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
93803         locale.h, localeconv.  This merges changes from coreutils.
93804
93805         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
93806         It can be removed after the next Autoconf is released.
93807         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
93808         needed.
93809
93810 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93811
93812         * lib/mktime.c: Fix Debian bug 177940
93813         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
93814         (localtime_offset): Now long int, not time_t, because we want it
93815         to be guaranteed to be signed.  All uses changed.
93816         (__mktime_internal): If overflow would occur when adding offset,
93817         don't add it.
93818
93819         Merge 'human' changes from coreutils.  Rewrite to support
93820         locale-specific notations like thousands separators.
93821         * lib/human.c: Simplify authorship notice.
93822         Include human.h immediately after config.h.
93823         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
93824         <limits.h>: Do not include, since human.h does.
93825         (SIZE_MAX, UINTMAX_MAX): New macros.
93826         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
93827         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
93828         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
93829         (power_letter): Renamed from suffixes.
93830         (generate_suffix_backwards): Remove.
93831         (adjust_value): Now takes int style (because of human.h changes)
93832         and long double value (for greater precision on some platforms).
93833         (group_number): New function.
93834         (human_readable): Use it.  Use integer options, not enum.
93835         Put the options before the sizes in the arg list.
93836         Support all the new options.
93837         The old human_readable function has been removed;
93838         use inttostr.h instead.
93839         (human_readable, default_block_size, humblock):
93840         Use uintmax_t, not int, for block sizes.
93841         (human_readable_inexact, block_size_types): Remove.
93842         (block_size_opts): New constant.
93843         (human_options): Renamed from human_block_size, with new signature
93844         that allows block sizes up to UINTMAX_MAX.  All callers changed.
93845         * lib/human.h: Add copyright and authorship notice.
93846         Include <limits.h> and <stdbool.h> unconditionally.
93847         (PARAMS): Remove.  All uses removed.
93848         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
93849         (enum human_inexact_style): Remove tag; now a nameless enum.
93850         (human_floor, human_ceiling, human_round_to_even): Now have
93851         values 2, 0, 1 rather than -1, 1, 0.
93852         (human_group_digits, human_suppress_point_zero, human_autoscale,
93853         human_base_1024, human_SI, human_B): New constants.
93854         (human_readable_inexact, human_block_size): Remove.
93855         (human_readable): Size args are now uintmax_t, not int.
93856         (human_options): New decl.
93857
93858         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
93859         unnecessary now that we assume C89 or better.  This change
93860         imported from coreutils.
93861
93862         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93863         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
93864         in the 2003-05-30 sync from glibc.
93865
93866         .h files should stand alone, but we shouldn't include <sys/types.h>
93867         if we can get away with just <stddef.h>.
93868
93869         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
93870         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
93871         rather than <sys/types.h>, as we merely need size_t.
93872         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
93873         to get size_t.
93874         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
93875         Include <stdio.h>, to get FILE.
93876         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
93877         memcasecmp.h has included <stddef.h> and all we need is size_t.
93878         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
93879         our interface, instead of including <sys/types.h>
93880
93881 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93882
93883         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
93884         now, as glibc mktime is buggy on non-glibc systems.
93885
93886 2003-06-03  Karl Berry  <karl@gnu.org>
93887
93888         * config/config.sub: update from prep.
93889
93890 2003-06-02  Paul Eggert  <eggert@twinsun.com>
93891
93892         [from coreutils]
93893         Fix some minor time-related bugs with POSIX time arguments.
93894         Some valid time stamps were being rejected (notably -1, and
93895         time stamps before 1900 on 64-bit hosts).  And some invalid
93896         time stamps were being accepted, e.g. September 31.
93897
93898         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
93899         that we can return (time_t) -1 successfully.
93900         * lib/posixtm.c: Likewise.
93901         [HAVE_STDBOOL_H]: Include <stdbool.h>.
93902         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
93903         (t): Remove static var.
93904         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
93905         of static var.  All uses changed.
93906         (year): Do not reject years before 1900; they can occur with
93907         64-bit time_t.
93908         (posix_time_parse): Do not check for out-of-range components;
93909         that is now the caller's responsibility, since our checks were
93910         only approximations.
93911         (posixtime): Use mktime to check for out-of-range components,
93912         since it knows them exactly.
93913         If mktime returns (time_t) -1, check whether an error actually occurred
93914         by invoking localtime on -1.
93915         (main) [TEST_POSIXTIME]: Check for input data errors, and report
93916         posixtime failures better.
93917         Improve the test data (in comments only).
93918
93919 2003-06-02  Karl Berry  <karl@gnu.org>
93920
93921         * config/mkinstalldirs (version): new variable.
93922         (--version): new option.
93923         (usage): improve message.
93924
93925 2003-05-30  Karl Berry  <karl@gnu.org>
93926
93927         * lib/mktime.c: update from libc.
93928
93929 2003-05-30  Bruno Haible  <bruno@clisp.org>
93930
93931         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
93932         * config/config.rpath: Upgrade to gettext-0.12.1.
93933
93934 2003-05-30  Bruno Haible  <bruno@clisp.org>
93935
93936         * m4/gettext.m4: Upgrade to gettext-0.12.1.
93937         * m4/nls.m4: New file, from gettext-0.12.1.
93938         * m4/po.m4: New file, from gettext-0.12.1.
93939         * m4/progtest.m4: Upgrade to gettext-0.12.1.
93940
93941 2003-05-30  Bruno Haible  <bruno@clisp.org>
93942
93943         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
93944         * lib/localcharset.h: Likewise.
93945         * lib/localcharset.c: Likewise.
93946
93947 2003-05-29  Karl Berry  <karl@gnu.org>
93948
93949         * config/config.rpath: update from gettext.
93950
93951 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93952
93953         Assume the headers required for C89 freestanding compilers.
93954         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
93955         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
93956         * m4/human.m4 (gl_HUMAN): Likewise.
93957         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
93958         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
93959         * m4/userspec.m4 (gl_USERSPEC): Likewise.
93960         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
93961         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
93962         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
93963
93964 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93965
93966         Assume the headers required for C89 freestanding compilers.
93967         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
93968         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
93969         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
93970         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
93971         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
93972         define, since <limits.h> is guaranteed to do that.
93973         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
93974         * lib/exclude.c: Include <stdbool.h> unconditionally.
93975         * lib/tempname.c: Include <stddef.h> unconditionally.
93976         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
93977         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
93978         <stddef.h> does that.
93979         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
93980         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
93981         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
93982         needed.
93983         * lib/xstrtol.c: Likewise.
93984         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
93985         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
93986
93987         * lib/addext.c (addext): Use assignment rather than cast, to avoid
93988         warnings on some platforms.
93989
93990         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93991         arbitrarily.
93992
93993 2003-05-26  Jim Meyering  <jim@meyering.net>
93994
93995         Merge in a change from coreutils:
93996         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
93997         that is guaranteed to be `no'.  Use `no_such_member' to indicate
93998         that condition, rather than `-1' which is slightly misleading.
93999         Change the name of the cache variable to have the gl_ prefix.
94000         Prompted by a patch from Richard Dawe for DJGPP.
94001
94002 2003-05-24  Karl Berry  <karl@gnu.org>
94003
94004         * config/config.guess: update from prep.
94005
94006 2003-05-22  Karl Berry  <karl@gnu.org>
94007
94008         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
94009
94010 2003-05-20  Karl Berry  <karl@gnu.org>
94011
94012         * config/config.guess: update from prep.
94013
94014 2003-05-18  Karl Berry  <karl@gnu.org>
94015
94016         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
94017         might actually be set by the user.
94018
94019         * config/depcomp, install-sh, mdate-sh: update from automake.
94020
94021 2003-05-17  Bruno Haible  <bruno@clisp.org>
94022
94023         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
94024         invalid expansion for AC_EGREP_CPP.
94025         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
94026         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
94027         Suggested by Akim Demaille <akim@epita.fr> in
94028         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
94029
94030 2003-05-12  Jim Meyering  <jim@meyering.net>
94031
94032         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
94033         the space-padded-by-default conversion specifiers, %e, %k, %l.
94034
94035 2003-05-12  Bruno Haible  <bruno@clisp.org>
94036
94037         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
94038         the string is longer than 4 KB.
94039
94040 2003-05-11  Karl Berry  <karl@gnu.org>
94041
94042         * config/config.{guess,sub}: update from prep.
94043
94044 2003-05-09  Bruno Haible  <bruno@clisp.org>
94045
94046         * modules/error: Add m4/strerror_r.m4 to file list.
94047
94048 2003-05-03  Bruno Haible  <bruno@clisp.org>
94049
94050         Upgrade to Unicode-4.0.
94051         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
94052         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
94053         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
94054         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
94055         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
94056         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
94057         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
94058         Change width of U+E0100..U+E01EF from 1 to 0.
94059
94060 2003-04-25  Jim Meyering  <jim@meyering.net>
94061
94062         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
94063         of type size_t, not int.
94064
94065 2003-04-25  Bruno Haible  <bruno@clisp.org>
94066
94067         * lib/copy-file.c: Include <stddef.h>, for size_t.
94068
94069 2003-04-21  Paul Eggert  <eggert@twinsun.com>
94070
94071         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
94072         code which expansion is under static control.  Patch imported from
94073         Akim Demaille's patch to Bison; see
94074         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
94075
94076 2003-04-14  Bruno Haible  <bruno@clisp.org>
94077
94078         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
94079
94080 2003-04-11  Jim Meyering  <jim@meyering.net>
94081
94082         Merge changes from Coreutils.
94083
94084         2003-03-22  Jim Meyering  <jim@meyering.net>
94085
94086         * lib/strftime.c (widen): Cast alloca return value to proper type.
94087
94088         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
94089
94090         From GNU libc.
94091         * lib/strftime.c (my_strftime): Handle very large width
94092         specifications for numeric values correctly.  Improve checks for
94093         overflow.
94094
94095         2003-01-19  Jim Meyering  <jim@meyering.net>
94096
94097         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
94098         definitions.
94099         (nl_get_alt_digit) [! defined my_strftime]: Define.
94100         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
94101         _nl_get_alt_digit and _nl_get_walt_digit.
94102
94103         * lib/strftime.c (my_strftime): Merge in locale-related changes from
94104         libc. These changes have no effect outside of _LIBC.
94105
94106 2003-04-10  Bruno Haible  <bruno@clisp.org>
94107
94108         * modules/findprog: New file.
94109         * MODULES.html.sh (func_all_modules): Add it.
94110
94111 2003-04-10  Bruno Haible  <bruno@clisp.org>
94112
94113         * m4/findprog.m4: New file.
94114         * m4/eaccess.m4: New file.
94115
94116 2003-04-10  Bruno Haible  <bruno@clisp.org>
94117
94118         * lib/findprog.h: New file, from GNU gettext.
94119         * lib/findprog.c: New file, from GNU gettext.
94120
94121 2003-04-05  Jim Meyering  <jim@meyering.net>
94122
94123         Merge changes from Coreutils.
94124
94125         * lib/exclude.h (PARAMS): Remove definition and uses.
94126         * lib/exclude.c: Remove uses of `PARAMS'.
94127
94128         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
94129         Add test-cases for DOS filenames. Declare program_name.
94130         (main): Set up program_name.  Patch by Rich Dawe.
94131
94132         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
94133         error from mntctl.
94134         Use mntctl's return value to drive the entry-processing loop, since
94135         we can't rely on the value of the vmt_length member in the last
94136         entry.  On some systems doing so could result in exhausting
94137         virtual memory.  Based in part on a patch from Mike Jetzer.
94138
94139 2003-04-04  Bruno Haible  <bruno@clisp.org>
94140
94141         * modules/linebreak: New file.
94142         * MODULES.html.sh (func_all_modules): Add it.
94143
94144 2003-04-04  Bruno Haible  <bruno@clisp.org>
94145
94146         * m4/linebreak.m4: New file.
94147
94148 2003-04-04  Bruno Haible  <bruno@clisp.org>
94149
94150         * lib/linebreak.h: New file, from GNU gettext.
94151         * lib/linebreak.c: New file, from GNU gettext with slight
94152         modifications.
94153         * lib/lbrkprop.h: New file, from GNU gettext.
94154
94155 2003-04-03  Bruno Haible  <bruno@clisp.org>
94156
94157         * modules/utf8-ucs4: New file.
94158         * modules/utf16-ucs4: New file.
94159         * modules/ucs4-utf8: New file.
94160         * modules/ucs4-utf16: New file.
94161         * MODULES.html.sh (func_all_modules): Add them.
94162
94163 2003-04-03  Bruno Haible  <bruno@clisp.org>
94164
94165         * m4/utf-ucs4.m4: New file.
94166         * m4/ucs4-utf.m4: New file.
94167
94168 2003-04-03  Bruno Haible  <bruno@clisp.org>
94169
94170         * lib/utf8-ucs4.h: New file, from GNU gettext.
94171         * lib/utf16-ucs4.h: New file, from GNU gettext.
94172         * lib/ucs4-utf8.h: New file, from GNU gettext.
94173         * lib/ucs4-utf16.h: New file, from GNU gettext.
94174
94175 2003-04-02  Bruno Haible  <bruno@clisp.org>
94176
94177         * modules/binary-io: New file.
94178         * MODULES.html.sh (func_all_modules): Add it.
94179
94180 2003-04-02  Bruno Haible  <bruno@clisp.org>
94181
94182         * lib/binary-io.h: New file, from GNU gettext.
94183
94184 2003-04-01  Bruno Haible  <bruno@clisp.org>
94185
94186         * modules/pathname: New file.
94187         * MODULES.html.sh (func_all_modules): Add it.
94188
94189 2003-04-01  Bruno Haible  <bruno@clisp.org>
94190
94191         * lib/pathname.h: New file, from GNU gettext.
94192         * lib/concatpath.c: New file, from GNU gettext.
94193
94194 2003-03-30  Bruno Haible  <bruno@clisp.org>
94195
94196         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
94197
94198 2003-03-30  Bruno Haible  <bruno@clisp.org>
94199
94200         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
94201         function chown() doesn't exist.
94202
94203 2003-03-28  Bruno Haible  <bruno@clisp.org>
94204
94205         * modules/copy-file: New file.
94206         * MODULES.html.sh (func_all_modules): Add it.
94207
94208 2003-03-28  Bruno Haible  <bruno@clisp.org>
94209
94210         * m4/copy-file.m4: New file.
94211
94212 2003-03-28  Bruno Haible  <bruno@clisp.org>
94213
94214         * lib/copy-file.h: New file, from GNU gettext.
94215         * lib/copy-file.c: New file, from GNU gettext.
94216
94217 2003-03-18  Jim Meyering  <jim@meyering.net>
94218
94219         * lib/quote.c (quote_n): Fix typo in comment.
94220
94221 2003-03-18  Bruno Haible  <bruno@clisp.org>
94222
94223         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
94224         checking.
94225         * m4/onceonly_2_57.m4: Likewise.
94226
94227 2003-03-17  Bruno Haible  <bruno@clisp.org>
94228
94229         * m4/onceonly.m4: Require autoconf 2.54 or newer.
94230         (m4_quote): Remove macro.
94231         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
94232
94233 2003-03-14  Jim Meyering  <jim@meyering.net>
94234
94235         Merge changes from Coreutils.
94236         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
94237         to be const, in order to avoid warnings.
94238         (obstack_room): Likewise.
94239         (obstack_empty_p): Likewise.
94240
94241 2003-03-14  Bruno Haible  <bruno@clisp.org>
94242
94243         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
94244         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
94245
94246 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94247
94248         Merge changes from Bison.
94249         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
94250         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
94251         when compiling Bison 1.875's `bitset bset = obstack_alloc
94252         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
94253         * lib/hash.c: Include <stdbool.h> unconditionally.
94254
94255 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94256
94257         * m4/onceonly.m4 (m4_quote): New macro.
94258         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
94259         Quote AC_FOREACH variable-expansions properly.
94260
94261 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94262
94263         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
94264
94265 2003-03-09  Paul Eggert  <eggert@twinsun.com>
94266
94267         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
94268         Reported by Bruce Becker; see:
94269         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
94270
94271 2003-03-03  Paul Eggert  <eggert@twinsun.com>
94272             Bruno Haible  <bruno@clisp.org>
94273
94274         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
94275         Reported by John Hughes, see
94276         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
94277
94278 2003-02-20  Bruno Haible  <bruno@clisp.org>
94279
94280         * MODULES.html.sh (func_all_modules): Add poll.
94281
94282 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94283
94284         * modules/poll: New file.
94285
94286 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94287
94288         * lib/poll_.h: New file.
94289         * lib/poll.c: New file.
94290
94291 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94292
94293         * m4/poll.m4: New file.
94294
94295 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94296
94297         * modules/mathl: New file.
94298
94299 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94300
94301         * lib/mathl.h: New file.
94302         * lib/acosl.c: New file.
94303         * lib/asinl.c: New file.
94304         * lib/atanl.c: New file.
94305         * lib/ceill.c: New file.
94306         * lib/cosl.c: New file.
94307         * lib/expl.c: New file.
94308         * lib/floorl.c: New file.
94309         * lib/frexpl.c: New file.
94310         * lib/ldexpl.c: New file.
94311         * lib/logl.c: New file.
94312         * lib/sincosl.c: New file.
94313         * lib/sinl.c: New file.
94314         * lib/sqrtl.c: New file.
94315         * lib/tanl.c: New file.
94316         * lib/trigl.c: New file.
94317         * lib/trigl.h: New file.
94318
94319 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94320
94321         * m4/mathl.m4: New file.
94322
94323 2003-02-18  Bruno Haible  <bruno@clisp.org>
94324
94325         * MODULES.html.sh (func_all_modules): Add mathl.
94326
94327 2003-02-17  Bruno Haible  <bruno@clisp.org>
94328
94329         * modules/mkdtemp: New module.
94330         * MODULES.html.sh (func_all_modules): Add it.
94331
94332 2003-02-17  Bruno Haible  <bruno@clisp.org>
94333
94334         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
94335
94336 2003-02-17  Bruno Haible  <bruno@clisp.org>
94337
94338         * lib/mkdtemp.h: New file, from GNU gettext.
94339         * lib/mkdtemp.c: New file, from GNU gettext.
94340
94341 2003-02-02  Jim Meyering  <jim@meyering.net>
94342
94343         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
94344         e.g. glibc-2.2.93.
94345
94346 2003-01-31  Bruno Haible  <bruno@clisp.org>
94347
94348         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
94349         'rpl_rename'.
94350         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
94351         'rpl_strnlen'.
94352         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
94353         'rpl_strtod'.
94354         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
94355         'rpl_utime'.
94356
94357 2003-01-31  Bruno Haible  <bruno@clisp.org>
94358
94359         * lib/rename.c: #undef rename before defining rpl_rename.
94360         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
94361
94362 2003-01-30  Bruno Haible  <bruno@clisp.org>
94363
94364         * modules/vasnprintf, modules/vasprintf: New modules.
94365         * MODULES.html.sh (func_all_modules): Add them.
94366
94367 2003-01-30  Bruno Haible  <bruno@clisp.org>
94368
94369         * m4/signed.m4: New file, from GNU gettext.
94370         * m4/longdouble.m4: New file, from GNU gettext.
94371         * m4/wchar_t.m4: New file, from GNU gettext.
94372         * m4/wint_t.m4: New file, from GNU gettext.
94373         * m4/vasnprintf.m4: New file.
94374         * m4/vasprintf.m4: New file.
94375
94376 2003-01-30  Bruno Haible  <bruno@clisp.org>
94377
94378         * lib/printf-args.h: New file, from GNU gettext.
94379         * lib/printf-args.c: New file, from GNU gettext.
94380         * lib/printf-parse.h: New file, from GNU gettext.
94381         * lib/printf-parse.c: New file, from GNU gettext.
94382         * lib/vasnprintf.h: New file, from GNU gettext.
94383         * lib/vasnprintf.c: New file, from GNU gettext.
94384         * lib/asnprintf.c: New file, from GNU gettext.
94385         * lib/vasprintf.h: New file, from GNU gettext with modifications.
94386         * lib/vasprintf.c: New file, from GNU gettext.
94387         * lib/asprintf.c: New file, from GNU gettext.
94388
94389 2003-01-29  Bruno Haible  <bruno@clisp.org>
94390
94391         * modules/stpncpy: New module.
94392         * MODULES.html.sh (func_all_modules): Add it.
94393
94394 2003-01-29  Bruno Haible  <bruno@clisp.org>
94395
94396         * m4/stpncpy.m4: New file.
94397
94398 2003-01-29  Bruno Haible  <bruno@clisp.org>
94399
94400         * lib/stpncpy.h: New file, from GNU gettext with modifications.
94401         * lib/stpncpy.c: New file, from GNU gettext with modifications.
94402
94403 2003-01-28  Bruno Haible  <bruno@clisp.org>
94404
94405         * modules/c-ctype: New module.
94406         * MODULES.html.sh (func_all_modules): Add it.
94407
94408 2003-01-28  Bruno Haible  <bruno@clisp.org>
94409
94410         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
94411         Paul Eggert.
94412         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
94413         Paul Eggert.
94414
94415 2003-01-27  Bruno Haible  <bruno@clisp.org>
94416
94417         * modules/xsetenv: New module.
94418         * MODULES.html.sh (func_all_modules): Add it.
94419
94420 2003-01-27  Bruno Haible  <bruno@clisp.org>
94421
94422         * lib/xsetenv.h: New file, from GNU gettext.
94423         * lib/xsetenv.c: New file, from GNU gettext.
94424
94425 2003-01-23  Jim Meyering  <jim@meyering.net>
94426
94427         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
94428         from working on systems without dirfd (at least Irix and OSF1/Tru64).
94429
94430 2003-01-23  Bruno Haible  <bruno@clisp.org>
94431
94432         * modules/minmax: New module.
94433         * MODULES.html.sh (func_all_modules): Add it.
94434
94435 2003-01-23  Bruno Haible  <bruno@clisp.org>
94436
94437         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
94438         Eggert.
94439
94440 2003-01-22  Bruno Haible  <bruno@clisp.org>
94441
94442         * modules/exit: New module.
94443         * MODULES.html.sh (func_all_modules): Add it.
94444
94445 2003-01-22  Bruno Haible  <bruno@clisp.org>
94446
94447         * lib/exit.h: New file, from GNU gettext.
94448
94449 2003-01-19  Bruno Haible  <bruno@clisp.org>
94450
94451         * gnulib-tool: Recognize option --extract-maintainer.
94452         (func_get_maintainer): New function.
94453         * modules/*: Add Maintainer entry.
94454
94455 2003-01-16  Jim Meyering  <jim@meyering.net>
94456
94457         * m4/regex.m4: The `regex' struct is both input and output.
94458         Initialize it before each use.  Patch by Tim Waugh.
94459
94460 2003-01-16  Bruno Haible  <bruno@clisp.org>
94461
94462         * MODULES.html.sh: Add a table of contents. Add the module name as
94463         leftmost column. Add hyperlinks.
94464
94465 2003-01-15  Bruno Haible  <bruno@clisp.org>
94466
94467         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
94468
94469 2003-01-15  Bruno Haible  <bruno@clisp.org>
94470
94471         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
94472         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
94473         suffix.
94474
94475 2003-01-15  Bruno Haible  <bruno@clisp.org>
94476
94477         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
94478
94479 2003-01-15  Bruno Haible  <bruno@clisp.org>
94480
94481         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
94482         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
94483
94484 2003-01-14  Jim Meyering  <jim@meyering.net>
94485
94486         * lib/same.c (same_name): Tweak a comment.
94487
94488 2003-01-14  Bruno Haible  <bruno@clisp.org>
94489
94490         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
94491         when a string comparison is sufficient.
94492
94493 2003-01-14  Bruno Haible  <bruno@clisp.org>
94494
94495         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
94496         'unsigned int'.
94497
94498 2003-01-14  Bruno Haible  <bruno@clisp.org>
94499
94500         * lib/hash-pjw.c: Add comment about low quality of this function.
94501
94502 2003-01-13  Bruno Haible  <bruno@clisp.org>
94503
94504         * modules/stpcpy: Distribute lib/stpcpy.h.
94505         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
94506
94507 2003-01-13  Bruno Haible  <bruno@clisp.org>
94508
94509         * modules/*: Add a description.
94510         * modules/strpbrk: Fix Makefile.am snippet.
94511         * modules/strtoimax: Fix dependencies.
94512         * modules/strtoumax: Likewise.
94513
94514 2003-01-13  Bruno Haible  <bruno@clisp.org>
94515
94516         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
94517         * modules/alloca (Makefile.am): All object files depend on alloca.h.
94518         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
94519
94520 2003-01-13  Bruno Haible  <bruno@clisp.org>
94521
94522         * gnulib-tool (func_create_testdir): Store config/* files in the main
94523         directory.
94524         * config.rpath: Move to ...
94525         * config/config.rpath: ... here.
94526         * modules/gettext: Contains config/config.rpath, not config.rpath.
94527         * modules/iconv: Likewise.
94528
94529 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94530
94531         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94532         to avoid collisions with libcurses and libreadline.
94533
94534         * m4/getstr.m4: Remove.
94535         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
94536
94537 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94538
94539         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94540         to avoid collisions with libcurses and libreadline.
94541
94542         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
94543         * lib/getstr.h, getstr.c: Remove.
94544         * lib/getline.c: Include "getline.h", to check interface.
94545         Move body of old getstr.c here: this defines MIN_CHUNK and
94546         declares getdelim2, which is renamed from getstr.
94547         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
94548
94549         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
94550         All uses changed.
94551         * lib/linebuffer.h: Likewise.
94552         (readline): Remove backward-compatibility macro.
94553
94554 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94555
94556         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94557         to avoid collisions with libcurses and libreadline.
94558         * getstr: Remove.
94559         * MODULES.html.sh: Remove getstr.
94560         * modules/getline: Depend on unlocked-io, not getstr.
94561
94562 2003-01-12  Jim Meyering  <jim@meyering.net>
94563
94564         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
94565
94566 2003-01-10  Bruno Haible  <bruno@clisp.org>
94567
94568         * modules/alloca: Change Makefile.am requirements. Simplify Include
94569         requirements. Add lib/alloca_.h to file list.
94570
94571 2003-01-10  Bruno Haible  <bruno@clisp.org>
94572
94573         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
94574
94575 2003-01-10  Bruno Haible  <bruno@clisp.org>
94576
94577         * lib/alloca_.h: New file.
94578         * lib/getdate.y: Unconditionally include alloca.h.
94579         * lib/makepath.c: Likewise.
94580         * lib/setenv.c: Likewise.
94581         * lib/userspec.c: Likewise.
94582
94583 2003-01-09  Karl Berry  <karl@gnu.org>
94584
94585         * MODULES.html.sh: include `dirname $0` in PATH, to find
94586         gnulib-tool.
94587
94588 2003-01-09  Bruno Haible  <bruno@clisp.org>
94589
94590         * modules/stdbool: Change configure.ac, Makefile.am requirements.
94591         Simplify Include requirements. Add lib/stdbool.h.in to file list.
94592
94593 2003-01-09  Bruno Haible  <bruno@clisp.org>
94594
94595         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
94596
94597 2003-01-09  Bruno Haible  <bruno@clisp.org>
94598
94599         * lib/stdbool.h.in: New file.
94600
94601 2003-01-09  Bruno Haible  <bruno@clisp.org>
94602
94603         * gnulib-tool (func_all_modules): Ignore files ending in ~.
94604         * MODULES.html.sh: Likewise.
94605
94606 2003-01-08  Jim Meyering  <jim@meyering.net>
94607
94608         * lib/full-write.c: Undefine and define-away `const' after inclusion
94609         of errno.h, not before.  Suggestion from Bruno Haible.
94610
94611 2003-01-08  Bruno Haible  <bruno@clisp.org>
94612
94613         * modules/full-read: Depend on full-write.
94614
94615 2003-01-08  Bruno Haible  <bruno@clisp.org>
94616
94617         * lib/safe-read.c: Include specification header first, to ensure its
94618         selfcontainedness.
94619         * lib/full-write.c: Likewise.
94620
94621 2003-01-07  Jim Meyering  <jim@meyering.net>
94622
94623         * lib/full-write.c: Rework so that it may serve to define full_read,
94624         too.
94625         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
94626
94627 2003-01-07  Bruno Haible  <bruno@clisp.org>
94628
94629         * lib/strtoimax.c: Include <stdint.h> as an alternative to
94630         <inttypes.h>.
94631         * lib/xstrtol.h: Likewise.
94632         * lib/xstrtoimax.c: Likewise.
94633         * lib/xstrtoumax.c: Likewise.
94634         * lib/human.h: Likewise.
94635
94636         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
94637         on systems that have <inttypes.h> but not <stdint.h>.
94638
94639 2003-01-07  Bruno Haible  <bruno@clisp.org>
94640
94641         * MODULES.html.sh: Add copyright notice.
94642         (missed_files): Omit CVS directory entries.
94643         (func_module): Make it work with sed-3.02.
94644         * MODULES.txt: Remove file.
94645
94646 2003-01-06  Jim Meyering  <jim@meyering.net>
94647
94648         * lib/version-etc.c: Update year in translatable copyright string.
94649
94650 2003-01-03  Karl Berry  <karl@gnu.org>
94651
94652         * config/config.{guess,sub}: update from prep.
94653
94654 2003-01-02  Karl Berry  <karl@gnu.org>
94655
94656         * doc/COPYING.DOC: belatedly updated to 1.2.
94657
94658 2003-01-01  Karl Berry  <karl@gnu.org>
94659
94660         * gnulib-tool (func_verify_module): report module name $module in
94661         error message, not $1.
94662         * gnulib-tool (create-testdir): don't complain if destdir couldn't
94663         be created, only if it doesn't exist.
94664         * gnulib-tool (last_checkin_date): don't expand the $Date here.
94665
94666 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94667
94668         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
94669
94670 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94671
94672         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
94673         memcmp if strcoll doesn't work.
94674
94675 2002-12-31  Bruno Haible  <bruno@clisp.org>
94676
94677         * lib/utime.c (utime_null): No need to call ftruncate if the file was
94678         nonempty.
94679
94680 2002-12-31  Bruno Haible  <bruno@clisp.org>
94681
94682         * lib/memcoll.c (STRCOLL): New macro.
94683         (memcoll): Use it.
94684
94685 2002-12-31  Bruno Haible  <bruno@clisp.org>
94686
94687         * lib/localcharset.h: New file.
94688         * lib/localcharset.c: Include it.
94689         * lib/unicodeio.c: Likewise.
94690
94691 2002-12-31  Bruno Haible  <bruno@clisp.org>
94692
94693         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
94694         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
94695
94696 2002-12-31  Bruno Haible  <bruno@clisp.org>
94697
94698         * lib/getline.h: Include <stddef.h>, for size_t.
94699
94700         * lib/unicodeio.h: Include <stddef.h>, for size_t.
94701         * lib/unicodeio.c: Don't include <stddef.h>.
94702
94703 2002-12-31  Bruno Haible  <bruno@clisp.org>
94704
94705         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
94706         HAVE_TM_ZONE.
94707
94708 2002-12-24  Karl Berry  <karl@gnu.org>
94709
94710         * config/config.guess: update from prep.
94711
94712 2002-12-24  Bruno Haible  <bruno@clisp.org>
94713
94714         General infrasructure.
94715         * m4/README: Rewritten.
94716         * m4/onceonly.m4: New file.
94717         * m4/onceonly_2_57.m4: New file.
94718
94719         Module atexit.
94720         * m4/atexit.m4: New file.
94721
94722         Module strtod.
94723         * m4/strtod.m4: New file.
94724
94725         Module strtol.
94726         * m4/strtol.m4: New file.
94727
94728         Module strtoul.
94729         * m4/strtoul.m4: New file.
94730
94731         Module memchr.
94732         * m4/memchr.m4: New file.
94733
94734         Module memcmp.
94735         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
94736         (jm_FUNC_MEMCMP): Invoke it.
94737
94738         Module memcpy.
94739         * m4/memcpy.m4: New file.
94740
94741         Module memmove.
94742         * m4/memmove.m4: New file.
94743
94744         Module memset.
94745         * m4/memset.m4: New file.
94746
94747         Module strcspn.
94748         * m4/strcspn.m4: New file.
94749
94750         Module strpbrk.
94751         * m4/strpbrk.m4: New file.
94752
94753         Module strstr.
94754         * m4/strstr.m4: New file.
94755
94756         Module strerror.
94757         * m4/strerror.m4: New file.
94758
94759         Module mktime.
94760         * m4/mktime.m4: Renamed from jm-mktime.m4.
94761         (gl_PREREQ_MKTIME): New macro.
94762         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
94763
94764         Module malloc.
94765         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
94766         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
94767         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
94768
94769         Module realloc.
94770         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
94771         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
94772         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
94773
94774         Module strftime.
94775         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
94776         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
94777         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
94778         gl_TM_GMTOFF.
94779         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
94780
94781         Module xalloc.
94782         * m4/xalloc.m4: New file.
94783
94784         Module alloca.
94785         * m4/alloca.m4: New file.
94786
94787         Module putenv.
94788         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
94789         (jm_FUNC_PUTENV): Invoke it.
94790
94791         Module setenv.
94792         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
94793         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
94794         when invoked twice.
94795         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
94796         gt_FUNC_SETENV.
94797
94798         Module memrchr.
94799         * m4/memrchr.m4: New file.
94800
94801         Module stpcpy.
94802         * m4/stpcpy.m4: New file.
94803
94804         Module strcase.
94805         * m4/strcase.m4: New file.
94806
94807         Module strdup.
94808         * m4/strdup.m4: New file.
94809
94810         Module strnlen.
94811         * m4/strnlen.m4: New file.
94812
94813         Module strndup.
94814         * m4/strndup.m4: New file.
94815
94816         Module xstrtod.
94817         * m4/xstrtod.m4: New file.
94818
94819         Module xstrtol.
94820         * m4/xstrtol.m4: New file.
94821
94822         Module getdate.
94823         * m4/getdate.m4: New file.
94824
94825         Module unlocked-io.
94826         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
94827         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
94828         * m4/jm-glibc-io.m4n: Remove file.
94829
94830         Module long-options.
94831         * m4/long-options.m4: New file.
94832
94833         Module md5.
94834         * m4/md5.m4: New file.
94835
94836         Module sha.
94837         * m4/sha.m4: New file.
94838
94839         Module getstr.
94840         * m4/getstr.m4: New file.
94841
94842         Module getline.
94843         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
94844         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
94845         <sys/types.h>, for size_t. Use the function name gnu_getline, not
94846         simply getline. Infoke gl_PREREQ_GETLINE.
94847
94848         Module obstack.
94849         * m4/obstack.m4: New file.
94850
94851         Module hash.
94852         * m4/hash.m4: New file.
94853
94854         Module readtokens.
94855         * m4/readtokens.m4: New file.
94856
94857         Module strverscmp.
94858         * m4/strverscmp.m4: New file.
94859
94860         Module stdbool.
94861         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
94862         OSF/1.
94863
94864         Module strtoll.
94865         * m4/strtoll.m4: New file.
94866
94867         Module strtoull.
94868         * m4/strtoull.m4: New file.
94869
94870         Module strtoimax.
94871         * m4/strtoimax.m4: New file.
94872
94873         Module strtoumax.
94874         * m4/strtoumax.m4: New file.
94875
94876         Module xstrtoimax.
94877         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
94878         jm_AC_PREREQ_XSTRTOIMAX.
94879         Moved the strtol prerequisites to strtol.m4.
94880         Moved the strtoll prerequisites to strtoll.m4.
94881         Moved the strtoimax prerequisites to strtoimax.m4.
94882
94883         Module xstrtoumax.
94884         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
94885         jm_AC_PREREQ_XSTRTOUMAX.
94886         Moved the strtoul prerequisites to strtoul.m4.
94887         Moved the strtoull prerequisites to strtoull.m4.
94888         Moved the strtoumax prerequisites to strtoumax.m4.
94889
94890         Module chown.
94891         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
94892         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
94893
94894         Module dup2.
94895         * m4/dup2.m4: New file.
94896
94897         Module ftruncate.
94898         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
94899         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
94900
94901         Module getgroups.
94902         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
94903         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
94904
94905         Module gettimeofday.
94906         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
94907         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
94908         gl_PREREQ_GETTIMEOFDAY.
94909
94910         Module mkdir.
94911         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
94912         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
94913
94914         Module mkstemp.
94915         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
94916         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
94917         jm_AC_TYPE_UINTMAX_T.
94918         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
94919
94920         Module stat.
94921         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
94922         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
94923
94924         Module lstat.
94925         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
94926         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
94927
94928         Module timespec.
94929         * m4/timespec.m4 (gl_TIMESPEC): New macro.
94930         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
94931         * m4/st_mtim.m4: Indentation.
94932
94933         Module nanosleep.
94934         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
94935         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
94936         gl_PREREQ_NANOSLEEP.
94937
94938         Module regex.
94939         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
94940         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
94941         (gl_REGEX): New macro.
94942
94943         Module rename.
94944         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
94945         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
94946
94947         Module rmdir.
94948         * m4/rmdir.m4: New file.
94949
94950         Module utime.
94951         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
94952         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
94953         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
94954
94955         Module dirname.
94956         * m4/dirname.m4: New file.
94957
94958         Module getopt.
94959         * m4/getopt.m4: New file.
94960
94961         Module unistd-safer.
94962         * m4/unistd-safer.m4: New file.
94963
94964         Module fnmatch.
94965         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
94966         declaration.
94967         (gl_PREREQ_FNMATCH_EXTRA): New macro.
94968         (gl_FUNC_FNMATCH_POSIX): New macro.
94969         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
94970         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
94971         simply fnmatch.
94972
94973         Module exclude.
94974         * m4/exclude.m4: New file.
94975
94976         Module human.
94977         * m4/human.m4: New file.
94978
94979         Module acl.
94980         * m4/acl.m4: Nop.
94981
94982         Module backupfile.
94983         * m4/backupfile.m4: New file.
94984         * m4/d-ino.m4: Indentation.
94985
94986         Module fsusage.
94987         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
94988         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
94989         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
94990
94991         Module dirfd.
94992         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
94993         requirements.
94994
94995         Module euidaccess.
94996         * m4/euidaccess.m4: New file.
94997
94998         Module file-type.
94999         * m4/file-type.m4: New file.
95000
95001         Module fileblocks.
95002         * m4/fileblocks.m4: New file.
95003
95004         Module filemode.
95005         * m4/filemode.m4: New file.
95006
95007         Module isdir.
95008         * m4/isdir.m4: New file.
95009
95010         Module lchown.
95011         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
95012         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
95013
95014         Module makepath.
95015         * m4/makepath.m4: New file.
95016
95017         Module modechange.
95018         * m4/modechange.m4: New file.
95019
95020         Module mountlist.
95021         * m4/mountlist.m4: New file.
95022         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
95023         Indentation.
95024
95025         Module path-concat.
95026         * m4/path-concat.m4: New file.
95027
95028         Module pathmax.
95029         * m4/pathmax.m4: New file.
95030
95031         Module same.
95032         * m4/same.m4: New file.
95033
95034         Module save-cwd.
95035         * m4/save-cwd.m4: New file.
95036
95037         Module savedir.
95038         * m4/savedir.m4: New file.
95039
95040         Module xgetcwd.
95041         * m4/xgetcwd.m4: New file.
95042         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
95043
95044         Module xreadlink.
95045         * m4/xreadlink.m4: New file.
95046
95047         Module safe-read.
95048         * m4/safe-read.m4: New file.
95049
95050         Module safe-write.
95051         * m4/safe-write.m4: New file.
95052
95053         Module closeout.
95054         * m4/closeout.m4: New file.
95055
95056         Module stdio-safer.
95057         * m4/stdio-safer.m4: New file.
95058
95059         Module getpass.
95060         * m4/getpass.m4: New file.
95061
95062         Module getugroups.
95063         * m4/getugroups.m4: New file.
95064
95065         Module group-member.
95066         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
95067         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
95068
95069         Module idcache.
95070         * m4/idcache.m4: New file.
95071
95072         Module userspec.
95073         * m4/userspec.m4: New file.
95074
95075         Module gettime.
95076         * m4/clock_time.m4: New file.
95077         * m4/gettime.m4: New file.
95078
95079         Module settime.
95080         * m4/settime.m4: New file.
95081
95082         Module posixtm.
95083         * m4/posixtm.m4: New file.
95084
95085         Module gethostname.
95086         * m4/gethostname.m4: New file.
95087
95088         Module canon-host.
95089         * m4/canon-host.m4: New file.
95090
95091         Module gettext.
95092         * m4/codeset.m4: New file, from gettext-0.11.5.
95093         * m4/gettext.m4: New file, from gettext-0.11.5.
95094         * m4/glibc21.m4: New file, from gettext-0.11.5.
95095         * m4/iconv.m4: New file, from gettext-0.11.5.
95096         * m4/intdiv0.m4: New file, from gettext-0.11.5.
95097         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
95098         * m4/inttypes.m4: New file, from gettext-0.11.5.
95099         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
95100         * m4/isc-posix.m4: New file, from gettext-0.11.5.
95101         * m4/lcmessage.m4: New file, from gettext-0.11.5.
95102         * m4/lib-ld.m4: New file, from gettext-0.11.5.
95103         * m4/lib-link.m4: New file, from gettext-0.11.5.
95104         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
95105         * m4/progtest.m4: New file, from gettext-0.11.5.
95106         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
95107         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
95108         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
95109
95110         Module localcharset.
95111         * m4/localcharset.m4: New file.
95112
95113         Module hard-locale.
95114         * m4/hard-locale.m4: New file.
95115
95116         Module mbswidth.
95117         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
95118         onceonly macros.
95119         * m4/mbrtowc.m4: Add comment.
95120
95121         Module memcasecmp.
95122         * m4/memcasecmp.m4: New file.
95123
95124         Module memcoll.
95125         * m4/memcoll.m4: New file.
95126
95127         Module unicodeio.
95128         * m4/unicodeio.m4: New file.
95129
95130         Module rpmatch.
95131         * m4/rpmatch.m4: New file.
95132
95133         Module yesno.
95134         * m4/yesno.m4: New file.
95135
95136         Module exitfail.
95137         * m4/exitfail.m4: New file.
95138
95139         Module c-stack.
95140         * m4/c-stack.m4 (gl_C_STACK): New macro.
95141         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
95142
95143         Module error.
95144         * m4/error.m4 (gl_ERROR): New macro.
95145         (jm_PREREQ_ERROR): Use onceonly macros.
95146
95147         Module fatal.
95148         * m4/fatal.m4: New file.
95149
95150         Module getloadavg.
95151         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
95152         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
95153
95154         Module getpagesize.
95155         * m4/getpagesize.m4: New file.
95156
95157         Module getusershell.
95158         * m4/getusershell.m4: New file.
95159
95160         Module physmem.
95161         * m4/physmem.m4: New file.
95162
95163         Module posixver.
95164         * m4/posixver.m4: New file.
95165
95166         Module quotearg.
95167         * m4/quotearg.m4: New file.
95168
95169         Module quote.
95170         * m4/quote.m4: New file.
95171
95172         Module readutmp.
95173         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
95174
95175         Module sig2str.
95176         * m4/sig2str.m4: New file.
95177
95178         Other.
95179         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
95180         ulonglong.m4.
95181         * m4/intmax_t.m4: New file.
95182         * m4/d-type.m4: Indentation.
95183         * m4/jm-macros.m4: Update.
95184         * m4/prereq.m4 (jm_PREREQ): Update.
95185         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
95186         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
95187         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
95188         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
95189         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
95190         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
95191         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
95192         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
95193         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
95194         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
95195         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
95196         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
95197         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
95198         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
95199         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
95200         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
95201         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
95202         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
95203         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
95204
95205 2002-12-24  Bruno Haible  <bruno@clisp.org>
95206
95207         * MODULES.txt: Update according to m4/ changes.
95208
95209         Module gettext.
95210         * config.rpath: New file, from gettext-0.11.5.
95211
95212         * modules/*: New module descriptions.
95213         * gnulib-tool: New file.
95214         * MODULES.html.sh: New file.
95215
95216 2002-12-21  Karl Berry  <karl@gnu.org>
95217
95218         * doc/fdl.texi: update to version 1.2.
95219
95220 2002-12-19  Karl Berry  <karl@gnu.org>
95221
95222         * config/config.guess: update from prep.
95223
95224 2002-12-18  Bruno Haible  <bruno@clisp.org>
95225
95226         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
95227         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
95228
95229 2002-12-17  Bruno Haible  <bruno@clisp.org>
95230
95231         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
95232         stdlib.h, string.h.
95233
95234 2002-12-17  Bruno Haible  <bruno@clisp.org>
95235
95236         * lib/canon-host.c (strdup): Remove unused declaration.
95237
95238         * lib/fsusage.c: Include full_read.h.
95239         (get_fs_usage): Use full_read instead of safe_read.
95240
95241         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
95242
95243 2002-12-12  Karl Berry  <karl@gnu.org>
95244
95245         * config/config.guess: update from prep.
95246
95247 2002-12-11  Bruno Haible  <bruno@clisp.org>
95248
95249         * m4/setenv.m4: New file, from gettext-0.11.5.
95250
95251 2002-12-11  Bruno Haible  <bruno@clisp.org>
95252
95253         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
95254         not unsetenv().
95255         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
95256         modifications:
95257
95258         2002-12-11  Bruno Haible  <bruno@clisp.org>
95259
95260                 * setenv.c (alloca): Fall back to malloc.
95261                 (freea): New macro.
95262                 (setenv): Use freea() to free memory allocated with alloca().
95263
95264         2002-11-13  Bruno Haible  <bruno@clisp.org>
95265
95266                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
95267                 function declarations.
95268                 * unsetenv.c (unsetenv): Likewise.
95269
95270         2002-03-04  Bruno Haible  <bruno@clisp.org>
95271
95272                 Portability to AIX 4.3.3.
95273                 * unsetenv.c: New file, extracted from setenv.c.
95274                 * setenv.c: Move the unsetenv() function to unsetenv.c.
95275
95276         2001-12-20  Bruno Haible  <bruno@clisp.org>
95277
95278                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
95279                 use malloc instead. For SunOS 4.
95280
95281         2001-12-11  Bruno Haible  <bruno@clisp.org>
95282
95283                 * setenv.c: Declare alloca.
95284                 (compar_fn_t): New typedef.
95285                 (KNOWN_VALUE, STORE_VALUE): Use it.
95286
95287         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
95288         setenv.h.
95289
95290 2002-12-10  Paul Eggert  <eggert@twinsun.com>
95291
95292         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
95293         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
95294         Choose values that are less likely to collide with system fnmatch
95295         options.
95296         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
95297         defined (e.g., a pure POSIX system).
95298         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
95299         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
95300
95301 2002-12-06  Paul Eggert  <eggert@twinsun.com>
95302
95303         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
95304         a pain in practice to deal with generated m4 files.  This change
95305         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
95306
95307         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
95308         and jm-glibc-io.m4, as they are no longer a special case.
95309         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
95310         kludge and the auto-generation stuff.  Check only whether the
95311         functions are declared, not whether they exist, since older hosts
95312         that don't declare the functions can't use the optimization anyway.
95313
95314 2002-12-06  Jim Meyering  <jim@meyering.net>
95315
95316         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
95317
95318         Merge in changes from libc's misc/error.c, in preparation
95319         for the merge of gnulib's changes back into libc.
95320
95321         * lib/error.c (_): Define only if not already defined.
95322         Move definition to follow all #include directives.
95323         Include unlocked-io.h only if !_LIBC.
95324         [_LIBC]: Include <libio/libioP.h>.
95325         [USE_IN_LIBIO]: Include <libio/iolibio.h>
95326         (fflush): Tweak definition to use INTUSE.
95327         (putc): Define.
95328
95329 2002-12-05  Paul Eggert  <eggert@twinsun.com>
95330
95331         * lib/alloca.c [defined emacs]: Include "lisp.h".
95332         (xalloc_die) [defined emacs]: New macro.
95333         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
95334         [! defined emacs]: Include <xalloc.h>.
95335         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
95336         (pointer): Typedef to POINTER_TYPE *.
95337         (malloc): Remove decl; we now always use xmalloc.
95338         (alloca): Use old-style definition, since Emacs needs this.
95339         Check for arithmetic overflow when computing combined size.
95340
95341 2002-12-04  Paul Eggert  <eggert@twinsun.com>
95342
95343         Do not generate unlocked-io.h automatically, since it's easier to
95344         maintain it by hand.
95345
95346         * lib/unlocked-io.h: New file, from GNU diffutils,
95347         but with proper copyright notice and attribution.
95348         * lib/gen-uio: Remove.
95349         * lib/Makefile.am: Add copyright notice.
95350         (libfetish_a_SOURCES): Add unlocked-io.h.
95351         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
95352         (DISTCLEANFILES, io_functions): Remove macros.
95353         (EXTRA_DIST): Remove gen_uio.
95354         (unlocked-io.h): Remove rule.
95355
95356 2002-12-04  Jim Meyering  <jim@meyering.net>
95357
95358         Reflect the fact that stat.c and lstat.c are no longer generated.
95359         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
95360         (DISTCLEANFILES): Likewise.
95361         (EXTRA_DIST): Likewise.
95362         (all_local): Don't depend on stat.c or lstat.c.
95363         (stat.c, lstat.c): Remove rules.
95364         (EXTRA_DIST): Remove xstat.in.
95365
95366         * lib/xstat.in: Remove file.  Contents moved into stat.c.
95367         * lib/stat.c: New file.  Contents mostly from xstat.in.
95368         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
95369         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
95370
95371         * lib/safe-read.c: Rework so that it may serve to define safe_write,
95372         too.
95373         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
95374
95375 2002-12-03  Jim Meyering  <jim@meyering.net>
95376
95377         * lib/safe-read.c, safe-write.c: Change variable names and comments,
95378         but not semantics, to minimize the differences between these two files.
95379         (safe_read): Change comment to mention SAFE_READ_ERROR.
95380
95381         * lib/safe-read.c (IS_EINTR): Define.
95382         (safe_read): Use IS_EINTR in place of in-function cpp directives.
95383
95384 2002-12-02  Jim Meyering  <jim@meyering.net>
95385
95386         * lib/safe-read.c (EINTR): Define.
95387         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
95388         (INT_MAX): Provide fallback.
95389         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
95390
95391         * lib/safe-read.h (SAFE_READ_ERROR): Define.
95392
95393 2002-12-02  Bruno Haible  <bruno@clisp.org>
95394
95395         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
95396         Define, taken from safe-read.c.
95397         (INT_MAX): Provide fallback.
95398         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
95399         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
95400
95401         * lib/safe-read.c (EINTR): Remove definition.
95402         (safe_read): Don't use EINTR if it is absent.
95403
95404 2002-12-01  Jim Meyering  <jim@meyering.net>
95405
95406         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
95407         zero.
95408         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
95409
95410 2002-11-27  Paul Eggert  <eggert@twinsun.com>
95411
95412         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
95413         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
95414         with `if (! (value < limit)) abort ();', for readability.
95415
95416 2002-11-26  Karl Berry  <karl@gnu.org>
95417
95418         * lib/strdup.c: copy from libc again, with jim's ok.
95419         * lib/.cppi-disable: re-add strdup.c
95420
95421 2002-11-25  Karl Berry  <karl@gnu.org>
95422
95423         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
95424         instead of "strtol.c".
95425
95426 2002-11-25  Karl Berry  <karl@gnu.org>
95427
95428         * config/install-sh: update from automake for variable quoting, $0 in
95429         error msgs, etc.
95430
95431         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
95432         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
95433         entry.
95434
95435 2002-11-25  Jim Meyering  <jim@meyering.net>
95436
95437         * lib/mktime.c: Sync from libc, now that it has the latest fix.
95438
95439 2002-11-24  Karl Berry  <karl@gnu.org>
95440
95441         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
95442         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
95443
95444 2002-11-24  Jim Meyering  <jim@meyering.net>
95445
95446         Update from coreutils:
95447
95448         * lib/mktime.c: Merge in changes from libc.
95449
95450         Avoid a link-time failure on some Linux systems.
95451         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
95452         (otherwise).
95453         (__mon_yday): Declare with the STATIC attribute.
95454         (__mktime_internal): Likewise.
95455         Based on a report from Greg Schafer.
95456
95457 2002-11-23  Jim Meyering  <jim@meyering.net>
95458
95459         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
95460         Use `unsigned', not `int', as type of index.
95461
95462         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
95463
95464         * lib/fsusage.c: Remove unneeded parentheses around operands of
95465         `defined'.
95466
95467 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95468
95469         * lib/quotearg.h: Allow multiple inclusion by surrounding with
95470         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
95471         so that we can be included first.
95472         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
95473         * lib/quotearg.c: Include quotearg.h immediately after config.h.
95474         No need to include stddef.h or sys/types.h any more.
95475         Surround local include files with "", not "<>".
95476         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
95477         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
95478         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
95479         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
95480         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
95481         (ISPRINT): Remove; no longer needed now that we assume C89.
95482
95483         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
95484         Preserve errno.
95485
95486         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
95487         quotearg_char): Use SIZE_MAX rather than
95488         (size_t) -1 when we are talking about "infinity".
95489
95490         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
95491
95492 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95493
95494         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
95495         hint that one should use `if (! x) abort ();' rather than `assert
95496         (x);', and anyway it's one less thing to worry about configuring.
95497         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
95498         hash_rehash, hash_insert): Use abort rather than assert.
95499
95500 2002-11-22  Bruno Haible  <bruno@clisp.org>
95501
95502         * lib/safe-read.h: Assume C89. Add comments.
95503         (safe_read): Change return type to size_t.
95504         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
95505         byte counts > SSIZE_MAX correctly.
95506         * lib/safe-write.h: New file.
95507         * lib/safe-write.c: New file.
95508         * lib/full-read.h: New file.
95509         * lib/full-read.c: New file.
95510         * lib/full-write.h: Assume C89. Add comments.
95511         * lib/full-write.c: Include safe-write.h.
95512         (full_write): Rewritten to use safe_write.
95513         Suggested by Jim Meyering and Paul Eggert.
95514
95515 2002-11-21  Jim Meyering  <jim@meyering.net>
95516
95517         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
95518
95519         Merge in changes from the coreutils.
95520
95521         2002-09-25  Paul Eggert  <eggert@twinsun.com>
95522         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
95523         <stdint.h>.
95524         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
95525         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
95526         int.  Work more efficiently if X is the same width as uintmax_t.
95527         Do not compare X to -1, to avoid bogus compiler warning.
95528         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
95529         Don't assume that f_frsize and f_bsize are the same type.
95530
95531         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
95532         warning on FreeBSD.
95533
95534         * lib/makepath.c (make_path): Restore umask *before* creating the final
95535         component.
95536         (make_path): Minor reformatting.
95537
95538         * lib/xmalloc.c: Adjust to work with new autoconf macros,
95539         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
95540         HAVE_MALLOC/HAVE_REALLOC.
95541
95542         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
95543         dummy ones.  At least on GNU/Linux systems, `auto' means something
95544         else.
95545         From Michael Stone.
95546
95547 2002-11-21  Bruno Haible  <bruno@clisp.org>
95548
95549         Remove case insensitive option matching.
95550         * lib/argmatch.h (argcasematch): Remove declaration.
95551         (ARGCASEMATCH): Remove macro.
95552         (__xargmatch_internal): Remove case_sensitive argument.
95553         (XARGMATCH): Update.
95554         (XARGCASEMATCH): Remove macro.
95555         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
95556         case_sensitive argument.
95557         (argcasematch): Remove function.
95558         (__xargmatch_internal): Remove case_sensitive argument.
95559         (main): Use XARGMATCH instead of XARGCASEMATCH.
95560
95561         * lib/xmalloc.c: Change compile-time error message. Add comment about
95562         required autoconf version.
95563
95564 2002-11-20  Paul Eggert  <eggert@twinsun.com>
95565
95566         Merge argmatch cleanups from Bison.  Assume C89.
95567
95568         * lib/argmatch.c: Include config.h here, not in argmatch.h.
95569         Include stdlib.h, for EXIT_FAILURE.
95570         Always include <string.h>, since we assume C89.
95571         (EXIT_FAILURE): Remove pre-C89 bug workaround.
95572         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
95573         Include <stddef.h> instead, since it's all we need for size_t.
95574         (PARAMS): Remove.  All uses removed.
95575         (ARRAY_CARDINALITY): Do not bother to #undef.
95576         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
95577         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95578         Remove unnecessary parentheses.
95579         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95580         Insert necessary parentheses.
95581         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
95582         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
95583
95584 2002-11-19  Bruno Haible  <bruno@clisp.org>
95585
95586         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
95587         * lib/mbswidth.h: Include <stddef.h>, for size_t.
95588
95589         * lib/mbswidth.h (PARAMS): Remove macro.
95590         (mbswidth, mbsnwidth): Use ANSI C function declarations.
95591         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
95592
95593         * lib/gcd.h (PARAMS): Remove macro.
95594         (gcd): Use ANSI C function declarations.
95595         * lib/gcd.c (gcd): Likewise.
95596
95597 2002-11-15  Bruno Haible  <bruno@clisp.org>
95598
95599         * lib/strcspn.c: Include <stddef.h>.
95600         (strcspn): Use ANSI C function declaration. Change return type to
95601         size_t. Use NULL.
95602         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
95603         (strpbrk): Use NULL.
95604         * lib/strpbrk.h (PARAMS): Remove macro.
95605         (strpbrk): Use ANSI C function declaration.
95606         * lib/strstr.c: Don't include <sys/types.h>.
95607         * lib/strstr.h (PARAMS): Remove macro.
95608         (strstr): Use ANSI C function declarations.
95609
95610 2002-11-14  Karl Berry  <karl@gnu.org>
95611
95612         * config/mkinstalldirs: `do' on separate line, instead of
95613         `for var; do'.
95614
95615 2002-11-06  Bruno Haible  <bruno@clisp.org>
95616
95617         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
95618         * lib/gcd.c (gcd): Likewise.
95619
95620 2002-11-05  Bruno Haible  <bruno@clisp.org>
95621
95622         * lib/gcd.h: New file, from gettext-0.11.5.
95623         * lib/gcd.c: New file, from gettext-0.11.5.
95624
95625 2002-11-05  Bruno Haible  <bruno@clisp.org>
95626
95627         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95628         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95629         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95630         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95631
95632         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
95633         <libintl.h>.
95634         * lib/makepath.c: Include gettext.h instead of <locale.h> and
95635         <libintl.h>.
95636
95637         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
95638         * lib/human.c: Include gettext.h instead of <libintl.h>.
95639         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
95640         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
95641         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
95642         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
95643         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
95644         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
95645         (textdomain): Remove definition.
95646         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
95647
95648         * lib/long-options.c: Remove include of <libintl.h> and definition of
95649         _.
95650         * lib/same.c: Remove include of <libintl.h> and definition of _.
95651
95652 2002-11-04  Owen Taylor  <otaylor@redhat.com>
95653
95654         * lib/config.charset: A few additions for Solaris.
95655
95656 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95657
95658         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
95659         * lib/localcharset.c (locale_charset): Declare as extern "C".
95660
95661 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95662
95663         * lib/config.charset: msdos in uk_UA uses CP1125.
95664
95665 2002-11-04  Bruno Haible  <bruno@clisp.org>
95666
95667         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
95668         * lib/strcase.h: New file, from GNU gettext-0.11.5.
95669         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
95670         * lib/strstr.h: New file, from GNU gettext-0.11.5.
95671         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
95672
95673 2002-11-04  Bruno Haible  <bruno@clisp.org>
95674
95675         * lib/localcharset.c (locale_charset): Don't return an empty string.
95676
95677 2002-11-04  Bruno Haible  <bruno@clisp.org>
95678
95679         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
95680         aliases.
95681
95682 2002-11-04  Bruno Haible  <bruno@clisp.org>
95683
95684         * lib/config.charset: Update for newest glibc. Add canonical names
95685         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
95686
95687 2002-11-04  Bruno Haible  <bruno@clisp.org>
95688
95689         * lib/config.charset: Add support for NetBSD.
95690
95691 2002-11-04  Bruno Haible  <bruno@clisp.org>
95692
95693         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
95694
95695 2002-11-01  Bruno Haible  <bruno@clisp.org>
95696
95697         * configure.in: Add AC_CONFIG_AUX_DIR call.
95698         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
95699         test/Makefile.
95700         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
95701
95702 2002-09-28  Karl Berry  <karl@gnu.org>
95703
95704         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
95705         installed automake until the next release, since changes have been
95706         made.
95707
95708 2002-09-25  Karl Berry  <karl@gnu.org>
95709
95710         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
95711         * lib/getopt*: copy from libc/posix.
95712         * lib/gettext.h: copy from gettext.
95713         * lib/.cppi-disable: add strdup.c, gettext.h.
95714
95715 2002-09-25  Karl Berry  <karl@gnu.org>
95716
95717         * config/srclist.txt: enable gettext.h check.
95718         * config/config.{guess,sub}: update from prep.
95719         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
95720                 from automake 1.6.3.
95721         See srclist*.
95722
95723 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
95724
95725         * regex.c (PATFETCH): Remove the translating fetch.
95726         (PATFETCH_RAW): Rename to PATFETCH.
95727         (set_image_of_range): New fun.
95728         (SET_RANGE_TABLE_WORK_AREA): Use it.
95729         (regex_compile): Don't translate the pattern chars so eagerly.
95730         Only do it when inserting an `exactn' bytecode or when handling
95731         a char-range.
95732         (mutually_exclusive_p): Avoid empty statement.
95733
95734 2002-07-06  Jim Meyering  <meyering@lucent.com>
95735
95736         * m4/README: Don't mention Makefile.am.in.
95737         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
95738
95739 2002-07-01  Jim Meyering  <meyering@lucent.com>
95740
95741         * lib/c-stack.c: Include sys/time.h.
95742         From Volker Borchert.
95743
95744 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95745
95746         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
95747
95748 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95749
95750         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
95751         New macro.  Use it uniformly instead of
95752         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
95753         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
95754         reported by Vin Shelton.
95755
95756 2002-06-22  Paul Eggert  <eggert@twinsun.com>
95757
95758         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
95759         Do not assume SA_SIGINFO behavior.
95760         Bug reported by Jim Meyering on NetBSD 1.5.2.
95761
95762 2002-06-22  Jim Meyering  <meyering@lucent.com>
95763
95764         * m4/c-stack.m4: New file, from diffutils-2.8.2.
95765         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
95766
95767         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
95768         now that configure.ac uses AC_GNU_SOURCE.
95769         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
95770         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
95771
95772         Update to latest tools.  Suggestions from Paul Eggert.
95773         * m4/stdbool.m4: New file, from diffutils-2.8.2.
95774         * m4/gnu-source.m4: Update from diffutils-2.8.2.
95775         * m4/fnmatch.m4: Likewise.
95776         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
95777         to AC_HEADER_STDBOOL
95778
95779 2002-06-22  Jim Meyering  <meyering@lucent.com>
95780
95781         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
95782         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
95783
95784 2002-06-22  Jim Meyering  <meyering@lucent.com>
95785
95786         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
95787
95788         * lib/exitfail.c, exitfail.h: Likewise.
95789         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
95790
95791         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
95792         of fnmatch.h.
95793         (EXTRA_DIST): Add fnmatch_loop.c.
95794         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
95795
95796         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
95797         * lib/fnmatch.c: Update from diffutils-2.8.2.
95798         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
95799         * lib/fnmatch.h: Remove file.
95800
95801 2002-06-21  Jim Meyering  <meyering@lucent.com>
95802
95803         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
95804         * m4/mbrtowc.m4: Likewise.
95805
95806         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
95807         * m4/mbswidth.m4: Reflect name change:
95808         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
95809         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
95810
95811         * m4/lib-link.m4: Update from gettext-0.11.2.
95812         * m4/gettext.m4: Likewise.
95813
95814         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
95815         From Alfred M. Szmidt.
95816
95817 2002-06-18  Paul Eggert  <eggert@twinsun.com>
95818
95819         * lib/file-type.h: Report an error if neither S_ISREG nor
95820         S_IFREG is defined, instead of using a test specific to glibc
95821         2.2.  This should be safe, since POSIX requires S_ISREG and
95822         Unix Version 7 had S_IFREG.  We don't need to check for
95823         <sys/types.h> since we don't use any symbols that it defines.
95824
95825 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
95826
95827         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
95828         $@-t, so that each temporary file name is unique and valid in the first
95829         8 characters, for operation under DOS.
95830
95831 2002-06-15  Paul Eggert  <eggert@twinsun.com>
95832
95833         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
95834
95835 2002-06-15  Jim Meyering  <meyering@lucent.com>
95836
95837         Work even with DJGPP 2.03, which lacks support for symlinks.
95838         From Richard Dawe.
95839         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
95840         is defined.
95841         * lib/lchown.c (S_ISLNK): Likewise.
95842
95843 2002-06-15  Jim Meyering  <meyering@lucent.com>
95844
95845         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
95846         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
95847         have been included before this file.
95848
95849 2002-06-14  Jim Meyering  <meyering@lucent.com>
95850
95851         * lib/file-type.h: Use the version from diffutils-2.8.2.
95852         * lib/file-type.c: Likewise.
95853
95854 2002-06-07  Jim Meyering  <meyering@lucent.com>
95855
95856         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
95857         They're needed at least for NetBSD 1.5.2.
95858         ($statxfs_includes): Include those same headers.
95859         ($statxfs_includes): Include sys/vfs.h if available.
95860         ($statxfs_includes): Likewise for sys/statvfs.h.
95861         Check for the following members in both structs statfs and statvfs:
95862         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
95863
95864 2002-06-01  Jim Meyering  <meyering@lucent.com>
95865
95866         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
95867         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
95868
95869 2002-05-28  Jim Meyering  <meyering@lucent.com>
95870
95871         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
95872         Reported by Volker Borchert.
95873
95874 2002-05-27  Jim Meyering  <meyering@lucent.com>
95875
95876         Fix a problem seen only on nonconforming systems whereby ls.c's
95877         use of localtime, and then of gettimeofday would cause trouble:
95878         the localtime call used to initialize rpl_gettimeofday's save
95879         mechanism would clobber ls's current local time information so
95880         that in any long listing the first file would always be listed
95881         with date 1970-01-01.  Analysis by Volker Borchert.
95882
95883         * lib/gettimeofday.c (localtime): Undefine.
95884         (rpl_localtime): New function.
95885
95886 2002-05-27  Jim Meyering  <meyering@lucent.com>
95887
95888         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
95889         localtime.
95890
95891         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
95892         use the replacement function; it wouldn't resolve at link time.
95893         Reported by Volker Borchert.
95894
95895 2002-05-22  Jim Meyering  <meyering@lucent.com>
95896
95897         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
95898         file-type.h.
95899         * lib/file-type.h: New file.
95900         * lib/file-type.c (file_type): New file/function.  Extracted from
95901         diffutils.
95902
95903 2002-04-30  Jim Meyering  <meyering@lucent.com>
95904
95905         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
95906
95907 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95908
95909         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
95910
95911 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95912
95913         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
95914         Do not check for alloca.h (no longer used) or stdbool.h (was never
95915         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
95916
95917 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95918
95919         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
95920
95921 2002-04-29  Jim Meyering  <meyering@lucent.com>
95922
95923         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
95924         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
95925         Use AC_FUNC_STRNLEN here instead.
95926
95927         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
95928         With autoconf-2.53a, it's part of AC_PROG_CC.
95929
95930 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95931
95932         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
95933         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
95934
95935 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95936
95937         * lib/sig2str.h, lib/sig2str.c: New files.
95938         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
95939
95940 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95941
95942         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
95943         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
95944         of 127, since 64 is the largest conceivable number for ancient
95945         nonstandard hosts.
95946         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
95947
95948 2002-04-28  Jim Meyering  <meyering@lucent.com>
95949
95950         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
95951
95952 2002-04-24  Jim Meyering  <meyering@lucent.com>
95953
95954         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
95955         (jm_PREREQ): Use it.
95956
95957         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
95958         mach/mach.h fcntl.h.
95959         Check for this function: setlocale.
95960
95961 2002-04-24  Jim Meyering  <meyering@lucent.com>
95962
95963         * lib/gettext.h: New file, from Gettext.
95964         * lib/Makefile.am (INCLUDES): Remove -I../intl.
95965         (libfetish_a_SOURCES): Add gettext.h.
95966
95967 2002-04-16  Jim Meyering  <meyering@lucent.com>
95968
95969         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
95970         ut_pid, ut_id, ut_exit.
95971
95972 2002-04-16  Jim Meyering  <meyering@lucent.com>
95973
95974         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
95975         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
95976         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
95977
95978 2002-04-12  Jim Meyering  <meyering@lucent.com>
95979
95980         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
95981         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
95982         existence of the getmntinfo function.  Needed for Darwin 5.3.
95983
95984         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
95985         This is necessary at least on Darwin 5.3.
95986
95987         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
95988         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
95989         strnlen.o in the library, and that makes some versions of ranlib
95990         object.
95991
95992 2002-04-12  Jim Meyering  <meyering@lucent.com>
95993
95994         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
95995
95996 2002-04-09  Jim Meyering  <meyering@lucent.com>
95997
95998         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
95999         to be more precise.  Rather than saying we're checking whether the
96000         function `works', say what we're testing.
96001         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
96002         Reported by Bruno Haible.
96003
96004 2002-03-10  Jim Meyering  <meyering@lucent.com>
96005
96006         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
96007         Suggestion from Santiago Vila.
96008
96009 2002-03-08  Jim Meyering  <meyering@lucent.com>
96010
96011         * lib/rename.c: Mention that this wrapper is needed also on
96012         mips-dec-ultrix4.4 systems.
96013
96014 2002-03-02  Jim Meyering  <meyering@lucent.com>
96015
96016         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
96017         not HAVE_CLOCK_SETTIME.
96018
96019 2002-02-27  Paul Eggert  <eggert@twinsun.com>
96020
96021         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
96022         Check for clock_settime.
96023
96024 2002-02-27  Paul Eggert  <eggert@twinsun.com>
96025
96026         * lib/nanosleep.h: Rename to....
96027         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
96028
96029         * lib/gettime.c: New file.
96030         * lib/settime.c: New file.
96031         * lib/stime.c: Remove.
96032
96033         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
96034         timespec.h.  Remove nanosleep.h.
96035
96036 2002-02-25  Paul Eggert  <eggert@twinsun.com>
96037
96038         * m4/acl.m4: New file.
96039         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
96040         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
96041
96042 2002-02-25  Paul Eggert  <eggert@twinsun.com>
96043
96044         * lib/acl.c, lib/acl.h: New files.
96045         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
96046
96047 2002-02-24  Jim Meyering  <meyering@lucent.com>
96048
96049         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
96050         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
96051         cause trouble.  Reported by Nelson Beebe.
96052
96053 2002-02-23  Paul Eggert  <eggert@twinsun.com>
96054
96055         * lib/path-concat.c (xpath_concat): Reorder code to pacify
96056         compilers that don't know that xalloc_die never returns.
96057
96058 2002-02-20  Jim Meyering  <meyering@lucent.com>
96059
96060         * lib/getdate.c: Regenerate using bison-1.33.
96061
96062 2002-02-17  Jim Meyering  <meyering@lucent.com>
96063
96064         * config/config.guess (main): Don't use `head -1'; it's no longer
96065         portable. Use `sed 1q' instead.
96066
96067 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
96068
96069         * m4/codeset.m4: Upgrade to gettext-0.11.
96070         * m4/gettext.m4: Upgrade to gettext-0.11.
96071         * m4/glibc21.m4: Upgrade to gettext-0.11.
96072         * m4/iconv.m4: Upgrade to gettext-0.11.
96073         * m4/isc-posix.m4: Upgrade to gettext-0.11.
96074         * m4/lcmessage.m4: Upgrade to gettext-0.11.
96075         * m4/lib-ld.m4: New file, from gettext-0.11.
96076         * m4/lib-link.m4: New file, from gettext-0.11.
96077         * m4/lib-prefix.m4: New file, from gettext-0.11.
96078         * m4/progtest.m4: Upgrade to gettext-0.11.
96079
96080 2002-02-15  Paul Eggert  <eggert@twinsun.com>
96081
96082         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
96083         (jm_PREREQ): Use it.
96084
96085 2002-02-15  Paul Eggert  <eggert@twinsun.com>
96086
96087         * lib/posixver.c, lib/posixver.h: New files.
96088         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
96089
96090 2002-02-02  Paul Eggert  <eggert@twinsun.com>
96091             Bruno Haible  <bruno@clisp.org>
96092
96093         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
96094         (fwrite_success_callback): New declaration.
96095         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
96096         print_unicode_char. Call failure callback instead of error.
96097         (fwrite_success_callback): New function.
96098         (exit_failure_callback): New function.
96099         (fallback_failure_callback): New function.
96100         (print_unicode_char): Call unicode_to_mb.
96101
96102 2002-01-26  Jim Meyering  <meyering@lucent.com>
96103
96104         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
96105         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
96106
96107 2002-01-26  Jim Meyering  <meyering@lucent.com>
96108
96109         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
96110
96111 2002-01-22  Paul Eggert  <eggert@twinsun.com>
96112
96113         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
96114
96115 2002-01-22  Jim Meyering  <meyering@lucent.com>
96116
96117         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
96118         Otherwise, some versions of automake would omit the rule that makes
96119         Makefile from Makefile.in.
96120
96121 2002-01-21  Paul Eggert  <eggert@twinsun.com>
96122
96123         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
96124         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
96125         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
96126         (memcoll): Set errno to zero if there is no error.
96127
96128         * lib/quotearg.c (quotearg_buffer_restyled):
96129         Fix bug with quoting buffers containing NUL when backslashing escapes.
96130         This bug was exposed by the other changes in this patch.
96131         (quotearg_n_options): New arg ARGSIZE.
96132         All callers changed.
96133         (quoting_options_from_style): New function.
96134         (quotearg_n_style): Use it.
96135         (quotearg_n_style_mem): New function.
96136
96137         * lib/quotearg.h (quotearg_n_style_mem): New function.
96138
96139 2002-01-19  Jim Meyering  <meyering@lucent.com>
96140
96141         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
96142         Remove useless quotes: DF_PROG="df".
96143         * m4/strnlen.m4: New file.
96144
96145 2002-01-16  Paul Eggert  <eggert@twinsun.com>
96146
96147         * lib/backupfile.c (ISDIGIT): Comment fix.
96148         * lib/getdate.y (ISDIGIT): Likewise.
96149         * lib/posixtm.c (ISDIGIT, year): Likewise.
96150         * lib/strverscmp.c (ISDIGIT): Likewise.
96151         * lib/userspec.c (ISDIGIT): Likewise.
96152
96153 2002-01-16  Jim Meyering  <meyering@lucent.com>
96154
96155         * lib/getdate.y: Add three semicolons, each just before a closing
96156         brace. Bison (as of version 1.31) no longer papers over that mistake.
96157
96158 2002-01-05  Jim Meyering  <meyering@lucent.com>
96159
96160         * lib/version-etc.c (version_etc_copyright): Update copyright year.
96161
96162 2001-12-19  Paul Eggert  <eggert@twinsun.com>
96163
96164         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
96165         not silently exit merely because the output buffer happens to
96166         have nothing pending.
96167
96168 2001-12-18  Paul Eggert  <eggert@twinsun.com>
96169
96170         See the big note in ../ChangeLog.
96171         * lib/human.c (suffixes): Prefer K to k for 1024.
96172         (generate_suffix_backwards): New function.
96173         (human_readable_inexact): Use it.
96174         * lib/xstrtol.c (__xstrtol): If there is no number but there
96175         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
96176         Accept 'K' as well as 'k'.
96177
96178 2001-12-15  Jim Meyering  <meyering@lucent.com>
96179
96180         * lib/regex.h (__restrict_arr): Update from libc.
96181
96182         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
96183         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
96184         (STREQ): Define.
96185
96186 2001-12-14  Jim Meyering  <meyering@lucent.com>
96187
96188         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
96189         Suggestion from Bruno Haible.
96190
96191 2001-12-10  Jim Meyering  <meyering@lucent.com>
96192
96193         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
96194         xrealloc, Instead, include "xalloc.h".
96195         (initbuffer): Don't cast xmalloc return value to char*.
96196         (readline): Reword comment.
96197         Don't cast xrealloc return value to char*
96198         Return NULL, not 0.
96199
96200 2001-12-09  Jim Meyering  <meyering@lucent.com>
96201
96202         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
96203         about `signed and unsigned type in conditional expression'.
96204         * lib/posixtm.c (posix_time_parse): Likewise.
96205
96206         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
96207
96208         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
96209         to avoid a pedantic warning.
96210
96211         * lib/getstr.c: Don't include assert.h.
96212         (getstr): Remove warning-evoking assertions.
96213         Return -1 if offset parameter is out of bounds.
96214         Change the type of a local from int to size_t.
96215
96216         * lib/strftime.c (my_strftime_localtime_r): Include this function
96217         definition in the `#if ! HAVE_TM_GMTOFF' block.
96218
96219         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
96220         Include xalloc.h instead.
96221
96222 2001-12-02  Jim Meyering  <meyering@lucent.com>
96223
96224         * lib/tempname.c: Don't declare getenv, thus reverting the change of
96225         2001-11-18.  It's no longer necessary, now that stdlib.h is always
96226         included.
96227
96228         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
96229         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
96230
96231 2001-11-30  Akim Demaille  <akim@epita.fr>
96232
96233         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
96234         before being defined.
96235
96236 2001-11-27  Paul Eggert  <eggert@twinsun.com>
96237
96238         * lib/quotearg.h (quotearg_n, quotearg_n_style):
96239         First arg is int, not unsigned.
96240         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
96241         (SIZE_MAX, UINT_MAX): New macros.
96242         (quotearg_n_options): Abort if N is negative.
96243         Avoid overflow check on hosts where size_t is 64 bits and int
96244         is 32 bits, as overflow is impossible there.
96245         Fix off-by-one typo that caused unnecessary reallocation.
96246
96247 2001-11-27  Jim Meyering  <meyering@lucent.com>
96248
96249         * lib/tempname.c: Merge with version from libc.
96250         * lib/regex.c: Likewise.
96251
96252         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
96253         systems for which STDC_HEADERS is 0, it was not included, resulting in
96254         a warning about an integer-to-pointer conversion problem with getenv.
96255         Reported by Volker Borchert.
96256
96257 2001-11-26  Jim Meyering  <meyering@lucent.com>
96258
96259         * lib/gtod.h: Remove file.
96260         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
96261         * lib/gettimeofday.c: Don't include gtod.h.
96262         (GTOD_init): Remove function.
96263         (rpl_gettimeofday): Do its job here instead, rather than aborting.
96264         Suggestion from Volker Borchert.
96265
96266 2001-11-23  Jim Meyering  <meyering@lucent.com>
96267
96268         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
96269         it.
96270         * lib/hash.c (struct hash_table): Define it here instead.
96271
96272 2001-11-22  Jim Meyering  <meyering@lucent.com>
96273
96274         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
96275
96276 2001-11-20  Jim Meyering  <meyering@lucent.com>
96277
96278         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
96279         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
96280
96281 2001-11-19  Jim Meyering  <meyering@lucent.com>
96282
96283         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
96284         directory.  Use "conftestXXXXXX" as the template.
96285         Suggestion from Paul Eggert.
96286
96287         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
96288         immediately, so the test doesn't mistakenly hit the max-open-files
96289         limit.
96290
96291 2001-11-18  Paul Eggert  <eggert@twinsun.com>
96292
96293         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
96294         (TEMPORARIES): New macro.
96295         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
96296         removes an artificial limitation (e.g. HP-UX 10.20, where
96297         TMP_MAX is 17576).
96298
96299 2001-11-18  Jim Meyering  <meyering@lucent.com>
96300
96301         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
96302
96303 2001-11-18  Jim Meyering  <meyering@lucent.com>
96304
96305         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
96306         on SunOS 4.
96307
96308         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
96309         files will be created before anything else.
96310
96311 2001-11-17  Paul Eggert  <eggert@twinsun.com>
96312
96313         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
96314         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
96315
96316 2001-11-17  Jim Meyering  <meyering@lucent.com>
96317
96318         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
96319         Prompted by a report from Bob Proulx.
96320
96321         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
96322         Instead, require UTILS_FUNC_MKSTEMP.
96323
96324 2001-11-17  Jim Meyering  <meyering@lucent.com>
96325
96326         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
96327         Now, that's done as part of AC_FUNC_STRTOD.
96328
96329 2001-11-17  Jim Meyering  <meyering@lucent.com>
96330
96331         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
96332         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
96333         rather than group writable.  Patch by Juan F. Codagnone.
96334
96335         * lib/readtokens.c: Remove explicit declarations of xmalloc and
96336         xrealloc, Instead, include "xalloc.h".
96337
96338         * lib/mountlist.c: Include unlocked-io.h after all system headers.
96339         Remove explicit declarations of xmalloc, xrealloc,
96340         and xstrdup.  Instead, include "xalloc.h".
96341
96342         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
96343         unlocked-io.h.
96344         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
96345         Likewise.
96346         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
96347
96348         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
96349         Reported by Padraig Brady.
96350
96351         * lib/mkstemp.c: #undef mkstemp.
96352         Include config.h.
96353         (rpl_mkstemp): Rename from mkstemp.
96354         Protoize.
96355
96356 2001-11-16  Jim Meyering  <meyering@lucent.com>
96357
96358         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
96359         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
96360         determine the amount of total physical memory, use pstat_getstatic.
96361         HPUX-11 doesn't define _SC_PHYS_PAGES.
96362         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
96363         If sysconf couldn't be used to determine the amount of available
96364         physical memory, use both pstat_getstatic and pstat_getdynamic.
96365         Based on a patch from Bob Proulx.
96366
96367 2001-11-10  Jim Meyering  <meyering@lucent.com>
96368
96369         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
96370         (jm_PREREQ): Use it.
96371
96372 2001-11-09  Jim Meyering  <meyering@lucent.com>
96373
96374         * m4/jm-macros.m4: Require autoconf-2.52f.
96375         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
96376         Use these AC_-prefixed names, not the AM_-prefixed ones.
96377
96378         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
96379
96380 2001-11-05  Jim Meyering  <meyering@lucent.com>
96381
96382         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
96383
96384 2001-11-04  Jim Meyering  <meyering@lucent.com>
96385
96386         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
96387         $DEFS.
96388
96389 2001-11-03  Jim Meyering  <meyering@lucent.com>
96390
96391         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
96392         of AC_DEFUN.
96393
96394         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
96395         know the name of the variable in the macro definition.
96396
96397 2001-11-03  Jim Meyering  <meyering@lucent.com>
96398
96399         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
96400         in argmatch_to_argument call.
96401
96402         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
96403         argument.
96404
96405         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
96406         e.g., a fault due to an attempt to free a NULL pointer.
96407
96408 2001-11-01  Jim Meyering  <meyering@lucent.com>
96409
96410         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
96411         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
96412
96413 2001-11-01  Jim Meyering  <meyering@lucent.com>
96414
96415         * lib/dirfd.c, lib/dirfd.h: New files.
96416         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
96417
96418         * lib/hash.c (hash_print) [TESTING]: Clean up.
96419
96420 2001-10-22  Paul Eggert  <eggert@twinsun.com>
96421
96422         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
96423         to avoid a warning if -Wall.
96424
96425 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
96426
96427         * README: New file
96428         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
96429         (per RMS's instructions, this is now the canonical source)
96430         * lgpl/, gpl/: New directories.
96431
96432 2001-10-21  Paul Eggert  <eggert@twinsun.com>
96433
96434         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
96435
96436 2001-10-21  Jim Meyering  <meyering@lucent.com>
96437
96438         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
96439         this code would end up calling gettext even in packages built
96440         with --disable-nls.
96441         * lib/getopt.c (_): Likewise.
96442         * lib/regex.c (_): Likewise.
96443
96444 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96445
96446         * m4/error.m4 (jm_PREREQ_ERROR):
96447         Do not invoke AC_CHECK_FUNCS with strerror_r, as
96448         AC_FUNC_STRERROR_R does that.
96449         Check for strerror declaration.
96450
96451         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
96452         are supposed to have them these days.
96453         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
96454         Merge changes from latest Autoconf CVS.
96455         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
96456         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
96457         POSIX decided to standardize on the int flavor of strerror_r.
96458
96459 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96460
96461         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
96462         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
96463         Use strerror_r that is only a macro, even if it is not a function.
96464         (strerror): Check for HAVE_DECL_STRERROR before declaring.
96465         (private_strerror): Use prototypes, not old-style function definition.
96466         (print_errno_message): New function.
96467         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
96468         char*-flavored one.
96469         (error_tail, error, error_at_line): Use it.
96470
96471 2001-10-11  Jim Meyering  <meyering@lucent.com>
96472
96473         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
96474         and quote_n (1, ... to avoid clobbering a buffer.
96475
96476 2001-10-05  Jim Meyering  <meyering@lucent.com>
96477
96478         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
96479         hash-pjw.h.
96480         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
96481         * lib/hash-pjw.h: New file.
96482
96483 2001-09-30  Jim Meyering  <meyering@lucent.com>
96484
96485         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
96486         `struct fsstat' has the `f_fstypename' member.
96487         Use that to define FS_TYPE, which is now used to make
96488         the getfsstat link test tighter.
96489
96490 2001-09-30  Jim Meyering  <meyering@lucent.com>
96491
96492         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
96493         Include <sys/ucred.h>, for Apple Darwin.
96494         Include sys/mount.h and sys/fs_types.h only if available.
96495         (FS_TYPE): Define.
96496         (read_filesystem_list): Use FS_TYPE.
96497
96498 2001-09-29  Paul Eggert  <eggert@twinsun.com>
96499
96500         * lib/exclude.c (excluded_filename): 0 -> false, since it's
96501         a boolean context.
96502
96503 2001-09-29  Jim Meyering  <meyering@lucent.com>
96504
96505         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96506         [one-argument getmntent function]): Include stdio.h before mntent.h.
96507         SunOS 4.1.x needs it for the declaration of `FILE'.
96508         Patch by Volker Borchert.
96509
96510         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96511         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
96512         sys/fs_types.h, and make the link-test for getfsstat guard #include
96513         directives with appropriate #if HAVE_*_H tests so that we can
96514         detect getfsstat on Apple Darwin1.3.7 systems.
96515         Reported by Nelson Beebe.
96516         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
96517
96518 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96519
96520         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96521         #defines strtoimax.  Also treat the other strto* functions
96522         like strtoimax.
96523
96524         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96525         Check for strtoul and strtoumax,
96526         as those declarations are made even in the signed case.
96527         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
96528         Likewise, for strtol and strtoimax.
96529
96530 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96531
96532         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96533         #defines strtoimax.  Also treat the other strto* functions
96534         like strtoimax.
96535
96536         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
96537         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
96538         (strtoimax, strtoumax): Do not declare if already defined as a macro.
96539
96540 2001-09-26  Jim Meyering  <meyering@lucent.com>
96541
96542         Most macros in unlocked-io.h had the wrong number of arguments.
96543         * lib/gen-uio: New script.
96544         (USE_UNLOCKED_IO): Define to 1 if not already defined.
96545         * lib/unlocked-io.hin: Remove file.
96546         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
96547         rather than trying to embed it here.
96548         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
96549         Reported by Padraig Brady.
96550
96551 2001-09-25  Volker Borchert  <bt@teknon.de>
96552
96553         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
96554         `result'.
96555
96556 2001-09-24  Jim Meyering  <meyering@lucent.com>
96557
96558         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
96559
96560 2001-09-23  Jim Meyering  <meyering@lucent.com>
96561
96562         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
96563         instead of the mere test for existence of mntent.h.  The latter
96564         would get a false-positive on AIX 3.4 systems.
96565         In the outer getmntent if-block, don't die if neither of the getmntent
96566         tests succeeds.  Instead, just fall through and continue with the
96567         remaining tests.
96568
96569 2001-09-23  Jim Meyering  <meyering@lucent.com>
96570
96571         * lib/mountlist.c: Remove useless parentheses in #if directives.
96572         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
96573         the deprecated MOUNTED symbol is no longer defined in mntent.h.
96574
96575 2001-09-22  Jim Meyering  <meyering@lucent.com>
96576
96577         * m4/gettext.m4: New file.  From gettext.
96578         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
96579         * m4/progtest.m4: Likewise
96580         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
96581         * m4/glibc21.m4: Likewise.
96582
96583         * m4/libintl.m4: Remove.  No longer used.
96584
96585 2001-09-22  Jim Meyering  <meyering@lucent.com>
96586
96587         * lib/localcharset.c: Update from latest gettext.
96588         * lib/config.charset: Likewise.
96589
96590 2001-09-20  Jim Meyering  <meyering@lucent.com>
96591
96592         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
96593         strtoimax.
96594         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
96595         strtoumax.
96596
96597 2001-09-20  Jim Meyering  <meyering@lucent.com>
96598
96599         * lib/xstrtol.c (strtoimax): Guard declaration with
96600         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
96601         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
96602         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
96603         (strtoumax): Likewise, for completeness (it wasn't necessary).
96604
96605 2001-09-17  Paul Eggert  <eggert@twinsun.com>
96606
96607         * lib/strtoimax.c (HAVE_LONG_LONG):
96608         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
96609         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
96610         to work around bug in IBM C compiler.
96611
96612 2001-09-17  Jim Meyering  <meyering@lucent.com>
96613
96614         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
96615         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
96616         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
96617         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
96618         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
96619         whenever the right hand side need not be expanded by the shell.
96620
96621 2001-09-16  Paul Eggert  <eggert@twinsun.com>
96622
96623         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
96624         library.  It's not correct, as some older glibcs are buggy.
96625         fnmatch wasn't fixed until glibc 2.2.
96626
96627         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
96628         special shell magic here.
96629
96630 2001-09-16  Jim Meyering  <meyering@lucent.com>
96631
96632         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
96633         * m4/jm-macros.m4: Require it.
96634
96635 2001-09-16  Jim Meyering  <meyering@lucent.com>
96636
96637         * lib/mkdir.c: New file.
96638
96639 2001-09-15  Jim Meyering  <meyering@lucent.com>
96640
96641         * m4/jm-macros.m4: Check for help2man.
96642
96643 2001-09-11  Jim Meyering  <meyering@lucent.com>
96644
96645         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
96646         The body, by Paul Eggert, was moved here from configure.in.
96647         * m4/jm-macros.m4: Require UTILS_HOST_OS.
96648
96649 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96650
96651         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
96652         (jm_PREREQ): Use it.
96653
96654 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96655
96656         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
96657         Use ssize_t, not int, to store result of readlink.
96658         Check for ssize_t overflow as well as size_t overflow,
96659         as POSIX says the result of readlink is implementation-defined
96660         when ssize_t overflows.
96661         Remove unnecessary cast to char*.
96662         Use free+malloc instead of realloc, as the storage doesn't need
96663         to be preserved and it's clearer and can be more efficient that way.
96664         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
96665         * lib/xreadlink.h (xreadlink): Update prototype.
96666
96667 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96668
96669         * lib/xgetcwd.c: Revert some of the previous change; intead,
96670         fix the HAVE_GETCWD_NULL code to behave more like the
96671         !HAVE_GETCWD_NULL code used to.
96672
96673         Include "xalloc.h".
96674         (xgetcwd): Do not return NULL when memory is exhausted; instead,
96675         invoke xalloc_die.
96676
96677 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96678
96679         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
96680         sys/param.h, as pathmax.h includes them.
96681
96682 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96683
96684         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
96685         (jm_PREREQ_XGETCWD): New macro.
96686
96687         * m4/getcwd.m4: New file.
96688
96689 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96690
96691         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
96692         like the HAVE_GETCWD_NULL code.
96693         Include pathmax.h if not HAVE_GETCWD.
96694         Do not include xalloc.h.
96695         (INITIAL_BUFFER_SIZE): New symbol.
96696         Do not use xmalloc / xrealloc, since the caller is responsible for
96697         handling errors.  Preserve errno around `free' during failure.
96698         Do not overrun buffer when using getwd.
96699
96700 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96701
96702         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
96703         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
96704         getcwd (NULL, 0).
96705
96706 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96707
96708         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
96709         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
96710         spotted by Jim Meyering.
96711
96712 2001-09-03  Jim Meyering  <meyering@lucent.com>
96713
96714         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
96715         failure.
96716
96717 2001-09-02  Jim Meyering  <meyering@lucent.com>
96718
96719         * lib/error.c: Update from GNU libc.
96720
96721 2001-09-01  Jim Meyering  <meyering@lucent.com>
96722
96723         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
96724         Used by df.
96725
96726 2001-09-01  Jim Meyering  <meyering@lucent.com>
96727
96728         * lib/xreadlink.c: New file.
96729         * lib/xreadlink.h: New file.
96730         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
96731         xreadlink.h.
96732
96733         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
96734         doesn't conflict with sparc Solaris 7's definition in
96735         /usr/include/sys/int_types.h.
96736
96737         * lib/exclude.c: Use `""', not `<>' to #include non-system header
96738         files.
96739         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
96740         and strncasecmp as r-values.  Unixware didn't have declarations.
96741
96742 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96743
96744         * lib/xstrtol.h: Add copyright notice.
96745         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
96746         LONGINT_INVALID_SUFFIX_CHAR.
96747
96748 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96749
96750         * lib/xstrtol.c (strtoimax): New decl.
96751
96752 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96753
96754         * lib/xgetcwd.c: Don't include pathmax.h.
96755         Include stdlib.h and unistd.h if available.
96756         Include xalloc.h.
96757         (xmalloc, xstrdup, free): Remove decls.
96758         (xgetcwd): Don't assume sizes fit in unsigned.
96759         Check for overflow when computing sizes.
96760         Simplify reallocation code.
96761
96762 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96763
96764         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
96765         a directory's st_size can have an arbitrary value, so the old
96766         usage could waste an arbitrary amount of memory.  All uses
96767         changed.
96768         * lib/savedir.h: Update prototype.
96769
96770 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96771
96772         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
96773
96774         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
96775         old strtoimax.c.
96776
96777         Also, make the following further changes to make this file's
96778         configuration more similar to that of strtol.c:
96779         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
96780         (strtoumax, uintmax_t, strtoull, strtol): Remove.
96781         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
96782         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
96783         changed to signed values.
96784
96785         And make the following changes as well:
96786         Fix copyright notice, as 1999 was missing.
96787         (verify): New macro.
96788         (strtoimax): Check sizes at compile-time, not run-time.
96789         Prefer strtol to strtoll if both work.
96790         (main): Remove; it was not that useful and was a pain to maintain.
96791
96792         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
96793
96794 2001-08-31  Jim Meyering  <meyering@lucent.com>
96795
96796         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
96797         Use an initial, malloc'd, buffer of length 128 rather than
96798         a statically allocated one of length 1024.
96799
96800 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96801
96802         Simplify code, partly by assuming autoconf 2.52 semantics.
96803
96804         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
96805
96806         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
96807         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
96808         All uses removed.
96809         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
96810         Move AC_REQUIRE to next-to-top level, to avoid confusion.
96811         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
96812         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
96813         jm_AC_HEADER_INTTYPES_H.
96814         * m4/jm-macros.m4 (jm_MACROS): Likewise.
96815
96816         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
96817
96818         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96819         Quote first arg of AC_DEFUN.
96820         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
96821         since they are needed to parse the include file even if we need
96822         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
96823         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
96824         but with opposite signedness.
96825
96826 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96827
96828         Merge 'exclude' changes from tar 1.13.22.
96829         This fixes one or two unlikely storage allocation overflow bugs,
96830         but doesn't change user-visible behavior otherwise.
96831
96832 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96833
96834         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
96835         (jm_PREREQ_EXCLUDE): New macro.
96836
96837 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96838
96839         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
96840         tm to be declared.
96841
96842 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96843
96844         * lib/hash.c: Remove '2001' from copyright notice.
96845
96846 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96847
96848         * lib/full-write.h: New file.
96849         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
96850         * lib/full-write.c: Correct credits, as cccp.c no longer
96851         exists and anyway it was so heavily changed from the old cccp
96852         code as to be unrecognizable.  Include full-write.h.
96853         (full_write): Return size_t, with short writes meaning failure.
96854         All callers changed.  This fixes a bug with large buffers
96855         on 64-bit hosts.
96856         * lib/utime.c: Include full-write.h.
96857
96858 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96859
96860         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
96861         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
96862         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
96863         Include if available.
96864         (<xalloc.h>): Include
96865         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
96866         (verify): New macro.  Use it to verify that EXCLUDE macros do not
96867         collide with FNM macros.
96868         (struct patopts): New struct.
96869         (struct exclude): Use it, as exclude patterns now come with options.
96870         (new_exclude): Support above changes.
96871         (new_exclude, add_exclude_file):
96872         Initial size must now be a power of two to simplify overflow checking.
96873         (free_exclude, fnmatch_no_wildcards): New function.
96874         (excluded_filename): No longer requires options arg, as the options
96875         are determined by add_exclude.  Now returns bool, not int.
96876         (excluded_filename, add_exclude):
96877         Add support for the fancy new exclusion options.
96878         (add_exclude, add_exclude_file): Now takes int options arg.
96879         Check for arithmetic overflow when computing sizes.
96880         (add_exclude_file): xrealloc might modify errno, so don't
96881         realloc until after errno might be used.
96882
96883         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
96884         New macros.
96885         (free_exclude): New decl.
96886         (add_exclude, add_exclude_file): Now takes int options arg.
96887         (excluded_filename): No longer requires options arg, as the options
96888         are determined by add_exclude.  Now returns bool, not int.
96889
96890 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96891
96892         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
96893
96894 2001-08-27  Jim Meyering  <meyering@lucent.com>
96895
96896         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
96897
96898         * lib/version-etc.c (N_): Remove definition.
96899         Revert most of last change.
96900         Instead, simply don't mark the `Copyright...' string for translation.
96901         Based on advice from Paul Eggert.
96902
96903         * lib/strtoxmax.c: Tweak comment.
96904
96905 2001-08-26  Jim Meyering  <meyering@lucent.com>
96906
96907         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
96908
96909         * m4/xstrtoimax.m4: New file.
96910         * m4/xstrtoumax.m4: Add comments explaining why we
96911         AC_REPLACE_FUNCS(strtol).
96912
96913 2001-08-26  Jim Meyering  <meyering@lucent.com>
96914
96915         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
96916         of copyright with `%s' so translators don't get an untranslated
96917         message in 2002.
96918         (COPYRIGHT_YEAR): Define.
96919         (version_etc): Use fprintf rather than fputs.
96920         Suggestion from Ulrich Drepper.
96921
96922         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
96923
96924         * lib/strtoll.c: New file, from GNU libc.
96925         * lib/xstrtoimax.c: New file.
96926
96927         * lib/xstrtol.h: Add xstrtoimax.
96928         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
96929         * lib/strtoimax.c: New file.  Likewise, but first define
96930         STRTOUXMAX_SIGNED.
96931
96932         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
96933         ...
96934         * lib/strtoxmax.c: ... then renamed to this.
96935
96936 2001-08-18  Paul Eggert  <eggert@twinsun.com>
96937
96938         * m4/inttypes.m4: Add AC_PREREQ(2.13).
96939         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
96940         (jm_AC_TYPE_INTMAX_T): New macro.
96941         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
96942
96943         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
96944
96945         * m4/longlong.m4: Renamed from ulonglong.m4.
96946         * m4/inttypes.m4: Renamed from inttypes_h.m4.
96947         * m4/uintmax_t.m4: Removed.
96948
96949 2001-08-13  Paul Eggert  <eggert@twinsun.com>
96950
96951         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
96952         Port to Solaris 8, where 'sed' requires a space after the 'r'
96953         command, and where sh dislikes "$/".  Clean up the spacing a bit.
96954         Redirect output to $tmp just once.
96955
96956 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
96957
96958         * lib/addext.c (<errno.h>): Include.
96959         (errno): Declare if not defined.
96960         (addext): Work correctly when pathconf returns -1 and leaves
96961         errno alone because there is no limit.  Also, work even if
96962         pathconf returns a value greater than SIZE_MAX.
96963
96964 2001-08-12  Jim Meyering  <meyering@lucent.com>
96965
96966         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
96967         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
96968         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
96969         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
96970         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
96971         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
96972         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
96973         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
96974         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
96975         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
96976         utime.m4, utimes.m4, xstrtoumax.m4:
96977         Quote the first argument in each use of AC_DEFUN.
96978
96979 2001-08-12  Jim Meyering  <meyering@lucent.com>
96980
96981         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
96982         Simply `return getcwd (NULL, 0);'.
96983         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
96984         Use 1300 as initial value for length, not PATH_MAX.
96985
96986         * lib/pathmax.h: Clean up cpp syntax.
96987
96988 2001-08-12  Jim Meyering  <meyering@lucent.com>
96989
96990         * lib/gettimeofday.c: New file.
96991         * lib/gtod.h: New file.
96992         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
96993
96994 2001-08-05  Jim Meyering  <meyering@lucent.com>
96995
96996         * m4/jm-macros.m4: Require autoconf-2.52.
96997
96998 2001-08-04  Jim Meyering  <meyering@lucent.com>
96999
97000         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
97001         stmt, to get in sync with glibc.
97002
97003 2001-08-03  Paul Eggert  <eggert@twinsun.com>
97004
97005         The following changes are from gettext 0.10.39 as maintained by
97006         Bruno Haible.
97007
97008         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
97009         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
97010         with inverted sense.  All uses changed.
97011
97012         * lib/mbswidth.c: Don't include <limits.h>.
97013         Include <stdlib.h> and <string.h> unconditionally.
97014         (iswcntrl, mbsinit, ISCNTRL): New macros.
97015         (mbsnwidth): Use K&R style function declarations.
97016         Don't bother checking for MB_LEN_MAX == 1, since the compiler
97017         can optimize it when MB_CUR_MAX == 1.
97018         The width of control characters is zero, not 1.
97019
97020 2001-08-03  Paul Eggert  <eggert@twinsun.com>
97021
97022         The following changes are from gettext 0.10.39 as maintained by
97023         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
97024
97025         * m4/codeset.m4: Upgrade to serial AM1.
97026         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
97027         all uses changed.  Quote first arg of AC_DEFUN.
97028         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
97029
97030         * m4/iconv.m4: Upgrade to serial AM2.
97031         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
97032         Add --with-libconv-prefix.
97033         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
97034         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
97035         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
97036         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
97037         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
97038
97039         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
97040         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
97041         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
97042         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
97043         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
97044         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
97045         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
97046         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
97047         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
97048
97049         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
97050         string.h any more.
97051
97052         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
97053         not the default value.
97054
97055         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
97056         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
97057         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
97058         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
97059         Also check for iswcntrl, used for wcwidth fallback.
97060         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
97061         to Autoconf 2.13.
97062
97063 2001-08-03  Jim Meyering  <meyering@lucent.com>
97064
97065         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
97066         as it was in the original.  Reported by Paul Eggert.
97067
97068 2001-07-16  Jim Meyering  <meyering@lucent.com>
97069
97070         * m4/gettimeofday.m4: New file.
97071         Prompted by a report from Bernhard Baehr.
97072
97073 2001-07-15  Jim Meyering  <meyering@lucent.com>
97074
97075         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
97076         stuff. Now it's in ../Makefile.cfg.
97077
97078 2001-07-15  Jim Meyering  <meyering@lucent.com>
97079
97080         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
97081         (BUILT_SOURCES): Add unlocked-io.h.
97082         (io_functions): Define.
97083         (unlocked-io.h): New rule.
97084         (DISTCLEANFILES): Add unlocked-io.h.
97085         (all-local): Depend on unlocked-io.h, to ensure it is created.
97086
97087         * lib/unlocked-io.hin: New file
97088
97089         * lib/regex.c: Update from glibc.
97090
97091 2001-07-05  Jim Meyering  <meyering@lucent.com>
97092
97093         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
97094         recommendation.
97095         (libfetish_a_SOURCES): Put all .h files here instead.
97096         Remove a thus-exposed (better checks in automake) duplicate and
97097         two unnecessary .h files.
97098
97099 2001-07-04  Jim Meyering  <meyering@lucent.com>
97100
97101         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
97102         that generates jm-glibc-io.m4 so that it doesn't trigger any make
97103         distcheck failure.
97104
97105 2001-07-02  Jim Meyering  <meyering@lucent.com>
97106
97107         The following changes were prompted by suggestions from Bruno Haible.
97108
97109         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
97110         is now generated.
97111         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
97112         definition of EXTRA_DIST.
97113         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
97114         ensure that the generated file is created/updated whenever the list
97115         of $(unlocked_functions) is changed.
97116         (jm-glibc-io.m4): New rule.
97117         (unlocked-io.h): New rule -- currently unused.
97118
97119 2001-06-24  Jim Meyering  <meyering@lucent.com>
97120
97121         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
97122         unmatched right bracket, rather than kludging it with an extra,
97123         falsely-matching quote in a comment.  Patch by Akim Demaille.
97124
97125 2001-06-11  Jim Meyering  <meyering@lucent.com>
97126
97127         * lib/regex.c: Update from GNU libc.
97128
97129 2001-05-27  Jim Meyering  <meyering@lucent.com>
97130
97131         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
97132         Check for ut_type in struct utmp.
97133
97134 2001-05-27  Jim Meyering  <meyering@lucent.com>
97135
97136         * lib/readutmp.h (UT_TYPE): Define.
97137
97138 2001-05-24  Jim Meyering  <meyering@lucent.com>
97139
97140         * lib/argmatch.c: Include "quote.h".
97141         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
97142         quote function.  Reported by Göran Uddeborg.
97143
97144 2001-05-22  Jim Meyering  <meyering@lucent.com>
97145
97146         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
97147         now that we use the package-supplied version unconditionally.
97148         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
97149
97150 2001-05-21  Jim Meyering  <meyering@lucent.com>
97151
97152         * m4/regex.m4: Change a couple backticks to single quotes to avoid
97153         shell syntax errors.
97154
97155 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
97156
97157         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
97158
97159 2001-05-20  Paul Eggert  <eggert@twinsun.com>
97160
97161         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
97162         Don't bother to check library strftime, since
97163         we'll be using our own my_strftime function anyway.
97164         Define my_strftime instead of strftime.
97165
97166 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
97167
97168         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
97169         which is not yet declared.
97170
97171 2001-05-15  Jim Meyering  <meyering@lucent.com>
97172
97173         * m4/regex.m4: Use proper quoting so brackets appear in the test
97174         program.
97175         Reported by, and with help from, Bruno Haible.
97176
97177 2001-05-13  Jim Meyering  <meyering@lucent.com>
97178
97179         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
97180         undefined.
97181
97182 2001-05-11  Paul Eggert  <eggert@twinsun.com>
97183
97184         dirname code cleanup.  base_name now behaves more compatibly
97185         with POSIX basename when given file names that have trailing
97186         slashes, and similarly for dir_name.  Add new primitives
97187         base_len and dir_len.  Put the directory-name-related decls
97188         into dirname.h.
97189
97190         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
97191         * lib/backupfile.c (base_name): Likewise.
97192         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
97193         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
97194         * lib/makepath.c (strip_trailing_slashes): Likewise.
97195         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
97196         ISSLASH): Likewise.
97197         * lib/rename.c (strip_trailing_slashes): Likewise.
97198         * lib/same.c (base_name): Likewise.
97199         * lib/stripslash.c (ISSLASH): Likewise.
97200
97201         * lib/addext.c: Include <dirname.h> after size_t is defined.
97202         * lib/backupfile.c: Likewise.
97203
97204         * lib/addext.c (addext): Use base_len to trim redundant
97205         trailing slashes instead of doing it ourselves.
97206         But do not trim the last slash if it is not redundant.
97207
97208         * lib/backupfile.c (find_backup_file_name,
97209         max_backup_version): Use base_len instead of rolling it ourselves.
97210         Handle the case of "" and (on DOS) "C:" correctly.
97211
97212         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
97213         needed. Include <string.h>, <dirname.h>.
97214         (base_name): Allow file names ending in slashes, other than names
97215         that are all slashes.  In this case, return the basename followed
97216         by the slashes.  This is more general, and can be used in places
97217         where the original base_name purposely had an assertion failure.
97218         (base_len): New function.
97219
97220         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
97221         Do not include <assert.h>; no longer needed.
97222         Include xalloc.h.
97223         (memrchr): Remove decl.
97224         (dir_name_r): Remove.
97225         (dir_len): Renamed from dirlen.  All callers changed.
97226         Rewrite in terms of base_name, for simplicity and consistency.
97227         (dir_name): Never return NULL.  All callers changed.
97228         Do not include <stdlib.h> in test program; no longer needed.
97229         return 0; is fine for test program.
97230
97231         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
97232         New macros.
97233         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
97234
97235         * lib/path-concat.c (path_concat): Use base_len to compute
97236         base length, not strlen; this means we cannot rely on memcpy
97237         to null-terminate.
97238
97239         * lib/same.c (STREQ): Remove.
97240         (same_name): Handle the case where the basename ends in trailing '/'.
97241
97242         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
97243         a slash was stripped.  Do not strip the last slash after a
97244         file system prefix.
97245
97246 2001-05-11  Paul Eggert  <eggert@twinsun.com>
97247
97248         * lib/Makefile.am (libfetish_a_SOURCES):
97249         Add strftime.c, since we now compile it on all hosts.
97250
97251         * lib/strftime.c (my_strftime):
97252         Define to nstrftime if emacs, but only if my_strftime is not defined.
97253         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
97254         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
97255         Add one more extra argument: a nanoseconds value.
97256         All uses changed.
97257         (ns): New macro.
97258         (my_strftime function): Add %N format.
97259         (emacs_strftimeu): Renamed from emacs_strftime,
97260         with extra ut argument.
97261
97262 2001-05-09  Paul Eggert  <eggert@twinsun.com>
97263
97264         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
97265
97266 2001-04-21  Jim Meyering  <meyering@lucent.com>
97267
97268         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
97269         doesn't interfere.
97270
97271 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
97272
97273         * m4/ftruncate.m4: Check for chsize.
97274         Link with ftruncate.o unconditionally if ftruncate is missing.
97275         This was required when cross-compiling to i586-mingw32msvc.
97276
97277 2001-04-08  Jim Meyering  <meyering@lucent.com>
97278
97279         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
97280         recomputed; that's necessary when the offset spans a DST transition.
97281         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
97282
97283 2001-04-02  Jim Meyering  <meyering@lucent.com>
97284
97285         * lib/regex.h, regex.c: Update from GNU libc.
97286
97287 2001-03-24  Jim Meyering  <meyering@lucent.com>
97288
97289         * m4/jm-macros.m4: Require autoconf-2.49d.
97290
97291 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
97292
97293         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
97294
97295 2001-03-19  Paul Eggert  <eggert@twinsun.com>
97296
97297         * lib/version-etc.c (version_etc_copyright): Update to 2001.
97298
97299 2001-03-17  Jim Meyering  <meyering@lucent.com>
97300
97301         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
97302         now that the version in autoconf is equivalent.
97303         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
97304
97305         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
97306         Suggestion from Akim Demaille.
97307
97308         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
97309         (jm_PREREQ_TEMPNAME): New function.
97310
97311 2001-03-16  Paul Eggert  <eggert@twinsun.com>
97312
97313         * lib/tempname.c (uint64_t): Define to uintmax_t if
97314         not defined, and if UINT64_MAX is not defined.
97315         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
97316         Reported by John David Anglin.
97317
97318 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
97319
97320         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
97321         resolve alias if codeset is empty.
97322         * lib/config.charset (BeOS): Use wildcard syntax.
97323
97324 2001-03-13  Jim Meyering  <meyering@lucent.com>
97325
97326         * lib/path-concat.c (path_concat)
97327         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
97328         concatenating e.g., `C:' and `foo'.
97329         From Bruno Haible.
97330
97331 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97332
97333         * lib/localcharset.c (locale_charset): Don't use
97334         setlocale(LC_CTYPE,NULL). Don't return NULL.
97335         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
97336
97337 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97338
97339         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
97340         support for DOS/DJGPP.
97341
97342 2001-03-01  Paul Eggert  <eggert@twinsun.com>
97343
97344         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
97345         lacks mkstemp.  Compile our own tempname.c if we compile our own
97346         mkstemp.c, as mkstemp relies on tempname.
97347
97348 2001-03-01  Jim Meyering  <meyering@lucent.com>
97349
97350         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
97351         AH_VERBATIM really does output its argument verbatim.
97352
97353 2001-02-28  Paul Eggert  <eggert@twinsun.com>
97354
97355         * lib/Makefile.am (libfetish_a_SOURCES):
97356         Add dup-safer.c, fopen-safer.c.
97357         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
97358
97359         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
97360         * lib/unistd-safer.h: New files.
97361
97362 2001-02-25  Paul Eggert  <eggert@twinsun.com>
97363
97364         The mkstemp replacement is taken from glibc 2.2.2, with some
97365         portability fixes for use outside glibc, as follows:
97366
97367         * lib/tempname.c (struct_stat64): New macro.
97368         (direxists, __gen_tempname): Use it.
97369         This avoids a portability problem with Solaris 8.
97370
97371         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
97372         (<stddef.h>, <stdint.h>, <string.h>):
97373         Include only if STDC_HEADERS || _LIBC.
97374         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
97375         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
97376         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
97377         (__set_errno): Define this macro if <errno.h> doesn't.
97378         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
97379         Define these macros if <stdio.h> doesn't.
97380         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
97381         Define these macros if <sys/stat.h>
97382         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
97383         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
97384         __xstat64): Define if not _LIBC.
97385         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
97386         (__gen_tempname): Invoke gettimeofday only if
97387         HAVE_GETTIMEOFDAY || _LIBC;
97388         otherwise, fall back on plain "time".
97389         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
97390
97391         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
97392
97393         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
97394
97395 2001-02-18  Paul Eggert  <eggert@twinsun.com>
97396
97397         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
97398
97399 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97400
97401         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
97402         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
97403         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
97404         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
97405
97406 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97407
97408         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
97409         Remove workaround macros for hosts that have mbrtowc but not
97410         mbstate_t, as we now insist on proper declarations for both
97411         before using mbrtowc.
97412
97413 2001-02-17  Jim Meyering  <meyering@lucent.com>
97414
97415         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
97416         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
97417         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
97418         UnixWare 7.1.1.
97419
97420         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
97421         rather than AC_CACHE_VAL.
97422
97423 2001-02-17  Jim Meyering  <meyering@lucent.com>
97424
97425         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
97426         around included file name.
97427
97428         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
97429
97430         * lib/strftime.c: Update from GNU libc (the only changes were to
97431         comments).
97432
97433 2001-02-17  Jim Meyering  <meyering@lucent.com>
97434
97435         * lib/regex.c: Update from libc.
97436
97437 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
97438
97439         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
97440         clash.
97441
97442 2001-02-16  Paul Eggert  <eggert@twinsun.com>
97443
97444         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
97445         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
97446         Reported by Mark Hounschell via Paul Eggert.
97447
97448 2001-02-07  Jim Meyering  <meyering@lucent.com>
97449
97450         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
97451
97452 2001-02-05  Jim Meyering  <meyering@lucent.com>
97453
97454         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
97455         it includes the patch required for `large file' support with at least
97456         HP-UX's 10.20 /bin/cc.
97457
97458 2001-02-03  Jim Meyering  <meyering@lucent.com>
97459
97460         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
97461         AS_IF, now that it works once again (mysteriously).
97462         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97463
97464 2001-01-30  Jim Meyering  <meyering@lucent.com>
97465
97466         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
97467         * m4/chown.m4: Rename conftestchown to conftest.chown.
97468         * m4/rename.m4: s/conftestdir/conftest.d1/ and
97469         s/conftestdir2/conftest.d2/.
97470         * m4/utimes.m4: s/conftestdata/conftest.data/
97471         Inspired by Pavel Roskin's change in autoconf.
97472
97473 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
97474
97475         * lib/config.charset: Update for FreeBSD 4.2.
97476
97477 2001-01-27  Jim Meyering  <meyering@lucent.com>
97478
97479         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
97480         a use of AS_IF.
97481         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97482
97483 2001-01-26  Jim Meyering  <meyering@lucent.com>
97484
97485         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
97486         quotearg.c includes it.
97487
97488 2001-01-26  Jim Meyering  <meyering@lucent.com>
97489
97490         * lib/quotearg.c: Include stddef.h.
97491         * lib/quote.c: Include stddef.h.
97492         Reported by Axel Kittenberger.
97493
97494         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
97495         line in double quotes so that it evokes a better diagnostic.
97496         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
97497         Reported by Axel Kittenberger.
97498
97499 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
97500
97501         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
97502         as if it was a `charset'.
97503
97504 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97505
97506         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
97507         has const.
97508
97509 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97510
97511         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
97512         to avoid a warning.  Add back 'const' to inptr.
97513
97514 2001-01-20  Jim Meyering  <meyering@lucent.com>
97515
97516         Be sure that headers are checked before used in code compiled
97517         for the type checks.
97518         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
97519         In place of that, invoke jm_CHECK_ALL_TYPES.
97520         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
97521         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
97522         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
97523         The check for ssize_t was mistakenly run before the test for unistd.h.
97524
97525         The configure-time check for stdbool.h was missing.
97526         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
97527         (jm_PREREQ_HASH): New function.
97528
97529 2001-01-17  Jim Meyering  <meyering@lucent.com>
97530
97531         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
97532         for autoconf-2.49c.
97533         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
97534
97535 2001-01-16  Jim Meyering  <meyering@lucent.com>
97536
97537         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
97538         From Bruno Haible.
97539
97540 2001-01-14  Jim Meyering  <meyering@lucent.com>
97541
97542         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
97543         foo and bar.  Create conftestdir/ in the script, not in the C code.
97544         Remove directories in the script, not in the C code.
97545         Remove conftestdir{,2} before trying to create the directory.
97546         Make the entire configure script fail if the mkdir fails.
97547
97548 2001-01-14  Jim Meyering  <meyering@lucent.com>
97549
97550         * lib/rename.c: New file.  From Volker Borchert.
97551         Include stdlib.h, string.h or strings.h, and xalloc.h.
97552         Use strip_trailing_slashes rather than open-coding it.
97553
97554 2001-01-03  Paul Eggert  <eggert@twinsun.com>
97555
97556         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
97557
97558 2001-01-03  Jim Meyering  <meyering@lucent.com>
97559
97560         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
97561         of local `inptr' to avoid warning with some system declarations of
97562         iconv.
97563
97564 2001-01-02  Volker Borchert  <bt@teknon.de>
97565
97566         * m4/rename.m4: New file.
97567         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
97568
97569 2001-01-01  Jim Meyering  <meyering@lucent.com>
97570
97571         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
97572         even on systems with utmpx.h.  It's necessary for the declaration of
97573         utmp's ut_user member.  Reported by Andreas Jaeger.
97574
97575         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
97576         available. They are required for the declarations of getgrgid and
97577         getpwuid resp.
97578         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
97579         Reported by Andreas Jaeger.
97580
97581 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
97582
97583         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
97584         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
97585         so `make install' also works in VPATH builds.
97586
97587 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
97588
97589         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
97590         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
97591         can be used in subdirectories.
97592
97593 2000-12-29  Paul Eggert  <eggert@twinsun.com>
97594
97595         * lib/modechange.c: Do not assume that mode_t uses the
97596         traditional octal encoding.  E.g. "chmod 1 FOO" should set
97597         the other-execute bit of FOO even if S_IXOTH != 1.
97598
97599         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
97600         WOTH, XOTH, ALLM): New macros.
97601         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
97602          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
97603         Use them.
97604         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
97605         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
97606         (mode_compile):
97607         No need to use uintmax_t; unsigned long is long enough.
97608         Don't bother to get suffix since we don't use it.
97609
97610 2000-12-26  Jim Meyering  <meyering@lucent.com>
97611
97612         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
97613         better with autoheader.
97614
97615 2000-12-24  Jim Meyering  <meyering@lucent.com>
97616
97617         * lib/hash.c (is_prime): Return explicit boolean values.
97618         (hash_get_first): Return NULL to appease Irix5.6's 89.
97619         Reported by Nelson Beebe.
97620
97621 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
97622
97623         * lib/localcharset.c (locale_charset): Add support for Win32.
97624
97625 2000-12-18  Paul Eggert  <eggert@twinsun.com>
97626
97627         * lib/physmem.h, lib/physmem.c: New files.
97628
97629         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
97630         (noinst_HEADERS): Add physmem.h.
97631
97632         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
97633         't' for compatibility with Solaris 8 sort.
97634
97635 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
97636
97637         * lib/config.charset: Add support for BeOS.
97638
97639 2000-12-17  Jim Meyering  <meyering@lucent.com>
97640
97641         * m4/dos.m4 (jm_AC_DOS): New file and macro.
97642         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
97643
97644 2000-12-16  Jim Meyering  <meyering@lucent.com>
97645
97646         This bug had a serious impact on chown: `chown N:M FILE' (for integer
97647         N and M) would have treated it like `chown N:N FILE'.
97648
97649         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
97650
97651 2000-12-16  Jim Meyering  <meyering@lucent.com>
97652
97653         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
97654         SHELLS_FILE to a file name that's useful on djgpp systems.
97655         Include stdlib.h.
97656         (ADDITIONAL_DEFAULT_SHELLS): Define.
97657         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
97658         Based mostly on a patch from Prashant TR.
97659
97660 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
97661
97662         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
97663         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
97664         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
97665
97666 2000-12-08  Andreas Schwab  <schwab@suse.de>
97667
97668         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
97669         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
97670
97671 2000-12-07  Jim Meyering  <meyering@lucent.com>
97672
97673         * lib/stripslash.c (ISSLASH): Define.
97674         (strip_trailing_slashes): Use ISSLASH rather than comparing against
97675         `/'.
97676         From Prashant TR.
97677
97678         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
97679         (dir_name_r): Declare this function as static.
97680         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
97681         manifest itself on a name containing a mix of slashes and
97682         backslashes.
97683         Make this function work with names starting with a DOS-style
97684         drive letter and colon prefix.
97685         (dir_name): Append `.' if necessary.
97686         Based mostly on patches from Prashant TR and Eli Zaretskii.
97687
97688         * lib/dirname.h (dir_name_r): Remove prototype.
97689
97690 2000-12-06  Paul Eggert  <eggert@twinsun.com>
97691
97692         * m4/off_t-format.m4: Remove this file.
97693         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
97694
97695 2000-12-06  Jim Meyering  <meyering@lucent.com>
97696
97697         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
97698         replacement strtoull, we may well need the replacement strtoul, too.
97699         Check for declarations of strtoul and strtoull.
97700         Check for strtol.  Mainly as a cue to cause automake to include
97701         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
97702         Check for limits.h -- strtol.c needs it.
97703
97704 2000-12-05  Jim Meyering  <meyering@lucent.com>
97705
97706         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
97707
97708 2000-12-04  Jim Meyering  <meyering@lucent.com>
97709
97710         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
97711         Also include memory.h, stdlib.h, unistd.h if appropriate.
97712         Reported by Andreas Jaeger (conflicting declaration of malloc).
97713
97714 2000-12-02  Jim Meyering  <meyering@lucent.com>
97715
97716         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
97717         * m4/jm-macros.m4 (jm_MACROS): require it.
97718
97719 2000-12-02  Jim Meyering  <meyering@lucent.com>
97720
97721         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
97722
97723 2000-12-01  Paul Eggert  <eggert@twinsun.com>
97724
97725         * lib/memrchr.c: Include <config.h> before any system include file.
97726
97727 2000-11-30  Jim Meyering  <meyering@lucent.com>
97728
97729         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
97730
97731 2000-11-30  Jim Meyering  <meyering@lucent.com>
97732
97733         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
97734
97735 2000-11-29  Paul Eggert  <eggert@twinsun.com>
97736
97737         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
97738
97739 2000-11-26  Jim Meyering  <meyering@lucent.com>
97740
97741         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
97742
97743 2000-11-22  Paul Eggert  <eggert@twinsun.com>
97744
97745         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
97746         size of (size_t) -1; it's not portable.
97747
97748 2000-11-17  Jim Meyering  <meyering@lucent.com>
97749
97750         * lib/strstr.c: Update from GNU libc.
97751
97752 2000-11-17  Akim Demaille  <akim@epita.fr>
97753
97754         * lib/obstack.h: Formatting changes.
97755         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
97756         prevent type checking.
97757         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
97758         cast the value to (void *): assigning a `foo *' to a `void *'
97759         variable is valid.
97760         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
97761
97762 2000-11-16  Jim Meyering  <meyering@lucent.com>
97763
97764         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
97765
97766 2000-11-11  Jim Meyering  <meyering@lucent.com>
97767
97768         * lib/error.c: Add a couple #includes, merging from GNU libc version.
97769
97770 2000-11-10  Jim Meyering  <meyering@lucent.com>
97771
97772         * lib/obstack.h: Update from GNU libc.
97773         * lib/obstack.c: Likewise.
97774
97775 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
97776
97777         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
97778
97779 2000-11-06  Paul Eggert  <eggert@twinsun.com>
97780
97781         * lib/getusershell.c (setusershell): Use rewind rather than
97782         fseek/fseeko, to avoid configuration hassles with fseeko.
97783         Don't bother opening SHELLS_FILE if shellstream is NULL;
97784         it's not necessary.
97785
97786 2000-11-05  Jim Meyering  <meyering@lucent.com>
97787
97788         * lib/makepath.h (make_dir): Declare.
97789         * lib/makepath.c (make_dir): Remove `static' attribute.
97790         Tweak a comment.
97791
97792 2000-11-04  Jim Meyering  <meyering@lucent.com>
97793
97794         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
97795
97796 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
97797
97798         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
97799         last one in a bucket, advance to the next bucket.
97800
97801 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
97802
97803         * lib/fnmatch.c: Do not comment out all the code if we are using
97804         the GNU C library, because in some cases we are replacing buggy
97805         code in the GNU C library itself.
97806
97807 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
97808
97809         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
97810         (regex_compile): Catch bogus \(\1\).
97811
97812 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97813
97814         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
97815         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
97816         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
97817
97818 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97819
97820         * lib/error.h, getline.h, modechange.h:
97821         Remove "2000" from Copyright line, as the file hasn't been
97822         changed this year other than in the copyright notice.
97823
97824         * lib/xalloc.h: Add "2000" to Copyright line, as this file
97825         was changed this year.
97826
97827 2000-10-29  Jim Meyering  <meyering@lucent.com>
97828
97829         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
97830         renaming.
97831         * m4/ls-mntd-fs.m4: Likewise
97832
97833 2000-10-29  Jim Meyering  <meyering@lucent.com>
97834
97835         * lib/xstat.in: Fix grammar in comment.
97836
97837 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
97838
97839         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
97840         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
97841         doesn't define __restrict_arr.
97842
97843 2000-10-28  Jim Meyering  <meyering@lucent.com>
97844
97845         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
97846         (jm_PREREQ_MEMCHR): New function.
97847
97848 2000-10-28  Jim Meyering  <meyering@lucent.com>
97849
97850         * lib/memchr.c: Update from libc.
97851         Adjust for portability:
97852         [HAVE_STDLIB_H]: Include stdlib.h.
97853         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
97854         Undef __memchr, too.
97855         [!weak_alias]: Define __memchr to memchr.
97856
97857         * lib/regex.c: Update from libc.
97858         * lib/regex.h: Likewise.
97859         * lib/getopt1.c: Likewise.
97860         * lib/memcmp.c: Likewise.
97861
97862         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
97863         Avoid using fseek, when possible -- it's broken by design.
97864         Patch by Ulrich Drepper.
97865
97866 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
97867
97868         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
97869         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
97870         Giving in to popular pressure to shut up the compiler with casts.
97871
97872 2000-10-26  Jim Meyering  <meyering@lucent.com>
97873
97874         * lib/strftime.c: Update from libc.
97875
97876 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
97877
97878         * regex.c: More `unsigned char' -> `re_char' changes.
97879         Also change several `int' into `re_wchar_t'.
97880         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
97881         (PUSH_FAILURE_POINTER): Don't cast any more.
97882         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
97883         We want GCC to complain, since this piece of code makes
97884         re_match non-reentrant, which *should* be fixed.
97885         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
97886         (EXTEND_BUFFER): Use RETALLOC.
97887         (SET_LIST_BIT): Don't cast.
97888         (re_wchar_t): New type.
97889         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
97890         that those two functions will always properly return.
97891         (IMMEDIATE_QUIT_CHECK): Cast to void.
97892         (analyse_first): Use recursion rather than an explicit stack.
97893         (re_compile_fastmap): Can't fail anymore.
97894         (re_search_2): Don't check re_compile_fastmap for failure.
97895         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
97896         Now also sets the new value (passed in a new argument).
97897         (re_match_2_internal): Use it.
97898         Also, use a new var `reg' of type size_t when looping through regs
97899         rather than reuse the inappropriate `mcnt'.
97900
97901 2000-10-25  Jim Meyering  <meyering@lucent.com>
97902
97903         * lib/obstack.c: Update from libc.
97904
97905 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
97906
97907         * regex.c (regex_compile): Change the way of handling a range from
97908         a char less than 256 to a char not less than 256.
97909
97910 2000-10-24  Andrew Innes  <andrewi@gnu.org>
97911
97912         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
97913         NT-Emacs only.
97914         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
97915         so that re_search functions only quit when callers expect them to.
97916
97917 2000-10-23  Jim Meyering  <meyering@lucent.com>
97918
97919         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
97920         wrong.  That set_locale call must not have any side effects.
97921         From Paul Eggert.
97922
97923 2000-10-22  Jim Meyering  <meyering@lucent.com>
97924
97925         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
97926         [CYCLIC]: Remove now-unused definition.
97927
97928         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
97929         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
97930         Suggestion from Ulrich Drepper.
97931
97932 2000-10-21  Jim Meyering  <meyering@lucent.com>
97933
97934         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
97935         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
97936         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
97937
97938 2000-10-21  Jim Meyering  <meyering@lucent.com>
97939
97940         * lib/dirname.c (memrchr): Declare if necessary.
97941         (dir_name): Remove the restriction that there be no
97942         trailing slashes.  Now, this code skips past them, effectively
97943         ignoring them.
97944         [TEST_DIRNAME] (main): New unit tests.
97945
97946         * lib/memrchr.c: New file from GNU libc.
97947         Undef __memrchr, too.
97948         [!weak_alias]: Define __memrchr to memrchr.
97949         Guard weak_alias use with `#ifdef weak_alias'.
97950
97951 2000-10-21  Jim Meyering  <meyering@lucent.com>
97952
97953         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
97954         (dir_name): Use dir_name_r.
97955         * lib/dirname.h (dir_name_r): Declare it.
97956
97957 2000-10-17  Jim Meyering  <meyering@lucent.com>
97958
97959         * lib/quote.h (PARAMS): Define and use.
97960         Reported by Akim Demaille.
97961
97962         * lib/getopt.c: Update from libc.
97963
97964 2000-10-16  Jim Meyering  <meyering@lucent.com>
97965
97966         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
97967         setlocale.
97968         From Jan Fedak.
97969
97970 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
97971
97972         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
97973
97974 2000-09-25  Jim Meyering  <meyering@lucent.com>
97975
97976         * lib/md5.h (rol): Define (from GnuPG).
97977
97978         * lib/sha.c: Give credit (GnuPG) where due.
97979         (M): Use rol rather than open-coding it.
97980         Add a FIXME comment.
97981
97982 2000-09-21  Jim Meyering  <meyering@lucent.com>
97983
97984         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
97985         Reported by Michael Stone.
97986
97987 2000-09-20  Jim Meyering  <meyering@lucent.com>
97988
97989         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
97990         (noinst_HEADERS): Add sha.h.
97991         Based on code from Scott G. Miller and from GnuPG.
97992
97993 2000-09-18  Jim Meyering  <meyering@lucent.com>
97994
97995         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
97996         LIBS. Otherwise, everyone ends up linking with -lelf for some
97997         configurations.
97998         Reported by Mike Stone.
97999
98000 2000-09-15  Jim Meyering  <meyering@lucent.com>
98001
98002         * lib/regex.c: Update from libc.
98003
98004 2000-09-10  Jim Meyering  <meyering@lucent.com>
98005
98006         * lib/getopt.c (_getopt_internal): Update from glibc.
98007
98008 2000-09-09  Jim Meyering  <meyering@lucent.com>
98009
98010         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
98011         think it should be used as a general replacement for isascii.
98012         * lib/fnmatch.c: Likewise.
98013         * lib/mbswidth.c: Likewise
98014         * lib/regex.c: Likewise.
98015
98016         Don't use atoi.
98017         * lib/userspec.c: Include sys/param.h and limits.h.
98018         Include xstrtol.h.
98019         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
98020         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
98021         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
98022         UID, GID.  Check range.
98023
98024 2000-09-06  Jim Meyering  <meyering@lucent.com>
98025
98026         * lib/getopt.c (_getopt_internal): Update from glibc.
98027
98028 2000-08-30  Jim Meyering  <meyering@lucent.com>
98029
98030         * lib/strftime.c: Merge in changes from GNU libc.
98031
98032 2000-08-26  Jim Meyering  <meyering@lucent.com>
98033
98034         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
98035         * m4/fpending.m4: New file.
98036
98037 2000-08-26  Jim Meyering  <meyering@lucent.com>
98038
98039         * lib/closeout.c: Include "__fpending.h".
98040         (close_stdout_status): Return right away if there's nothing to flush.
98041
98042         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
98043         * lib/__fpending.c: New file.
98044         * lib/__fpending.h: New file.
98045
98046 2000-08-20  Jim Meyering  <meyering@lucent.com>
98047
98048         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
98049         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
98050         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
98051
98052 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
98053
98054         Improve fileutils installation on systems where running
98055         programs (like install) can't be unlinked.
98056         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
98057         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
98058
98059 2000-08-07  Paul Eggert  <eggert@twinsun.com>
98060
98061         Standardize on "memory exhausted" instead of "Memory exhausted"
98062         or "virtual memory exhausted".
98063         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
98064         "virtual memory exhausted".
98065         * lib/same.c (same_name): Invoke xalloc_die instead of printing
98066         our own message.
98067         * lib/userspec.c (parse_user_spec): Likewise.
98068         * lib/bumpalloc.h: comment fix
98069         * lib/same.c, userspec.c: Include xalloc.h.
98070
98071         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
98072         not char *const and pointing to a constant array.
98073         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
98074         (xrealloc): Comment fix.
98075
98076         * lib/userspec.c (parse_user_spec):
98077         Don't translate a message until just before returning,
98078         to avoid unnecessary translation.
98079
98080 2000-08-07  Jim Meyering  <meyering@lucent.com>
98081
98082         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
98083         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
98084         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
98085         getgroups.c, gethostname.c, getopt.h, group-member.c,
98086         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
98087         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
98088         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
98089         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
98090         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
98091         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
98092         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
98093         yesno.c: Back out Copyright date changes for each file with no change
98094         this year.  This eases coordination with other programs using the same
98095         source code modules.  From Paul Eggert.
98096
98097 2000-08-06  Paul Eggert  <eggert@twinsun.com>
98098
98099         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
98100         not char, for compatibility with glibc 2.1.3 strftime.c.
98101
98102 2000-08-03  Greg McGary  <greg@mcgary.org>
98103
98104         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
98105         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
98106         (EXTEND_BUFFER): Use them.
98107
98108 2000-08-01  Jim Meyering  <meyering@lucent.com>
98109
98110         * lib/dirname.c (ISSLASH): Define.
98111         (BACKSLASH_IS_PATH_SEPARATOR): Define.
98112         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
98113         both `\' and `/' may be use as path separators.
98114         Based on a patch from Prashant TR.
98115
98116 2000-07-31  Paul Eggert  <eggert@twinsun.com>
98117
98118         * lib/quotearg.c (quotearg_n_options): Don't make the initial
98119         slot vector a constant, since it might get modified.
98120
98121 2000-07-31  Jim Meyering  <meyering@lucent.com>
98122
98123         * lib/xmalloc.c: Use `virtual memory exhausted', not
98124         `Memory exhausted'.
98125         * lib/obstack.c (print_and_abort): Likewise.
98126
98127 2000-07-30  Paul Eggert  <eggert@twinsun.com>
98128
98129         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
98130         buffer, so that the caller can always quote one small
98131         component of a "memory exhausted" message in slot 0.
98132         From a suggestion by Jim Meyering.
98133
98134 2000-07-30  Jim Meyering  <meyering@lucent.com>
98135
98136         * lib/makepath.c (make_path): Quote the other instance, too.
98137
98138         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
98139         (STATIC_BUF_SIZE): Define.
98140         (quotearg_n_options): Use only statically allocated storage when
98141         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
98142         than STATIC_BUF_SIZE.
98143
98144 2000-07-29  Jim Meyering  <meyering@lucent.com>
98145
98146         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
98147         * lib/dirname.c (dir_name): Likewise.
98148
98149         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
98150         `/'.
98151
98152         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
98153         (dir_name): Assert that there are no trailing slashes.
98154
98155 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
98156
98157         * lib/mbswidth.h (mbswidth): Add a flags argument.
98158         (mbswidth): New declaration.
98159         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
98160         * lib/mbswidth.c (mbswidth): Add a flags argument.
98161         (mbsnwidth): New function.
98162
98163 2000-07-24  Jim Meyering  <meyering@lucent.com>
98164
98165         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
98166
98167 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98168
98169         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
98170
98171 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98172
98173         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
98174         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
98175         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
98176         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
98177         invoke multibyte primitives.
98178
98179 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98180
98181         * lib/quotearg.c:
98182         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
98183         so that mbstate_t is always defined.
98184
98185         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
98186         be 1 in at least one GCC installation, and this configuration
98187         error is likely to be common.  Ignoring MB_LEN_MAX hurts
98188         performance on hosts that have mbrtowc but have only unibyte
98189         locales, but I assume these hosts are rare.
98190
98191 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98192
98193         * lib/mbswidth.c (_XOPEN_SOURCE):
98194         Don't define; this causes problems on Solaris 7.
98195         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
98196
98197 2000-07-23  Jim Meyering  <meyering@lucent.com>
98198
98199         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
98200         too: getgrgid, getpwuid, getuid.
98201
98202 2000-07-23  Jim Meyering  <meyering@lucent.com>
98203
98204         * lib/basename.c (base_name): Add an assertion.
98205
98206 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
98207
98208         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
98209         shadow its mbsinit function.
98210
98211 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
98212
98213         * lib/mbswidth.h: New file.
98214         * lib/mbswidth.c: New file.
98215         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
98216         (noinst_HEADERS): Add mbswidth.h.
98217
98218 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
98219
98220         * lib/config.charset: Add support for FreeBSD. Improve support for
98221         HP-UX and IRIX 6.
98222
98223 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
98224
98225         * m4/mbswidth.m4: New file.
98226         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
98227
98228 2000-07-15  Jim Meyering  <meyering@lucent.com>
98229
98230         * lib/makepath.c: Include quote.h.
98231         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
98232         corresponding argument in a `quote (...)' call.
98233         Give better diagnostics.
98234
98235         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
98236         (noinst_HEADERS): Add quote.h.
98237
98238         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
98239         from tar's src/misc.c.
98240         * lib/quote.h: New file.  Prototypes for same.
98241
98242 2000-07-14  Paul Eggert  <eggert@twinsun.com>
98243
98244         From a suggestion by Bruno Haible.
98245         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
98246         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
98247         to decide whether to define the BeOS workaround macro;
98248         this adjusts to the change to AC_MBSTATE_T.
98249
98250 2000-07-14  Jim Meyering  <meyering@lucent.com>
98251
98252         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
98253         jm_AC_TYPE_UINTMAX_T.
98254
98255 2000-07-13  Paul Eggert  <eggert@twinsun.com>
98256
98257         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
98258
98259         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
98260         quotearg_buffer_restyled): Add support for
98261         clocale_quoting_style.  Undo previous change to
98262         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
98263         and "{RIGHT QUOTATION MARK}" msgids.
98264
98265 2000-07-10  Paul Eggert  <eggert@twinsun.com>
98266
98267         From a suggestion by Bruno Haible.
98268         * m4/mbstate_t.m4 (AC_MBSTATE_T):
98269         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
98270         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
98271         and mbstate_t, to a single-part test that simply defines mbstate_t.
98272         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
98273         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
98274
98275 2000-07-10  Jim Meyering  <meyering@lucent.com>
98276
98277         * m4/strerror_r.m4: Mirror the correction made in autoconf.
98278
98279         * m4/gnu-source.m4: Output to confdefs.h directly.
98280         Suggestion from Akim Demaille.
98281
98282 2000-07-09  Paul Eggert  <eggert@twinsun.com>
98283
98284         The old behavior of quoting `like this' doesn't look good with
98285         newer, ISO-style fonts.  See:
98286         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
98287
98288         Instead, quote "like this" by default.  Let the translator
98289         tailor the locale-specific quoting behavior by providing
98290         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
98291
98292         * lib/quotearg.c (N_): New macro.
98293         (gettext_default): New function.
98294         (quotearg_buffer_restyled): Use
98295         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
98296         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
98297
98298 2000-07-09  Jim Meyering  <meyering@lucent.com>
98299
98300         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
98301         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
98302
98303         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
98304         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
98305
98306 2000-07-09  Jim Meyering  <meyering@lucent.com>
98307
98308         * lib/Most files: Update copyright dates to include 2000.
98309
98310 2000-07-08  Jim Meyering  <meyering@lucent.com>
98311
98312         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
98313         if not defined.
98314         (xgethostname): Remove now-unnecessary #ifdef.
98315         Move declaration of `err' into loop where it's used.
98316
98317 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98318         and Bruno Haible  <haible@clisp.cons.org>
98319
98320         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
98321         only if the test for an object-type mbstate_t fails.  This
98322         prevents us from mistakenly reporting that mbstate_t is a
98323         system object type after we "#define mbstate_t int" to work
98324         around its lack.
98325
98326 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98327         and Bruno Haible  <haible@clisp.cons.org>
98328
98329         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
98330
98331 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98332
98333         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
98334         to strerror_r.
98335         Include <ctype.h> for use of isalpha.
98336
98337 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98338
98339         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
98340         by allocating a larger buffer. Test the gethostname return value for
98341         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
98342         returns an error and ENAMETOOLONG isn't defined.
98343
98344 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98345
98346         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
98347         dimension.
98348
98349 2000-07-04  Jim Meyering  <meyering@lucent.com>
98350
98351         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
98352         of the deprecated AC_CHECKING.
98353
98354 2000-07-04  Jim Meyering  <meyering@lucent.com>
98355
98356         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
98357         Reported by Bruno Haible.
98358
98359 2000-07-04  Jim Meyering  <meyering@lucent.com>
98360
98361         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
98362         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
98363         lacks mbrtowc.
98364
98365 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98366
98367         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
98368         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
98369
98370 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98371         and Bruno Haible  <haible@clisp.cons.org>
98372
98373         * lib/quotearg.c (mbrtowc):
98374         Assign to *pwc, and return 1 only if result is nonzero.
98375         (iswprint): Use ISPRINT when substituting our own mbrtowc.
98376
98377 2000-07-03  Jim Meyering  <meyering@lucent.com>
98378
98379         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
98380
98381 2000-07-03  Jim Meyering  <meyering@lucent.com>
98382
98383         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
98384         This is necessary to get a definition of e.g., UTMP_FILE on
98385         HP-UX 10.20.
98386         From Bob Proulx.
98387
98388 2000-07-02  Jim Meyering  <meyering@lucent.com>
98389
98390         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
98391
98392         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
98393         AC_LIBOBJ(function_name).
98394         * m4/chown.m4: Likewise.
98395         * m4/fnmatch.m4: Likewise.
98396         * m4/ftruncate.m4: Likewise.
98397         * m4/getgroups.m4: Likewise.
98398         * m4/getline.m4: Likewise.
98399         * m4/group-member.m4: Likewise.
98400         * m4/jm-macros.m4: Likewise.
98401         * m4/lstat.m4: Likewise.
98402         * m4/malloc.m4: Likewise.
98403         * m4/memcmp.m4: Likewise.
98404         * m4/nanosleep.m4: Likewise.
98405         * m4/putenv.m4: Likewise.
98406         * m4/realloc.m4: Likewise.
98407         * m4/regex.m4: Likewise.
98408         * m4/stat.m4: Likewise.
98409         * m4/strftime.m4: Likewise.
98410
98411 2000-07-02  Jim Meyering  <meyering@lucent.com>
98412
98413         * lib/quotearg.c (mbstate_t): Don't define here.
98414
98415 2000-07-02  Jim Meyering  <meyering@lucent.com>
98416
98417         * lib/nanosleep.c (SIGCONT): Define if not already defined.
98418
98419 2000-07-01  Jim Meyering  <meyering@lucent.com>
98420
98421         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
98422
98423 2000-07-01  Jim Meyering  <meyering@lucent.com>
98424
98425         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
98426         problem.
98427
98428 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98429
98430         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
98431         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
98432
98433 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98434
98435         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
98436         per change in ../m4/ls-mntd-fs.m4.
98437         (read_filesystem_list): Ignore symbolic links.
98438
98439 2000-06-29  Jim Meyering  <meyering@lucent.com>
98440
98441         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
98442         for declaration of strcmp.
98443
98444         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
98445
98446         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
98447         Avoid warning by casting result to `char *' to remove `const'.
98448
98449 2000-06-28  Jim Meyering  <meyering@lucent.com>
98450
98451         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
98452         included by quotearg.c, for which we perform this test.  From
98453         Bruno Haible.
98454
98455 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98456
98457         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
98458         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
98459         <utmpx.h> exists, put readutmp.o into LIBOBJS.
98460
98461 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98462
98463         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
98464
98465 2000-06-26  Paul Eggert  <eggert@twinsun.com>
98466
98467         savedir now sets errno on failure and invokes xmalloc to get memory.
98468         Fix a couple of other minor bugs while we're at it.
98469
98470         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
98471         (NAMLEN): Remove macro.
98472         (malloc, realloc): Remove decls.
98473         (stpcpy): Likewise.
98474         ("xalloc.h"): Include.
98475         (NAME_SIZE_DEFAULT): New macro.
98476         (savedir): Use xmalloc / xrealloc to allocate memory.
98477         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
98478         Skip "" directory entries.
98479         Use strlen to calculate directory entry length, since the old method
98480         is rarely used these days and isn't worth supporting.
98481         Don't use a pointer after freeing it.
98482         Check for integer overflow when calculating allocation size.
98483         Use memcpy to copy entries, instead of stpcpy.
98484         Set errno properly when returning NULL.
98485         Check for readdir error.
98486
98487 2000-06-26  Jim Meyering  <meyering@lucent.com>
98488
98489         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
98490
98491 2000-06-25  Jim Meyering  <meyering@lucent.com>
98492
98493         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
98494         Linux header bug when _XOPEN_SOURCE is defined to 500.
98495
98496 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98497
98498         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
98499         deficiency.
98500
98501 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98502
98503         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
98504         Include xalloc.h.
98505         Don't include <stdlib.h>.  Don't declare malloc, realloc.
98506
98507 2000-06-24  Jim Meyering  <meyering@lucent.com>
98508
98509         * m4/strerror_r.m4: Revive this file -- to try out an experimental
98510         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
98511         for which strerror does return char*, but which lacks a conveniently
98512         accessible declaration of the function.  If the compile-test says
98513         strerror_r doesn't work, then resort to a `run'-test that works on
98514         BeOS and segfaults on DEC Unix.
98515
98516 2000-06-24  Jim Meyering  <meyering@lucent.com>
98517
98518         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
98519
98520 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98521
98522         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
98523         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
98524
98525 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98526
98527         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
98528         (mbrtowc, mbstate_t): Define substitutes if
98529         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
98530         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
98531         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
98532
98533 2000-06-23  Jim Meyering  <meyering@lucent.com>
98534
98535         * m4/afs.m4: Add missing AC_MSG_RESULT.
98536         Reported by Bruno Haible.
98537
98538         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
98539         Suggestion from Bruno Haible.
98540
98541 2000-06-23  Jim Meyering  <meyering@lucent.com>
98542
98543         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
98544
98545 2000-06-21  Jim Meyering  <meyering@lucent.com>
98546
98547         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
98548
98549 2000-06-21  Jim Meyering  <meyering@lucent.com>
98550
98551         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
98552         (noinst_HEADERS): Add getstr.h.
98553
98554         * lib/getline.c (getstr): Move into a separate file.
98555         * lib/getstr.c (getstr): New file, extracted from getline.c, with
98556         the following changes: new parameter, delim2; both delim[12]
98557         parameters have type `int', not `char'.  The latter would lose
98558         with 8-bit delimiters.
98559         * lib/getstr.h: New file.
98560
98561 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98562
98563         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
98564         than 1024, return a memory chunk of least possible size, instead
98565         of size PATH_MAX + 2. In the loop, increment the size proportionally.
98566         Use free/xmalloc instead of xrealloc to avoid copying for very long
98567         paths.
98568
98569 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98570
98571         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
98572         the empty string.
98573
98574 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98575
98576         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
98577         address, not strdup.  Include <stdlib.h> and don't declare free().
98578
98579 2000-06-19  Jim Meyering  <meyering@lucent.com>
98580
98581         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
98582
98583 2000-06-18  Jim Meyering  <meyering@lucent.com>
98584
98585         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
98586
98587         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
98588         `checking whether...' message to be consistent with that of the
98589         lstat test.
98590
98591 2000-06-18  Jim Meyering  <meyering@lucent.com>
98592
98593         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
98594         Besides, these days every porting target provides a mkdir function.
98595
98596         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
98597         needed. (this snippet comes from src/system.h).
98598
98599 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
98600
98601         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
98602
98603 2000-06-15  Paul Eggert  <eggert@twinsun.com>
98604
98605         * lib/human.c (adjust_value): New function.
98606         (human_readable_inexact): Apply rounding style even when
98607         printing approximate values.
98608
98609 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98610
98611         * lib/human.c (human_readable_inexact): Allow an input block
98612         size that is not a multiple of the output block size, and vice versa.
98613         Reported by Piergiorgio Sartor.
98614
98615 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98616
98617         * lib/getdate.y (get_date): Apply relative times after time
98618         zone indicator, not before.  Reported by Todd A. Jacobs.
98619
98620 2000-06-13  Jim Meyering  <meyering@lucent.com>
98621
98622         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
98623
98624         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
98625
98626 2000-06-12  Paul Eggert  <eggert@twinsun.com>
98627
98628         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
98629
98630 2000-06-12  Jim Meyering  <meyering@lucent.com>
98631
98632         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
98633         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
98634         optional argument.
98635         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
98636         the optional argument, `lib'.
98637
98638 2000-06-08  Jim Meyering  <meyering@lucent.com>
98639
98640         * m4/largefile.m4: Remove file (now that it's part of autoconf).
98641
98642 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98643
98644         Rewrite largefile configuration so that we don't need to run
98645         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
98646         AC_CANONICAL_HOST in configure.in -- jmm]
98647
98648         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
98649         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
98650         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
98651         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
98652         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
98653         All uses changed.
98654         Instead of inspecting the output of getconf, try to compile the
98655         test program without and with the macro definition.
98656         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
98657         for getconf.  Instead, check for the needed flags by compiling
98658         test programs.
98659
98660 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98661
98662         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
98663
98664 2000-06-04  Jim Meyering  <meyering@lucent.com>
98665
98666         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
98667         SunOS 4.1.4 for which gid_t is an unsigned type.
98668
98669 2000-06-03  Jim Meyering  <meyering@lucent.com>
98670
98671         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
98672         now that autoconf requires that.
98673
98674         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
98675         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
98676         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
98677
98678 2000-06-03  Jim Meyering  <meyering@lucent.com>
98679
98680         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
98681
98682 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98683
98684         * m4/glibc21.m4: New file.
98685         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
98686
98687 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98688
98689         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
98690         newer, don't install charset.alias.
98691         * lib/config.charset: Change the Linux/glibc rules so they become empty
98692         on glibc-2.1 or newer.
98693
98694 2000-06-02  Jim Meyering  <meyering@lucent.com>
98695
98696         * lib/mountlist.c: Back out last change.  Instead, do this...
98697         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
98698         me_dummy member using the same `ignore'-testing code.
98699         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
98700         fs_type strings.
98701         From Mark D. Roth.
98702
98703 2000-05-29  Jim Meyering  <meyering@lucent.com>
98704
98705         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
98706         mounts with the `ignore' attribute.  Based on a patch from
98707         Mark D. Roth.
98708
98709 2000-05-28  Jim Meyering  <meyering@lucent.com>
98710
98711         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
98712         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98713         * m4/stat.m4: Likewise.
98714         * m4/lstat.m4: Likewise.
98715         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
98716
98717         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
98718         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
98719
98720 2000-05-26  Jim Meyering  <meyering@lucent.com>
98721
98722         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
98723
98724 2000-05-24  Jim Meyering  <meyering@lucent.com>
98725
98726         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
98727         autoconf requires that.
98728         * m4/lib-check.m4: Likewise.
98729         * m4/jm-macros.m4: Likewise.
98730         * m4/strftime.m4: Likewise.
98731
98732         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
98733         AC_CHECK_DECLS, now that autoconf requires that.
98734
98735 2000-05-22  Jim Meyering  <meyering@lucent.com>
98736
98737         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98738         * m4/lstat.m4: Likewise.
98739
98740 2000-05-22  Jim Meyering  <meyering@lucent.com>
98741
98742         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
98743
98744 2000-05-20  Jim Meyering  <meyering@lucent.com>
98745
98746         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
98747         (jm_PREREQ): Use it.
98748
98749 2000-05-18  Jim Meyering  <meyering@lucent.com>
98750
98751         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
98752         back, too, since it may have been modified by allocate_entry.
98753         (hash_delete): Rewrite to use neither the assignment operator
98754         nor the comma operator in an if-expression.
98755
98756 2000-05-15  Paul Eggert  <eggert@twinsun.com>
98757
98758         * lib/closeout.c:
98759         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
98760         Remove; no longer needed.
98761         "quotearg.h": Add include.
98762         (file_name): Do not bother to explicitly initialize to NULL; it's less
98763         efficient on some hosts.
98764         (close_stdout_status): Remove test as to whether stdout was already
98765         closed; it breaks for the case "echo x | sort >&-".
98766         Quote file name colons.
98767         Do not assume that _("write error") lacks format strings.
98768
98769 2000-05-15  Jim Meyering  <meyering@lucent.com>
98770
98771         * lib/version-etc.c (version_etc_copyright): Update the copyright
98772         string used in all --version output.
98773
98774 2000-05-14  Jim Meyering  <meyering@lucent.com>
98775
98776         * lib/closeout.c (close_stdout_set_file_name): New function.
98777         (close_stdout_status): Use new file-scoped global.
98778         Return right away if fstat says the stdout file descriptor is invalid.
98779         * lib/closeout.h (close_stdout_set_file_name): Declare.
98780
98781 2000-05-10  Jim Meyering  <meyering@lucent.com>
98782
98783         * lib/closeout.c [default_exit_status]: New file-scoped variable.
98784         (close_stdout_set_status): New function.
98785         * lib/closeout.h (close_stdout_set_status): Declare.
98786
98787 2000-05-09  Jim Meyering  <meyering@lucent.com>
98788
98789         * m4/gettext.m4: Rename this...
98790         * m4/libintl.m4: ...to this.
98791
98792 2000-05-08  Jim Meyering  <meyering@lucent.com>
98793
98794         * lib/long-options.c: Don't include closeout.h.
98795         (parse_long_options): Don't call close_stdout for --version.
98796
98797 2000-05-06  Paul Eggert  <eggert@twinsun.com>
98798
98799         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
98800         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
98801         2.1.3 bug.  This avoids a clash when files like regex.c define
98802         _GNU_SOURCE.
98803
98804 2000-05-06  Jim Meyering  <meyering@lucent.com>
98805
98806         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
98807         (AC_REPLACE_FUNCS): Add strnlen.
98808
98809         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
98810         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
98811
98812         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
98813         AC_SEARCH_LIBS call for nanosleep.
98814         (LIB_NANOSLEEP): Set and AC_SUBST.
98815
98816 2000-05-06  Jim Meyering  <meyering@lucent.com>
98817
98818         * lib/strnlen.c: Undefine __strnlen and strnlen.
98819         [!weak_alias]: Define __strnlen to strnlen.
98820
98821         * lib/atexit.c: New file, from libiberty.
98822
98823 2000-05-06  Jim Meyering  <meyering@lucent.com>
98824
98825         * lib/closeout.c (close_stdout_status): Also check for errors on the
98826         stderr stream.
98827
98828 2000-05-05  Jim Meyering  <meyering@lucent.com>
98829
98830         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
98831         AC_SEARCH_LIBS call for clock_gettime.
98832         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
98833
98834         * m4/search-libs.m4: Update from autoconf.
98835
98836         su doesn't work on Solaris 2.6.
98837         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
98838         <shadow.h>.  Reported by Dragos Harabor.
98839
98840 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
98841
98842         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
98843         memcpy instead of xmalloc, xrealloc, path_concat.
98844         (locale_charset): Treat empty environment variables as absent.
98845         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
98846
98847 2000-05-04  Jim Meyering  <meyering@lucent.com>
98848
98849         * lib/getopt.c: Update from glibc.
98850         * lib/obstack.c: Likewise.
98851         * lib/obstack.h: Likewise.
98852         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
98853         file
98854
98855         * lib/regex.h: Likewise.
98856         * lib/strndup.c: Likewise.
98857         * lib/strnlen.c: New file, from glibc.
98858
98859 2000-05-03  Jim Meyering  <meyering@lucent.com>
98860
98861         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
98862
98863 2000-05-02  Paul Eggert  <eggert@twinsun.com>
98864
98865         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
98866         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
98867         compile-time test, rather than inspecting host and OS, to
98868         decide whether to define _LARGEFILE_SOURCE.
98869
98870 2000-05-01  Jim Meyering  <meyering@lucent.com>
98871
98872         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
98873
98874         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
98875         Based on a patch from Bruno Haible.
98876
98877 2000-05-01  Jim Meyering  <meyering@lucent.com>
98878
98879         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
98880
98881 2000-04-29  Jim Meyering  <meyering@lucent.com>
98882
98883         * lib/path-concat.c: Declare strdup only if it's not defined.
98884         * lib/canon-host.c: Likewise.
98885
98886 2000-04-28  Jim Meyering  <meyering@lucent.com>
98887
98888         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
98889         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
98890         is included first, then limits.h is included by locale.h by libintl.h.
98891         From John David Anglin.
98892
98893 2000-04-25  Jim Meyering  <meyering@lucent.com>
98894
98895         * lib/makepath.c (S_IRWXUGO): Define.
98896         (make_path): Always perform explicit chmod if MODE specifies any
98897         of the `special' permission bits.  Prompted by a bug report against
98898         install from Mate Wierdl and Joost van Baal.
98899
98900 2000-04-18  Jim Meyering  <meyering@lucent.com>
98901
98902         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
98903         (jm_PREREQ): Use it.
98904
98905 2000-04-18  Jim Meyering  <meyering@lucent.com>
98906
98907         * lib/README: New file.
98908
98909         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
98910         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
98911
98912 2000-04-17  Jim Meyering  <meyering@lucent.com>
98913
98914         Get it right :-)
98915         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
98916         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
98917         Suggestion from Akim Demaille.
98918
98919 2000-04-17  Jim Meyering  <meyering@lucent.com>
98920
98921         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
98922         the definition of it to rpl_strftime also defined-away the system's
98923         declaration.
98924
98925 2000-04-15  Jim Meyering  <meyering@lucent.com>
98926
98927         Use `C' to denote so-called `contiguous' files, the same way
98928         that tar does.
98929         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
98930         (ftypelet): Use S_ISCTG.
98931         From Michael Deutschmann.
98932
98933 2000-04-14  Jim Meyering  <meyering@lucent.com>
98934
98935         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
98936         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
98937         clobbered.
98938
98939 2000-04-14  Jim Meyering  <meyering@lucent.com>
98940
98941         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
98942
98943 2000-04-13  Jim Meyering  <meyering@lucent.com>
98944
98945         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
98946         AH_VERBATIM to insert required #ifndef into config.h.in.
98947         Suggestion from Akim Demaille.
98948
98949 2000-04-12  Jim Meyering  <meyering@lucent.com>
98950
98951         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
98952         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
98953         Christian Krackowizer.
98954
98955         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
98956         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
98957         (AC_SYS_LARGEFILE): Require.
98958         (AM_C_PROTOTYPES): Require.
98959
98960 2000-04-08  Jim Meyering  <meyering@lucent.com>
98961
98962         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
98963         names don't conflict.  Reported by Eli Zaretskii.
98964
98965 2000-04-07  Jim Meyering  <meyering@lucent.com>
98966
98967         * lib/putenv.c: Move inclusion of errno.h so it follows that of
98968         sys/types.h, to work around system header problems on AIX 3.2.5.
98969         From Bruno Haible.
98970
98971 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
98972
98973         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
98974         bug.  Deal with the different error behavior of Irix iconv.
98975
98976 2000-04-05  Paul Eggert  <eggert@twinsun.com>
98977
98978         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
98979         IRIX if the installer said otherwise.
98980
98981 2000-04-05  Jim Meyering  <meyering@lucent.com>
98982
98983         Portability tweaks required for ultrix4.3.
98984         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
98985         (jm_CHECK_DECLS): Add getutent to the list of functions.
98986         (_jm_DECL_HEADERS): Add utmpx.h.
98987         From John David Anglin.
98988
98989         * m4/strftime.m4: Back out the 2000-04-02 change.
98990         Instead of that change, simply undefine putenv in the test program.
98991
98992 2000-04-05  Jim Meyering  <meyering@lucent.com>
98993
98994         Portability tweaks required for ultrix4.3.
98995         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
98996         getutent.
98997         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
98998         * lib/canon-host.c: Declare strdup.
98999         * lib/path-concat.c: Likewise.
99000         From John David Anglin.
99001
99002 2000-04-04  Jim Meyering  <meyering@lucent.com>
99003
99004         Be more DOS 8.3-friendly.
99005         * lib/ref-add.sin: Renamed from ref-add.sed.in.
99006         * lib/ref-del.sin: Renamed from ref-del.sed.in.
99007         * lib/Makefile.am: Reflect renaming.
99008         Reported by Eli Zaretskii.
99009
99010         Use a temporary file name that won't clash with `charset.alias'
99011         in the DOS 8.3 name space.
99012         * lib/Makefile.am (charset_tmp): Define.
99013         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
99014         (uninstall-local): Likewise.
99015         Reported by Eli Zaretskii.
99016
99017 2000-04-03  Jim Meyering  <meyering@lucent.com>
99018
99019         * m4/gettext.m4: Fix typo in comment.
99020
99021         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
99022         textutils/configure.in).  Suggestion from Paul Eggert.
99023         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
99024
99025 2000-04-02  Paul Eggert  <eggert@twinsun.com>
99026
99027         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
99028         variable in the shell rather than using putenv, which isn't
99029         portable.  This avoids the configure-time inter-test dependency
99030         on the potentially-renamed putenv function.
99031
99032 2000-03-30  Paul Eggert  <eggert@twinsun.com>
99033
99034         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
99035         before checking struct stat.st_blksize, so that
99036         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
99037
99038 2000-03-29  Paul Eggert  <eggert@twinsun.com>
99039
99040         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
99041         since strftime.c uses HAVE_STRFTIME to decide whether to use
99042         the underlying strftime.
99043
99044 2000-03-29  Paul Eggert  <eggert@twinsun.com>
99045
99046         * lib/time/strftime.c (my_strftime): Make sure we call the system
99047         strftime, not ourselves, when invoking the underlying strftime.
99048
99049 2000-03-24  Jim Meyering  <meyering@lucent.com>
99050
99051         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
99052         (charset_alias): Define.
99053         (install-exec-local): Factor out common code.
99054         (uninstall-local): Split lines longer than 80.
99055         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
99056         (SUFFIXES): Define.
99057         (.sed.in.sed): New rule.  Don't redirect directly to $@.
99058         (CLEANFILES): Add ref-add.sed and ref-del.sed.
99059
99060 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
99061
99062         * lib/config.charset: Output a line containing "Packages using this
99063         file".
99064         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
99065         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
99066         ref-del.sed): New rules.
99067
99068 2000-03-17  Jim Meyering  <meyering@lucent.com>
99069
99070         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
99071         Otherwise, include <strings.h>
99072
99073 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
99074
99075         * lib/unicodeio.c (utf8_wctomb): New function.
99076         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
99077         format instead of in UCS-4 with platform dependent endianness.
99078
99079 2000-03-10  Jim Meyering  <meyering@lucent.com>
99080
99081         * m4/lib-check.m4: Look for getspnam in -lgen, too.
99082         From Marco Franzen.
99083
99084 2000-03-07  Paul Eggert  <eggert@twinsun.com>
99085
99086         * lib/savedir.c (savedir): Work even if directory size is
99087         negative; this can happen with some screwy NFS configurations.
99088
99089 2000-03-06  Jim Meyering  <meyering@lucent.com>
99090
99091         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
99092         if it's NULL (because we ran out of memory).  From Bruno Haible.
99093
99094 2000-03-05  Jim Meyering  <meyering@lucent.com>
99095
99096         * lib/localcharset.c ("path-concat.h"): Include.
99097         (get_charset_aliases): Use path_concat instead of ANSI string
99098         concatenation.
99099
99100         * lib/unicodeio.h (PARAMS): Define.
99101         Use it to guard prototype.
99102
99103 2000-03-04  Jim Meyering  <meyering@lucent.com>
99104
99105         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
99106         for lib/localcharset.c.
99107
99108 2000-03-04  Jim Meyering  <meyering@lucent.com>
99109
99110         * lib/Makefile.am (install-exec-local): Create $(libdir) before
99111         installing into it.
99112         (uninstall-local): Uncomment this rule so `make distcheck' works
99113         once again.
99114
99115         * lib/unicodeio.c (<errno.h>): Include it.
99116         (errno): Declare if not defined.
99117
99118         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
99119
99120         * lib/config.charset: New version, incorporating remarks from a linux
99121         i18n mailing list.  From Bruno Haible.
99122
99123 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
99124
99125         * m4/codeset.m4: New file.
99126         * m4/iconv.m4: New file.
99127         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
99128
99129 2000-03-03  Jim Meyering  <meyering@lucent.com>
99130
99131         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
99132
99133 2000-03-02  Jim Meyering  <meyering@lucent.com>
99134
99135         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
99136         the messages come out on separate lines.
99137
99138         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
99139         rather than jm_CHECK_DECLARATIONS.
99140         * m4/decl.m4: Remove now-unused file.
99141
99142         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
99143         geteuid.
99144
99145 2000-03-02  Jim Meyering  <meyering@lucent.com>
99146
99147         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
99148
99149 2000-03-01  Jim Meyering  <meyering@lucent.com>
99150
99151         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
99152         * lib/unicodeio.c: Likewise.
99153
99154 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
99155
99156         * lib/config.charset: New file.
99157         * lib/localcharset.c: New file.
99158         * lib/unicodeio.h, lib/unicodeio.c: New files.
99159         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
99160         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
99161         (noinst_HEADERS): Add unicodeio.h.
99162         (all-local, install-exec-local, charset.alias): New targets.
99163
99164 2000-02-28  Paul Eggert  <eggert@twinsun.com>
99165
99166         * lib/quotearg.c (ALERT_CHAR): New macro.
99167         (quotearg_buffer_restyled): Use it.
99168
99169 2000-02-27  Jim Meyering  <meyering@lucent.com>
99170
99171         * m4/check-decl.m4: Add getenv to the list.
99172
99173 2000-02-27  Jim Meyering  <meyering@lucent.com>
99174
99175         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
99176         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
99177
99178         * lib/backupfile.c: Guard inclusion of stdlib.h with
99179         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
99180         Declare malloc if needed.
99181
99182         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
99183         `#ifndef HAVE_DECL..'
99184         now that autoconf always defines the HAVE_DECL_ symbols.
99185         * lib/human.c: Likewise.
99186         * lib/same.c: Likewise.
99187         * lib/strtoumax.c: Likewise.
99188
99189         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
99190         declaration check was not run.
99191         * lib/hash.c: Likewise.
99192         * lib/human.c: Likewise.
99193         * lib/same.c: Likewise.
99194         * lib/strtoumax.c: Likewise.
99195
99196         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
99197         `.', then first look up the entire `.'-containing string as a login
99198         name.
99199
99200 2000-02-23  Jim Meyering  <meyering@lucent.com>
99201
99202         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
99203         in place of my hack.
99204
99205 2000-02-18  Paul Eggert  <eggert@twinsun.com>
99206
99207         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
99208         (textint): New typedef.
99209         (parser_control): Member year changed from int to textint.
99210         All uses changed.
99211         (YYSTYPE): Removed; replaced by %union with int and textint members.
99212         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
99213         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
99214         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
99215         (tSNUMBER, tUNUMBER): Now of type <textintval>.
99216         (date, number, to_year): Use width of number in digits, not its value,
99217         to determine whether it's a 2-digit year, or a 2-digit time.
99218         (yylex): Store number of digits of numeric tokens.
99219         Reported by John Kendall.
99220
99221         (parser_control): Changed from struct parser_control to typedef (for
99222         consistency).  All uses changed.
99223
99224         (tID): Removed; not used.
99225         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
99226
99227 2000-02-14  Paul Eggert  <eggert@twinsun.com>
99228
99229         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
99230         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
99231
99232 2000-02-12  Jim Meyering  <meyering@lucent.com>
99233
99234         * lib/userspec.c (ISDIGIT): Define it.
99235         (isdigit): Remove definition.
99236         (is_number): Use ISDIGIT, not isdigit.
99237         <libintl.h>: Include.
99238         (_ and N_): Define.
99239         (parse_user_spec): Mark translatable strings.
99240
99241 2000-02-10  Jim Meyering  <meyering@lucent.com>
99242
99243         With these changes, nanosleep.[ch] are finally enough like the other
99244         lib/* replacement files to compile on a few more losing systems.
99245
99246         * lib/nanosleep.h: Don't include config.h.
99247         Remove prototype from declaration of nanosleep.
99248         (PARAMS): Remove now-unneeded definition.
99249         * lib/nanosleep.c: #undef nanosleep.
99250         (rpl_nanosleep): Rename from nanosleep.
99251
99252 2000-02-10  Jim Meyering  <meyering@lucent.com>
99253
99254         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
99255         gnu_nanosleep to rpl_nanosleep.
99256
99257 2000-02-09  Jim Meyering  <meyering@lucent.com>
99258
99259         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
99260         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
99261
99262 2000-02-08  Akim Demaille  <akim@epita.fr>
99263
99264         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
99265         `[' and `]' and remove uses of `changequote'.
99266         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
99267         (AC_SYS_LARGEFILE): Likewise.
99268         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
99269         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
99270         of changequote.
99271         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
99272         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
99273         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
99274         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
99275
99276 2000-02-05  Jim Meyering  <meyering@lucent.com>
99277
99278         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
99279         Remove explicit use of AC_HEADER_TIME.  It is required by
99280         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
99281         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
99282         in autoconf whereby the expansion of the latter ended up preceding
99283         the expansion of its prerequisite, AC_HEADER_TIME.
99284         Reported by Volker Borchert.
99285
99286 2000-02-03  Jim Meyering  <meyering@lucent.com>
99287
99288         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
99289
99290 2000-02-03  Jim Meyering  <meyering@lucent.com>
99291
99292         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
99293         rather than with `#if HAVE_UTMPNAME'.
99294
99295 2000-02-02  Jim Meyering  <meyering@lucent.com>
99296
99297         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
99298         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
99299         Reported by Eli Zaretskii.
99300
99301 2000-02-01  Jim Meyering  <meyering@lucent.com>
99302
99303         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
99304
99305 2000-01-31  Jim Meyering  <meyering@lucent.com>
99306
99307         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
99308         functions.  Add the time.h and sys/time.h headers along with the
99309         AC_REQUIRE'ment of AC_HEADER_TIME.
99310
99311 2000-01-31  Jim Meyering  <meyering@lucent.com>
99312
99313         * lib/nanosleep.h (nanosleep): Guard declaration with
99314         `#if ! HAVE_DECL_NANOSLEEP'.
99315         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
99316         the declaration in that vendor's sys/timers.h.
99317         Reported by Christian Krackowizer.
99318
99319         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
99320         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
99321         (ISPRINT): Likewise.
99322         Reported by Tom Tromey.
99323
99324 2000-01-30  Jim Meyering  <meyering@lucent.com>
99325
99326         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
99327
99328         * m4/prereq.m4 (utmp_includes): Define.
99329         Check for ut_user and ut_name members in both struct utmpx
99330         and struct utmp.
99331
99332 2000-01-30  Jim Meyering  <meyering@lucent.com>
99333
99334         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
99335         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
99336         header files where only utmpx.ut_user is declared.
99337
99338         * lib/readutmp.h (UT_USER): Define.
99339
99340 2000-01-29  Jim Meyering  <meyering@lucent.com>
99341
99342         * m4/lib-check.m4: New file containing library-related checks from
99343         fileutils and sh-utils (textutils had none).
99344
99345 2000-01-28  Jim Meyering  <meyering@lucent.com>
99346
99347         * m4/perl.m4: Change format of warning message to look more like that
99348         from the missing script.  Suggestion from François Pinard.
99349
99350 2000-01-25  Jim Meyering  <meyering@lucent.com>
99351
99352         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
99353         well as time.h in the compile check.
99354         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
99355         Fix typo in cross-compiling case: s/yes/no/.
99356
99357 2000-01-23  Jim Meyering  <meyering@lucent.com>
99358
99359         * m4/jm-macros.m4: Move df-related tests here from
99360         fileutils/configure.in
99361
99362         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
99363         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
99364
99365         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
99366         s/space/ac_fsusage_space/.
99367         (jm_FILE_SYSTEM_USAGE): Take two parameters.
99368
99369         * m4/ftruncate.m4: New file (derived from part of
99370         fileutils/configure.in).
99371         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
99372         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
99373
99374         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
99375         AC_SUBST these here, rather than just in sh-util/configure.in, so
99376         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
99377         all the same.
99378         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
99379         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
99380         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
99381         (AC_SUBST(POW_LIBM)): Likewise.
99382         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
99383
99384 2000-01-23  Jim Meyering  <meyering@lucent.com>
99385
99386         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
99387         obstack.c.
99388
99389 2000-01-22  Jim Meyering  <meyering@lucent.com>
99390
99391         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
99392
99393         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
99394
99395         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
99396         configure.in
99397         (AC_CHECK_HEADERS): Likewise for sh-utils.
99398         (AC_CHECK_HEADERS): Likewise for textutils.
99399         Merge the three lists of headers.
99400
99401         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
99402         from fileutils' configure.in.
99403
99404         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
99405         code. Moved tests into their own function (_jm_DECL_HEADERS) in
99406         check-decl.m4.
99407
99408         * m4/check-decl.m4: Use #if rather than #ifdef.
99409         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
99410         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
99411         (_jm_DECL_HEADERS): Define new function.
99412         (jm_CHECK_DECLARATIONS): Require it.
99413
99414 2000-01-22  Jim Meyering  <meyering@lucent.com>
99415
99416         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
99417         [! HAVE_DECL_STRTOULL]: Declare strtoull.
99418         Required for some AIX systems.  Reported by Christian Krackowizer.
99419         [TESTING] (main): New function.
99420
99421         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
99422         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
99423         letters.
99424
99425         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
99426         iswprint.
99427
99428         * lib/strverscmp.c (ISDIGIT): Define.
99429         (strverscmp): Use ISDIGIT, not isdigit.
99430
99431 2000-01-19  Jim Meyering  <meyering@lucent.com>
99432
99433         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
99434         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
99435         defines `struct timespec' in <sys/time.h>
99436
99437         * m4/c-bs-a.m4: Remove uses of changequote altogether.
99438         Thanks to Akim for explaining.
99439
99440 2000-01-17  Paul Eggert  <eggert@twinsun.com>
99441
99442         * lib/nanosleep.c (nanosleep):
99443         Don't use SA_INTERRUPT to decide whether to call sigaction, as
99444         POSIX.1 doesn't require SA_INTERRUPT and some systems
99445         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
99446         it's been part of POSIX.1 since day 1 (in 1988).
99447
99448 2000-01-17  Jim Meyering  <meyering@lucent.com>
99449
99450         * lib/interlock: Remove unused file.  Reported by François Pinard.
99451
99452 2000-01-16  Paul Eggert  <eggert@twinsun.com>
99453
99454         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
99455         alert, backslash, formfeed, and vertical tab unnecessarily in
99456         shell quoting style.
99457
99458 2000-01-16  Jim Meyering  <meyering@lucent.com>
99459
99460         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
99461         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
99462         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
99463         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
99464
99465 2000-01-16  Jim Meyering  <meyering@lucent.com>
99466
99467         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
99468         because the latter didn't work.
99469
99470 2000-01-15  Jim Meyering  <meyering@lucent.com>
99471
99472         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
99473         (AC_REPLACE_FUNCS): Add memcpy and memset.
99474         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
99475         Add strpbrk.
99476         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
99477
99478 2000-01-12  Jim Meyering  <meyering@lucent.com>
99479
99480         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
99481         (jm_PREREQ): Use it.
99482         (jm_PREREQ_READUTMP): New macro.
99483         (jm_PREREQ): Use it.
99484
99485 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99486
99487         Quote multibyte characters correctly.
99488         * m4/c-bs-a.m4: New file.
99489         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
99490         (jm_PREREQ): Use it.
99491
99492 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99493
99494         * m4/uintmax_t.m4: Port to autoconf 2.13.
99495
99496 2000-01-08  Jim Meyering  <meyering@ascend.com>
99497
99498         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
99499         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
99500
99501 2000-01-04  Jim Meyering  <meyering@ascend.com>
99502
99503         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
99504         jm_STRUCT_DIRENT_D_TYPE.
99505         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
99506         jm_STRUCT_DIRENT_D_INO.
99507         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
99508         jm_STRUCT_UTIMBUF.
99509         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
99510         renamings.
99511         * m4/utime.m4: Likewise.
99512
99513         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
99514         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
99515
99516 2000-01-03  Paul Eggert  <eggert@twinsun.com>
99517
99518         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
99519         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
99520
99521 2000-01-02  Jim Meyering  <meyering@ascend.com>
99522
99523         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
99524         remember if this is necessary.
99525
99526 1999-12-26  Jim Meyering  <meyering@ascend.com>
99527
99528         * m4/jm-macros.m4: Use it here.
99529         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
99530
99531 1999-12-23  Jim Meyering  <meyering@ascend.com>
99532
99533         * m4/jm-macros.m4: Check for clock_gettime (moved from
99534         fileutils/configure.in)
99535         Check for gettimeofday.
99536
99537 1999-12-20  Jim Meyering  <meyering@ascend.com>
99538
99539         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
99540         autoconf-2.14a-1999-12-20.
99541
99542 1999-12-19  Jim Meyering  <meyering@ascend.com>
99543
99544         * m4/lstat-slash.m4: New file.
99545         * m4/jm-macros.m4: Use the new macro:
99546         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
99547
99548 1999-12-07  Jim Meyering  <meyering@ascend.com>
99549
99550         * m4/perl.m4: Require that File::Compare be available, too.
99551         Too many systems seem to lack it.
99552
99553         * m4/strftime.m4: Add checks for most of the cpp macros tested in
99554         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
99555
99556 1999-11-18  Paul Eggert  <eggert@twinsun.com>
99557
99558         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
99559         problem with the QNX 4.25 shell, which doesn't propagate exit
99560         status of failed commands inside shell assignments.
99561
99562 1999-11-17  Jim Meyering  <meyering@ascend.com>
99563
99564         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
99565
99566 1999-11-07  Jim Meyering  <meyering@ascend.com>
99567
99568         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
99569
99570 1999-11-06  Jim Meyering  <meyering@ascend.com>
99571
99572         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
99573         * m4/jm-macros.m4 (jm_MACROS): Use it here.
99574
99575 1999-11-05  Jim Meyering  <meyering@ascend.com>
99576
99577         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
99578         configure.in of textutils, fileutils, and sh-utils into this one
99579         (shared between those packages) file.
99580         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
99581         AC_STRUCT_ST_BLKSIZE.
99582
99583 1999-11-03  Jim Meyering  <meyering@ascend.com>
99584
99585         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
99586         of AC_CHECK_TYPE checks includes unistd.h.
99587         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
99588         Suggestion from Akim Demaille.
99589
99590 1999-10-30  Jim Meyering  <meyering@ascend.com>
99591
99592         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
99593         m4-quoted string.
99594         * m4/ls-mntd-fs.m4: Likewise.
99595         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
99596         * m4/jm-winsz1.m4: Likewise.
99597
99598         * m4/const.m4: Remove file, since the fix made it into the experimental
99599         version of autoconf.
99600         * m4/mktime.m4: Likewise.
99601
99602         * m4/check-type.m4: Remove file, now that the latest version of
99603         AC_CHECK_TYPE takes a third arg to specify additional #includes.
99604
99605         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
99606         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
99607         AC_CHECK_TYPE.
99608
99609 1999-10-04  Jim Meyering  <meyering@ascend.com>
99610
99611         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
99612
99613 1999-09-22  Paul Eggert  <eggert@twinsun.com>
99614
99615         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
99616         2.95.1 bug with HP-UX 10.20.
99617
99618 1999-09-17  Jim Meyering  <meyering@ascend.com>
99619
99620         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
99621         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
99622         due to missing strdup (against sh-utils-2.0).
99623
99624 1999-08-29  Jim Meyering  <meyering@ascend.com>
99625
99626         * m4/jm-macros.m4: Require jm_BISON.
99627         * m4/bison.m4: New file.
99628
99629 1999-08-17  Paul Eggert  <eggert@twinsun.com>
99630
99631         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
99632         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
99633
99634 1999-08-05  Jim Meyering  <meyering@ascend.com>
99635
99636         * m4/getline.m4: Rename test file from conftestdata to conftest.data
99637         to avoid conflicts with `conftest' on 8+3 filesystems.
99638         Suggestion from Eli Zaretskii.
99639
99640 1999-08-04  Jim Meyering  <meyering@ascend.com>
99641
99642         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
99643         fileutils and sh-utils (textutils's getline test was inadequate).
99644         (AM_FUNC_GETLINE): Run this test.
99645         (AC_CHECK_FUNCS): Check for getdelim.
99646         Reported by Bob Proulx.
99647
99648 1999-08-02  Jim Meyering  <meyering@ascend.com>
99649
99650         * m4/jm-macros.m4: Add a comment.
99651
99652 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99653
99654         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
99655         <inttypes.h> defines strtoumax as a macro (and not as a
99656         function).
99657
99658 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99659
99660         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
99661         that we can shift, multiply and divide unsigned long long
99662         values; Ultrix cc can't do it.
99663
99664 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99665
99666         * m4/mktime.m4: New file, which is a preview of what should appear
99667         in the next public autoconf release.
99668
99669 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99670
99671         * m4/lfs.m4: Remove this file.
99672         * m4/largefile.m4: New file.  It contains the old contents of
99673         lfs.m4, except that all names with prefix AC_LFS have been
99674         changed to use the prefix AC_SYS_LARGEFILE instead, to be
99675         compatible with future autoconf versions.  Also, some minor m4
99676         quoting problems have been fixed.
99677
99678 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99679
99680         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
99681         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
99682         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
99683         and simplify the shell code.
99684
99685 1999-08-01  Jim Meyering  <meyering@ascend.com>
99686
99687         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
99688         m4.
99689
99690 1999-07-20  Jim Meyering  <meyering@ascend.com>
99691
99692         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
99693
99694 1999-07-15  Jim Meyering  <meyering@ascend.com>
99695
99696         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
99697
99698 1999-05-22  Jim Meyering  <meyering@ascend.com>
99699
99700         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
99701
99702 1999-05-20  Jim Meyering  <meyering@ascend.com>
99703
99704         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
99705         Add a colon after each `then' in case $4 is empty.
99706
99707 1999-05-16  Jim Meyering  <meyering@ascend.com>
99708
99709         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
99710
99711 1999-05-10  Jim Meyering  <meyering@ascend.com>
99712
99713         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
99714
99715         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
99716         AC_FUNC_MKTIME.
99717
99718 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
99719
99720         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
99721
99722 1999-05-04  Paul Eggert  <eggert@twinsun.com>
99723
99724         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
99725         not CPPFLAGS, so that linking works correctly in IRIX.
99726
99727 1999-04-30  Paul Eggert  <eggert@twinsun.com>
99728
99729         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
99730
99731 1999-04-20  Paul Eggert  <eggert@twinsun.com>
99732
99733         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
99734         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
99735         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
99736         jm_AC_TYPE_UNSIGNED_LONG_LONG.
99737         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
99738
99739         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
99740
99741 1999-04-20  Jim Meyering  <meyering@ascend.com>
99742
99743         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
99744         AC_REPLACE xstroull if necessary.  From Paul Eggert.
99745         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
99746
99747 1999-04-18  Jim Meyering  <meyering@ascend.com>
99748
99749         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
99750         * m4/jm-macros.m4: Use it.
99751
99752 1999-04-06  Jim Meyering  <meyering@ascend.com>
99753
99754         * m4/strftime.m4: Remove test for %f.
99755
99756 1999-03-29  Jim Meyering  <meyering@ascend.com>
99757
99758         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
99759         superset of the AC_TYPE_* checks in the textutils, fileutils,
99760         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
99761         AC_TYPE_PID_T.
99762
99763 1999-03-28  Jim Meyering  <meyering@ascend.com>
99764
99765         * m4/jm-macros.m4: Define GNU_PACKAGE here.
99766         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
99767         replaced e.g., in the *.sh files of the sh-utils.
99768
99769 1999-03-20  Jim Meyering  <meyering@ascend.com>
99770
99771         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
99772         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
99773         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
99774
99775 1999-03-19  Jim Meyering  <meyering@ascend.com>
99776
99777         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
99778
99779 1999-03-12  Jim Meyering  <meyering@ascend.com>
99780
99781         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
99782
99783 1999-03-07  Jim Meyering  <meyering@ascend.com>
99784
99785         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
99786         declared.
99787
99788 1999-02-17  Jim Meyering  <meyering@ascend.com>
99789
99790         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
99791         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
99792
99793 1999-02-07  Jim Meyering  <meyering@ascend.com>
99794
99795         * m4/group-member.m4: New file -- extracted from sh-utils'
99796         configure.in.
99797
99798         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
99799         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
99800
99801 1999-02-06  Jim Meyering  <meyering@ascend.com>
99802
99803         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
99804         * m4/fnmatch.m4: Likewise.
99805         * m4/getgroups.m4: Likewise.
99806         * m4/lstat.m4: Likewise.
99807         * m4/malloc.m4: Likewise.
99808         * m4/putenv.m4: Likewise.
99809         * m4/realloc.m4: Likewise.
99810         * m4/regex.m4: Likewise.
99811         * m4/stat.m4: Likewise.
99812         * m4/strftime.m4: Likewise.
99813         Suggestion from Alain Magloire.
99814
99815         * m4/chown.m4: Use `.$ac_objext', not `.o'.
99816         * m4/fnmatch.m4: Likewise.
99817         * m4/getgroups.m4: Likewise.
99818         * m4/getline.m4: Likewise.
99819         * m4/lstat.m4: Likewise.
99820         * m4/malloc.m4: Likewise.
99821         * m4/memcmp.m4: Likewise.
99822         * m4/putenv.m4: Likewise.
99823         * m4/realloc.m4: Likewise.
99824         * m4/regex.m4: Likewise.
99825         * m4/stat.m4: Likewise.
99826         * m4/strftime.m4: Likewise.
99827         Suggestion from Alain Magloire.
99828
99829         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
99830         an argument.
99831
99832         * m4/regex.m4: Add a run-time Test for proper operation of
99833         re_compile_pattern.
99834
99835 1999-01-31  Jim Meyering  <meyering@ascend.com>
99836
99837         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
99838
99839 1999-01-30  Jim Meyering  <meyering@ascend.com>
99840
99841         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
99842
99843         * m4/jm-mktime.m4: Make this a wrapper around the official
99844         AM_FUNC_MKTIME rather than my private copy, now that the official one
99845         is up to date.
99846         * m4/mktime.m4: Remove file.
99847
99848         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
99849         * m4/uptime.m4: Likewise.
99850         * m4/uintmax_t.m4: Likewise.
99851
99852 1999-01-28  Jim Meyering  <meyering@ascend.com>
99853
99854         * m4/jm-macros.m4: Use jm_AFS.
99855         * m4/afs.m4: New file (from fileutils' configure.in).
99856
99857         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
99858         * m4/chown.m4: Likewise.
99859         * m4/d-ino.m4: Likewise.
99860         * m4/d-type.m4: Likewise.
99861         * m4/fnmatch.m4: Likewise.
99862         * m4/getgroups.m4: Likewise.
99863         * m4/gettext.m4: Likewise.
99864         * m4/jm-mktime.m4: Likewise.
99865         * m4/jm-winsz2.m4: Likewise.
99866         * m4/lcmessage.m4: Likewise.
99867         * m4/ls-mntd-fs.m4: Likewise.
99868         * m4/malloc.m4: Likewise.
99869         * m4/memcmp.m4: Likewise.
99870         * m4/putenv.m4: Likewise.
99871         * m4/realloc.m4: Likewise.
99872         * m4/st_mtim.m4: Likewise.
99873         * m4/strftime.m4: Likewise.
99874
99875 1999-01-16  Jim Meyering  <meyering@ascend.com>
99876
99877         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
99878         (ARGMATCH_DIE_DECL): Define.
99879
99880 1999-01-12  Jim Meyering  <meyering@ascend.com>
99881
99882         * m4/Makefile.am.in: Rewrite to avoid using fmt.
99883         Reported by Lars Hecking.
99884
99885 1999-01-10  Jim Meyering  <meyering@ascend.com>
99886
99887         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
99888         gross kludge.
99889         * m4/inttypes_h.m4: Likewise.
99890         * m4/lstat.m4: Likewise.
99891         * m4/malloc.m4: Likewise.
99892         * m4/readdir.m4: Likewise.
99893         * m4/realloc.m4: Likewise.
99894         * m4/st_dm_mode.m4: Likewise.
99895         * m4/stat.m4: Likewise.
99896         * m4/utimbuf.m4: Likewise.
99897         * m4/utimes.m4: Likewise.
99898
99899         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
99900         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
99901         comments in config.h.in are meaningful.
99902
99903         * m4/jm-macros.m4: Require autoconf-2.13 here.
99904
99905         * m4/regex.m4: By default, don't use the included regex.c on systems
99906         with glibc 2.  Suggestion from Uli Drepper.
99907
99908 1999-01-02  Jim Meyering  <meyering@ascend.com>
99909
99910         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
99911
99912 1998-12-18  Jim Meyering  <meyering@ascend.com>
99913
99914         * m4/Makefile.am.in (Makefile.am): Simplify rule.
99915         Based on a suggestion from Lars Hecking.
99916
99917 1998-11-16  Paul Eggert  <eggert@twinsun.com>
99918
99919         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
99920
99921 1998-11-16  Jim Meyering  <meyering@ascend.com>
99922
99923         * m4/lfs.m4: Double-quote the `uname...` expression.
99924
99925 1998-11-14  Jim Meyering  <meyering@ascend.com>
99926
99927         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
99928         * m4/stat.m4: Likewise.
99929
99930 1998-11-03  Jim Meyering  <meyering@ascend.com>
99931
99932         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
99933         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
99934
99935 1998-10-18  Jim Meyering  <meyering@ascend.com>
99936
99937         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
99938
99939 1998-10-17  Jim Meyering  <meyering@ascend.com>
99940
99941         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
99942         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
99943         calls for those previously hard-coded headers.  Instead, take a new
99944         parameter.
99945         (jm_CHECK_DECLARATIONS): Reflect interface change.
99946         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
99947         (jm_CHECK_DECL_LOCALTIME_R): New macro.
99948
99949         * m4/mktime.m4: Test for spring-forward gap before long-running test.
99950
99951 1998-10-14  Jim Meyering  <meyering@ascend.com>
99952
99953         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
99954         instead of "TZ=America/Vancouver".  From Paul Eggert.
99955
99956 1998-10-11  Jim Meyering  <meyering@ascend.com>
99957
99958         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
99959         This adds a test for a recently added compatibility fix for mktime.c.
99960         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
99961
99962 1998-09-27  Jim Meyering  <meyering@ascend.com>
99963
99964         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
99965
99966         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
99967         ../configure.in, including a change from Gordon Matzigkeit to allow
99968         cross-compiling for the Hurd.
99969
99970         * m4/glibc.m4: New file/macro to test for the GNU C Library
99971         versions 1 and 2.  From Gordon Matzigkeit.
99972         Indent.
99973
99974 1998-09-21  Jim Meyering  <meyering@ascend.com>
99975
99976         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
99977
99978 1998-08-18  Paul Eggert  <eggert@twinsun.com>
99979
99980         Port nanosecond-resolution times to UnixWare 2.1.2 and
99981         pedantic Solaris 2.6.
99982
99983         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
99984         AC_STRUCT_ST_MTIM.
99985         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
99986         Generate name of ns member, instead of just 1 or undef.
99987         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
99988
99989 1998-08-15  Jim Meyering  <meyering@ascend.com>
99990
99991         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
99992         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
99993         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
99994         instead of jm_TYPE_SSIZE_T.
99995
99996 1998-08-12  Jim Meyering  <meyering@ascend.com>
99997
99998         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
99999
100000 1998-08-02  Jim Meyering  <meyering@ascend.com>
100001
100002         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
100003         in acconfig.h manually.
100004
100005 1998-07-31  Paul Eggert  <eggert@twinsun.com>
100006
100007         * m4/st_mtim.m4: New file.
100008
100009 1998-07-28  Jim Meyering  <meyering@ascend.com>
100010
100011         * m4/utimes.m4: Undef stat.
100012
100013 1998-07-25  Jim Meyering  <meyering@ascend.com>
100014
100015         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
100016         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
100017
100018 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
100019
100020         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
100021         uid and gid actually remain unchanged.
100022
100023 1998-07-07  Jim Meyering  <meyering@ascend.com>
100024
100025         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
100026
100027 1998-07-04  Jim Meyering  <meyering@ascend.com>
100028
100029         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
100030         to prove that this macro can be used in packages without regex.c.
100031
100032 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
100033
100034         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
100035         is to be used.
100036
100037 1998-07-03  Jim Meyering  <meyering@ascend.com>
100038
100039         * m4/gettext.m4: Add -lintl if it's found to be necessary.
100040
100041         * m4/gettext.m4: New file -- from gettext-0.10.35.
100042         * m4/lcmessage.m4: Likewise.
100043         * m4/progtest.m4: Likewise.
100044
100045         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
100046         * m4/jm-macros.m4: Require the new macro.
100047
100048 1998-06-29  Jim Meyering  <meyering@ascend.com>
100049
100050         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
100051         for the definition of NGROUPS (used in a system header included
100052         by sys/mount.h).
100053
100054 1998-06-28  Jim Meyering  <meyering@ascend.com>
100055
100056         * m4/ls-mntd-fs.m4: New file.
100057         * m4/fstypename.m4: New file.
100058
100059         * m4/jm-macros.m4: Require the new macro.
100060         * m4/jm-glibc-io.m4: New file.
100061
100062 1998-05-19  Jim Meyering  <meyering@ascend.com>
100063
100064         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
100065         * m4/lchown.m4: New file.
100066
100067         * m4/Makefile.am.in: New file.
100068         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
100069
100070 1998-05-14  Jim Meyering  <meyering@ascend.com>
100071
100072         * m4/Makefile.am (EXTRA_DIST): Add them.
100073         * m4/jm-macros.m4: New file.
100074         * m4/utimbuf.m4: New file.
100075
100076 1998-05-12  Jim Meyering  <meyering@ascend.com>
100077
100078         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
100079
100080 1998-05-11  Jim Meyering  <meyering@ascend.com>
100081
100082         * m4/isc-posix.m4: New file.
100083
100084 1998-05-10  Jim Meyering  <meyering@ascend.com>
100085
100086         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
100087
100088 1998-05-09  Jim Meyering  <meyering@ascend.com>
100089
100090         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
100091         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
100092         with automake.
100093
100094         * m4/ssize_t.m4: New file.
100095         * m4/mktime.m4: Remove file -- the new automake has this now.
100096
100097 1998-04-26  Jim Meyering  <meyering@ascend.com>
100098
100099         * m4/assert.m4: New file.
100100         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
100101
100102 1998-04-05  Jim Meyering  <meyering@ascend.com>
100103
100104         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
100105         (jm_PREREQ): Use it here.
100106
100107 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
100108
100109         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
100110         in acconfig.h.
100111
100112 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
100113
100114         * m4/prereq.m4: New file.
100115         * m4/error.m4: New file.
100116         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
100117
100118 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
100119
100120         * m4/getline.m4: Don't set am_cv_func_working_getline before the
100121         cache-check for the same variable -- that defeated the purpose of
100122         the test; the test program was never run.  This was a problem only
100123         on systems with losing getline functions -- HP-UX 10.20 is one.
100124         Reported by Bjorn Helgaas.
100125
100126 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
100127
100128         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
100129
100130 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
100131
100132         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
100133
100134         * m4/const.m4: New file.  Use an initializer in this declaration
100135         typedef int charset[2]; const charset x;
100136         Reported by Bob Glickstein.
100137
100138 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
100139
100140         * m4/chown.m4: Fix reversed types on -1 args to chown.
100141         From Kaveh Ghazi.
100142
100143 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
100144
100145         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
100146         Add lseek and memchr.
100147
100148         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
100149         T.E.Dickey <dickey@clark.net> said that some older preprocessors
100150         have a 20-character limit on names.
100151
100152 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
100153
100154         * m4/inttypes_h.m4: New file.
100155         * m4/uintmax_t.m4: New file.
100156         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
100157
100158
100159         -----
100160
100161         Local Variables:
100162         coding: utf-8
100163         End:
100164
100165         Copyright (C) 1997-2013 Free Software Foundation, Inc.
100166
100167         Copying and distribution of this file, with or without
100168         modification, are permitted provided the copyright notice
100169         and this notice are preserved.